29. august 2013 - 23:13
Der er
8 kommentarer og 1 løsning
Få et objekt til at køre i en bue over skærmen? Sinuskurve?
Hej Eksperten, Jeg sidder og rode med at få et objekt til at køre i en bue over skærmen, men kan ikke lige umiddelbart se hvordan jeg skal gøre dette? Snakker vi noget sinus og cosinus? Og hvordan bærer jeg mig ad med dette?
Annonceindlæg fra DE-CIX
29. august 2013 - 23:24
#1
x = x0 + r * cos(v) y = y0 + r * sin(v) for forskelleige vaerdier af v (x0, y0 og r givne) burde goer det
29. august 2013 - 23:27
#2
Hvordan gør jeg dette i Java?
29. august 2013 - 23:44
#3
Bruger du Swing?
29. august 2013 - 23:53
#4
Nej, jeg forsøger at lave det i awt.
30. august 2013 - 00:02
#5
Du laver vel en klasse som extender en AWT klasse og overrider paint med en som skriver. Jeg kab evt. proeve at bixe et eksempel.
30. august 2013 - 00:07
#6
Det må du meget gerne.
30. august 2013 - 01:54
#7
import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Timer; import java.util.TimerTask; public class Moving extends Frame { private int x0; private int y0; private int r; private double v; private double dv; private int siz; private Timer timer; public Moving() { setSize(800, 800); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); x0 = 400; y0 = 1000; r = 800; v = 90; dv = -0.1; siz = 20; timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { v += dv; if(v > 110 || v < 70) dv = -dv; Moving.this.repaint(); } }, 25, 25); } public void paint(Graphics g) { g.setColor(Color.RED); g.fillOval((int)(x0 + r * Math.cos(v/180.0*Math.PI) - siz), (int)(y0 - r * Math.sin(v/180.0*Math.PI) - siz), 2*siz, 2*siz); } public static void main(String[] args) { System.setProperty("sun.awt.noerasebackground", "true"); Moving f = new Moving(); f.setVisible(true); } }
30. august 2013 - 01:54
#8
Koden er noget primitiv, men jeg er ikke saa god til AWT.
30. august 2013 - 01:54
#9
Og et svar fra mig.
Kurser inden for grundlæggende programmering