Javascript 为什么可以';我的&x27;getData';我的代码可以访问函数吗?
对于大学,我必须制作一个带有MVC风格编码的javascript游戏。(模型、视图、控制器)。我对这个很陌生,所以请不要太苛刻。我得到以下错误:“UncaughtTypeError:无法读取未定义的属性'getData'。有人能帮我找出这个问题吗?我确信我的代码中充满了错误。我正在尝试在画布上绘制播放器模型。任何和所有的帮助将不胜感激!这是我的密码:Javascript 为什么可以';我的&x27;getData';我的代码可以访问函数吗?,javascript,Javascript,对于大学,我必须制作一个带有MVC风格编码的javascript游戏。(模型、视图、控制器)。我对这个很陌生,所以请不要太苛刻。我得到以下错误:“UncaughtTypeError:无法读取未定义的属性'getData'。有人能帮我找出这个问题吗?我确信我的代码中充满了错误。我正在尝试在画布上绘制播放器模型。任何和所有的帮助将不胜感激!这是我的密码: var GOBLINS = GOBLINS || {}; GOBLINS.View = function() {}; GOBLINS.View
var GOBLINS = GOBLINS || {};
GOBLINS.View = function() {};
GOBLINS.View.prototype.draw = function(objects) {
for(i=0; i < objects.length; i++) {
ctx.drawImage(objects[i],0,0);
};
};
GOBLINS.View.prototype.update = function(data){
this.draw(data);
};
GOBLINS.Model = function() {
this.data = [];
};
GOBLINS.Model.prototype.player = {
hitPoints: 25,
x: 15,
y: 20,
img: new Image(),
push: function() {
data.push(GOBLINS.Model.player.img);
}
};
GOBLINS.Model.prototype.getData = function(recall){
recall(this.data);
};
GOBLINS.Controller = function() {
var M = new GOBLINS.Model();
var V = new GOBLINS.View();
this.mainLoop();
};
GOBLINS.Controller.prototype.mainLoop = function() {
var self = this;
this.M.getData(function(data){
self.V.update(data);
});
window.requestAnimationFrame(function(){
self.mainLoop();
});
};
window.onload = function() {
var game = new GOBLINS.Controller();
GOBLINS.Model.player.img.src = "Image/Player.png";
var c=document.getElementById("gameCanvas");
var ctx=c.getContext("2d");
};
var GOBLINS=GOBLINS | |{};
View=function(){};
GOBLINS.View.prototype.draw=函数(对象){
对于(i=0;i
因为M
和V
不属于这个
。它们在本地的作用域是控制器方法
var M = new GOBLINS.Model();
var V = new GOBLINS.View();
应该是
this.M = new GOBLINS.Model();
this.V = new GOBLINS.View();
非常感谢你。我错误地写下了教师代码。