Possible Duplicate:
set attribute with javascript super methodकॉलिंग उपवर्ग से सुपर क्लास विधि - जावास्क्रिप्ट
मैं मनोरंजन के लिए एचटीएमएल 5 में एक सरल खेल बनाने के लिए कोशिश कर रहा हूँ। मेरे पास एक एंटिटी क्लास है जिसे प्लेयर क्लास का सुपरक्लास माना जाता है।
function Entity(x, y) {
this.x = x;
this.y = y;
this.tick = function() {
//Do generic stuff
}
}
function Player(x, y) {
this.parent.constructor.call(this, x, y);
this.tick = function() {
//Do player-specific stuff
this.parent.tick.call(this);
}
}
Player.prototype = new Entity();
Player.prototype.constructor = Player;
Player.prototype.parent = Entity.prototype;
समस्या इस लाइन पर है:
this.parent.tick.call(this);
मैं क्रोम का JavaScript कंसोल में दिखाया गया है कोई त्रुटि मिलती है: "Uncaught TypeError: विधि कॉल नहीं कर सकता अपरिभाषित की 'कॉल'"।
मुझे यह नहीं मिला है और मैंने एक समान समस्या के पदों को खोजने का प्रयास करने में काफी समय लगाया है। सुपरक्लास 'कन्स्ट्रक्टर को मेरा कॉल ठीक काम करता है लेकिन सुपरक्लास' टिक विधि पर कॉल काम नहीं करता है।
मैं गेम बनाने के लिए बहुत नया हूं इसलिए मुझे नहीं पता कि यह एक अच्छा सेटअप है (उपclass टिक से सुपरक्लस टिक को कॉल करना)। यदि लोग बेहतर, अधिक सामान्य तरीके से उपयोग करते हैं, तो कृपया बताएं।
धन्यवाद।
आपके पास प्रोटोटाइप पर जेनेरिक सामान क्यों नहीं है? आप इसे आसानी से एक्सेस कर सकते हैं। – Bergi
जावास्क्रिप्ट में कोई शास्त्रीय विरासत नहीं है जैसे आप जावा जैसी अन्य शास्त्रीय भाषाओं से उपयोग किए जाते हैं। आपको प्रोटोटाइप विरासत में पढ़ना चाहिए और शास्त्रीय के लिए इसके मतभेदों के बारे में जानना चाहिए। – Christoph