Ich versuche, Objekte auf meinem Spielupdate zu erstellen und sie zu verschieben. Das ist meine Banane Objekt:Wie erstellt man Objekte zur Laufzeit und bewegt sie?
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;
};
Und das ist die Move-Methode:
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;
};
Dies ist der Spiel-Update Teil:
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();
}
};
Spiel Draw:
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);
};
Ich habe versucht, dies an mehrere Personen zu stellen, aber ich kann keine Antwort dafür finden.
Sie haben einen Tippfehler in 'update' - sollte' length' sein. Wo ist deine Animationsschleife? – markE
Ich habe eine Zeichenfunktion 'Game.draw = Funktion() { \t this.context.drawImage (Straße, 0,0, rw, rh); this.context.drawImage (this.player.player_image, \t \t \t \t \t \t this.player.pos_x, \t \t \t \t \t \t this.player.pos_y, \t \t \t \t \t \t this.player .with, \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 dies. Banane.Höhe); }; ' –
Sie müssen eine Animationsschleife haben, um Ihre Spielelemente zu" bewegen ". Hier sind einige [Dokumentation] (http://stackoverflow.com/documentation/html5-canvas/1892/introduction-to-html5-canvas/11659/detecting-mouse-position-on-the-canvas), die zeigen, wie man ein Animationsschleife. – markE