Gå til innhold

Problem med å bevege objekt (acm).


Anbefalte innlegg

Hei, sitter med et problem i Java der jeg skal flytte på et objekt fortløpende. Objektet skal følge en kulebane og forestille et skudd.

 

Hele kulebanen er regnet ut og foregår i en while-loop der fart i y-retning blir endret underveis. Inne i while-loopen har jeg brukt objekt.move(dx, dy). Men kulen er kun synlig i den siste posisjonen av banen istedet for i alle punktene den følger. Har prøvd pause(100); i while-loopen for å se om det bare går for fort for meg, men forsatt ingenting.

 

Har prøvd å isolere problemet med å lage en liten test av det. Koden for bevegelsen er slik:

 

http://pastebin.com/wGfdiHTP

 

Men denne ser ut til å fungere helt fint og jeg vet at kulebanen stemmer. (Lagde eget objekt for hvert punkt).

 

Noen som har vert inne på et lignende problem og kan hjelpe?

 

På forhånd takk :)

Lenke til kommentar
Videoannonse
Annonse

Prøvde å lage en kule som bevegde seg langs y-aksen (ingen bereginger for banen), og jeg endte opp med dette:

 

 

import acm.graphics.*;
import acm.program.*;
public class Ball extends GraphicsProgram {

/* Private instance variables */
private GImage bullet;
private double xVel = 5.0;
private double yVel = 0.0;

/* Private constants */
private static final int DELAY = 50;


public void run() {
 setup();

 while (bullet.getX() &--#60; getWidth()) {
  moveBullet();
  pause(DELAY);
 }
}
private void setup() {
 bullet = new GImage("http://cdn1.iconfinder.com/data/icons/momenticons-gloss-basic/momenticons-gloss-basic/32/bullet-black.png");
 add(bullet);
}

private void moveBullet() {
 bullet.move(xVel, yVel);
}
}

 

 

 

Vet ikke hva problemet ditt kan være, men kanskje du finner ut av det, ved å se på eksempelet over.

 

Eventuelt legg ut resten av koden (beregningene og animasjonen), så det blir lettere å skjønne feilen.

Endret av Fred7555
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...