我试图做出一种构造函数,以便将来创建实体时更容易。现在我已经完成了第一对夫妻的事情,但是它并没有看到实体函数中的函数。画布实体构造函数
我的错误:无法未定义
我的代码读取属性“更新”:
(function() {
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var entity = function(type,x,y,vx,vy,life) {
var self = {
x : canvas.width/2,
y : canvas.height/2,
vx : 5,
vy : 5,
life : 100,
pressingDown : false,
pressingUp : false,
pressingLeft : false,
pressingRight : false
};
if(self.type == 'player') {
alert('we got a player');
};
self.update = function(){
self.updatePosition();
self.draw();
};
self.updatePosition = function(){
console.log('position');
};
self.draw = function(){
console.log('drawing');
};
};
var actor = function(type,x,y,vx,vy,life) {
var self = entity(type, 25, 25, 5, 5, 100);
return self;
};
var Player = function() {
var p = actor('player', 25, 25, 5, 5, 100);
p.pressingDown = false;
p.pressingUp = false;
p.pressingLeft = false;
p.pressingRight = false;
};
var update = function(){
player.update();
};
var player = new Player();
setInterval(function(){
update();
},30)
})();
任何人能发现我在做什么错在这里?非常感谢!
通过添加返回自我来实现它的工作;在实体功能的底部,感谢所有人! – Wesleyvans