(CanvsEngine) Collission problem ( TypeError: this._polygon[this._frame] is undefined) [on hold]
- by user2127102
How can i fix this error
TypeError: this._polygon[this._frame] is undefined
Heres my code:
html:
<!DOCTYPE Html>
<head>
<meta charset="utf-8">
<title>Project</title>
<link href="css/style.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="js/canvasengine-1.3.0.all.min.js"></script>
<script src="js/extends/Input.js"></script>
<script src="main.js"></script>
</head>
<body>
<canvas id="window"></canvas>
</body>
main.js:
var canvas = CE.defines("window").
extend(Input).
ready(function() {
canvas.Scene.call("Game");
});
canvas.Scene.new({
name: "Game",
materials: {
images: {
player: "img/character.png",
Wall: "img/TestWall.png"
}
},
ready: function(stage) {
var _canvas = this.getCanvas();
_canvas.setSize("browser", "strech");
this.Player = Class.new("Entity", [stage]);
this.Player.el.drawImage("player");
stage.append(this.Player.el);
this.Wall = Class.new("Entity", [stage]);
this.Wall.el.drawImage("Wall");
this.Wall.position(300, 0);
stage.append(this.Wall.el);
},
render: function(stage) {
//Controls ======
//Control calculations
var self = this;
this.Mover_A;
this.Mover_D;
this.Mover_W;
this.Mover_S;
canvas.Input.keyDown(Input.A, function(e) {
self.Mover_A = true;
});
canvas.Input.keyDown(Input.D, function(e) {
self.Mover_D = true;
});
canvas.Input.keyDown(Input.W, function(e) {
self.Mover_W = true;
});
canvas.Input.keyDown(Input.S, function(e) {
self.Mover_S = true;
console.log(self.Mover_S);
});
canvas.Input.keyUp(Input.A, function(e) {
self.Mover_A = false;
});
canvas.Input.keyUp(Input.D, function(e) {
self.Mover_D = false;
});
canvas.Input.keyUp(Input.W, function(e) {
self.Mover_W = false;
});
canvas.Input.keyUp(Input.S, function(e) {
self.Mover_S = false;
});
x = 0;
y = 0;
if(this.Mover_A)x -= 1.5; //A
if(this.Mover_D)x += 1.5;//D
if(this.Mover_W)y -= 1.5;//W
if(this.Mover_S)y += 1.5; //S
this.Player.move(x, y);
this.Player.hit("over", [this.Wall], function(state, el) {
this.Player.move(x * -1, y * -1);
});
//End Controls =====
stage.refresh();
}
});