Difference between revisions of "Animation"

From Progzoo
Jump to: navigation, search
(Shooting Star)
(Rotating Star)
Line 80: Line 80:
 
  width='150' height='100' className="Anim"
 
  width='150' height='100' className="Anim"
 
  classpath="classes.jar">
 
  classpath="classes.jar">
 +
 
<prog>
 
<prog>
 
static void drawFrame(Graphics2D g, int frame){
 
static void drawFrame(Graphics2D g, int frame){
Line 89: Line 90:
 
   g.fillRect(0,0,300,200);
 
   g.fillRect(0,0,300,200);
 
   g.setColor(Color.yellow);
 
   g.setColor(Color.yellow);
   g.translate(10*frame,10*frame);
+
   g.translate(75,50);
 
   g.scale(r/100.0,r/100.0);
 
   g.scale(r/100.0,r/100.0);
   g.rotate(2*i*Math.PI/5/20);
+
   g.rotate(2*frame*Math.PI/5/20);
 +
  g.setRenderingHint(
 +
    RenderingHints.KEY_ANTIALIASING,
 +
    RenderingHints.VALUE_ANTIALIAS_ON);
 
   g.fillPolygon(star);
 
   g.fillPolygon(star);
 
}
 
}
 
 
</prog>
 
</prog>
 
</question>
 
</question>

Revision as of 10:29, 1 December 2015

The animations here rely on Gif89Encoder available from http://jmge.net/java/gifenc/ developed by JMG Elliot.

Moving block

You can click on "Show" to see the full program.

The method drawFrame is called 20 times; frame is a different value each time, the graphics object is new each time. Draws a yellow rectangle at coordinates (50,8*frame-20) which is (50,-20), (50,-12), (50,-2), (50,6) ... (50,172) So the yellow box appears at the top of the image and moves down a little with each frame.


[Font] [Default] [Show] [Resize] [History] [Profile]

Shooting Star

In this example both the x and the y coordinates change at each frame and so the star moves diagonally.


[Font] [Default] [Show] [Resize] [History] [Profile]

Rotating Star


[Font] [Default] [Show] [Resize] [History] [Profile]