問題のフィドル: http://jsfiddle.net/dqDAv/2/
146行目で、オブジェクトをメソッド"Player"
のパラメータとして渡しますsprite
render()
物体
var player = new Sprite({
'left': spriteLeftAnim,
'right': spriteRightAnim
}, 'right', canvas.width / 2, canvas.height / 2, 44, 108, 100);
方法
function Render() {
ctx.clearRect(0,0, 500, 500);
ctx.beginPath();
ctx.moveTo(0,400);
ctx.lineTo(500,400);
ctx.stroke();
ctx.closePath();
ctx.stroke();
drawSprite(player); // <- Parameter
}
それで、なぜsprite
定義されていないのですか:
function drawSprite(sprite) {
ctx.drawImage(
sprite.stateAnimations[sprite.currentState].tileset.image,
sprite.stateAnimations[sprite.currentState].frames[sprite.stateAnimations[sprite.currentState].currentFrame].split(',')[0] * sprite.stateAnimations[sprite.currentState].tileset.tileWidth,
sprite.stateAnimations[sprite.currentState].frames[sprite.stateAnimations[sprite.currentState].currentFrame].split(',')[1] * sprite.stateAnimations[sprite.currentState].tileset.tileHeight,
sprite.stateAnimations[sprite.currentState].tileset.tileWidth,
sprite.stateAnimations[sprite.currentState].tileset.tileHeight,
Math.round(sprite.x),
Math.round(sprite.y),
sprite.width,
sprite.height
);
}