Difference between revisions of "Animation"

From Progzoo
Jump to: navigation, search
(Lots of squares - one is a different colour)
(Lots of squares - one is a different colour)
Line 112: Line 112:
 
<![CDATA[
 
<![CDATA[
 
static void drawFrame(Graphics2D g, int frame){
 
static void drawFrame(Graphics2D g, int frame){
  int r = 20;
 
 
   g.setColor(Color.white);
 
   g.setColor(Color.white);
 
   g.fillRect(0,0,150,100);
 
   g.fillRect(0,0,150,100);
Line 120: Line 119:
 
     else
 
     else
 
       g.setColor(Color.yellow);
 
       g.setColor(Color.yellow);
 +
    g.fillRect(100*i/20,0,100/20,100/20);
 +
    g.setColor(Color.black);
 +
    g.drawRect(100*i/20,0,100/20,100/20);
 +
  }
 +
}
 +
]]></prog>
 +
</question>
 +
 +
==Lots of squares - lots of colours==
 +
<question copyFile="classes.jar" imgOut='anim.gif'
 +
width='150' height='100' className="Anim"
 +
classpath="classes.jar">
 +
We draw 20 squares.
 +
 +
Each of them is yellow - except one.
 +
 +
<prog>
 +
<![CDATA[
 +
static void drawFrame(Graphics2D g, int frame){
 +
  g.setColor(Color.white);
 +
  g.fillRect(0,0,150,100);
 +
  Color [] roy = {Color.red, Color.orange, Color.yellow, Color.green, Color.blue, Color.indigo, Color.violet};
 +
  for(int i=0;i<20;i++){
 +
    g.setColor(roy[(frame+i) % roy.length]);
 
     g.fillRect(100*i/20,0,100/20,100/20);
 
     g.fillRect(100*i/20,0,100/20,100/20);
 
     g.setColor(Color.black);
 
     g.setColor(Color.black);

Revision as of 18:45, 6 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]

Lots of squares - one is a different colour

We draw 20 squares.

Each of them is yellow - except one.


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

Lots of squares - lots of colours

We draw 20 squares.

Each of them is yellow - except one.


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