naish Skrevet 30. april 2012 Del Skrevet 30. april 2012 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
Fred7555 Skrevet 30. april 2012 Del Skrevet 30. april 2012 (endret) 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 30. april 2012 av Fred7555 Lenke til kommentar
Kiff Skrevet 2. mai 2012 Del Skrevet 2. mai 2012 Tvinger du repaint etter du har oppdatert posisjon? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå