1
私は自分のゲームアップデートでオブジェクトを作成して移動しようとしています。実行時にオブジェクトを作成して移動するには?
function Banana() {
this.height = 1.96;
this.width = 3.955;
this.pos_x = CENTER - this.width/2;
this.pos_y = -475;
this.banana_image = banana_image;
};
そして、これはMoveメソッドである:これは私のバナナのオブジェクトである
Banana.prototype.move = function(){
if (this.pos_y > 500) {
//this.banana_image.parentElement.removeChild(this.banana_image);
}
this.height += ZOOM_RATE;
this.width += ZOOM_RATE;
this.pos_y += 3;
this.pos_x -= SIDES_RATE;
};
これは、ゲームのアップデート一部です:
Game.update = function() {
this.player.move();
//creating bananas
if (objs.lenght <= 0) {
this.banana = new Banana();
} else {
for (i = 0; i < 10; i++) {
objs.push(new Banana());
}
}
//moving bananas
for (i = 0; i < objs.lenght; i++) {
this.objs[0].move();
}
};
ゲームドロー:
function Game.draw = function() {
this.context.drawImage(road, 0,0, rw, rh);
this.context.drawImage(
this.player.player_image,
this.player.pos_x, this.player.pos_y,
this.player.width, this.player.height);
this.context.drawImage(
this.banana.banana_image,
this.banana.pos_x, this.banana.pos_y,
this.banana.width, this.banana.height);
};
これを複数の人に聞いてみましたが、私はそれに対する答えを見つけることができません。
あなたは 'update'にタイプミスがあります。これは' length'でなければなりません。あなたのアニメーションループはどこですか? – markE
私はDraw関数を持っています。 'Game.draw = function(){ \t this.context.drawImage(road、0,0、rw、rh); this.context.drawImage(this.player.player_image、\t \t this.player.pos_x \t \t \t \t、 \t \t \t \t \t \t this.player.pos_y、 \t \t \t \t \t \t this.player .width、 \t \t \t \t \t \t this.player.height); this.context.drawImage(this.banana。banana_image、\t \t \t \t \t \t this.banana.pos_x 、 \t \t \t \t \t \t this.banana.pos_y、 \t \t \t \t \t \t this.banana.width、 \t \t \t \t \t \tこれ。バナナ。高さ); }; –
ゲームアイテムを「移動」するにはアニメーションループが必要です。ここではいくつかの[Documentation](http://stackoverflow.com/jp/documentation/html5-canvas/1892/introduction-to-html5-canvas/11659/detecting-mouse-position-on-the-canvas)を使ってアニメーションループ。 – markE