|
| hjælp til rotering Fra : Kristian Iversen |
Dato : 08-10-01 12:58 |
|
jeg har et problem...
jeg skal have noget til at rotere med en konstant hastighed...
men det kode jeg har øger den hastighed den kasse jeg har rotere med til den
når et bestemt punkt. Så falder den igen i hastighed. og begynder så at
kører den anden vej. hjælp
her kommer noget kode:
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
class Firkant extends Frame
{
AffineTransform at = new AffineTransform();
private int x;
private int y;
private int b;
private int h;
public Firkant(int x, int y, int b, int h)
{
this.x=x;
this.y=y;
this.b=b;
this.h=h;
}
public void tegnFirkant(Graphics g, int grad)
{
g.setColor(Color.blue);
at.rotate((Math.toRadians(grad)),175,96);
((Graphics2D)g).setTransform(at);
g.fillRect(x,y,h,b);
}
}
public class rotere extends Frame implements KeyListener
{
Firkant f1 = new Firkant(150,71,50,50);
int grad = 0;
public rotere()
{
super("Rotate Fætter");
setSize(640,640);
this.addKeyListener(this);
show();
}
public void paint(Graphics g)
{
f1.tegnFirkant(g, grad);
}
public void keyPressed(KeyEvent ke)
{
if(ke.getKeyCode() == ke.VK_RIGHT)
{
--grad;
repaint();
}
if(ke.getKeyCode() == ke.VK_LEFT)
{
++grad;
repaint();
}
}
public void keyReleased(KeyEvent ke)
{
}
public void keyTyped(KeyEvent ke)
{
}
public static void main(String []args)
{
new rotere();
}
}
| |
Kristian Iversen (08-10-2001)
| Kommentar Fra : Kristian Iversen |
Dato : 08-10-01 14:30 |
|
ahhh
fandt selv fejlen -> at.rotate((Math.toRadians(grad)),175,96);
skal istedet være -> at.setToRotation((Math.toRadians(grad)),175,96);
så nu er der ikke noget problem ; )
> jeg har et problem...
>
> jeg skal have noget til at rotere med en konstant hastighed...
>
> men det kode jeg har øger den hastighed den kasse jeg har rotere med til
den
> når et bestemt punkt. Så falder den igen i hastighed. og begynder så at
> kører den anden vej. hjælp
>
> her kommer noget kode:
>
> import java.awt.*;
> import java.awt.event.*;
> import java.awt.geom.*;
> class Firkant extends Frame
> {
> AffineTransform at = new AffineTransform();
> private int x;
> private int y;
> private int b;
> private int h;
>
> public Firkant(int x, int y, int b, int h)
> {
> this.x=x;
> this.y=y;
> this.b=b;
> this.h=h;
> }
> public void tegnFirkant(Graphics g, int grad)
> {
> g.setColor(Color.blue);
> at.rotate((Math.toRadians(grad)),175,96);
> ((Graphics2D)g).setTransform(at);
> g.fillRect(x,y,h,b);
> }
> }
> public class rotere extends Frame implements KeyListener
> {
> Firkant f1 = new Firkant(150,71,50,50);
> int grad = 0;
> public rotere()
> {
> super("Rotate Fætter");
> setSize(640,640);
> this.addKeyListener(this);
> show();
> }
>
> public void paint(Graphics g)
> {
> f1.tegnFirkant(g, grad);
> }
>
> public void keyPressed(KeyEvent ke)
> {
> if(ke.getKeyCode() == ke.VK_RIGHT)
> {
> --grad;
> repaint();
> }
> if(ke.getKeyCode() == ke.VK_LEFT)
> {
> ++grad;
> repaint();
> }
> }
>
> public void keyReleased(KeyEvent ke)
> {
> }
>
>
> public void keyTyped(KeyEvent ke)
> {
> }
>
> public static void main(String []args)
> {
> new rotere();
> }
> }
>
>
>
| |
|
|