| This simple program demonstrates the four methods that are called in response to mouse activity: onMousePressed(), onMouseMoved(), onMouseDragged(), and onMouseReleased(). Open the browser's Java Console to see the output of the println() statements. | |
|
ClickAndClack.java
import ucigame.*;
import java.util.Date;
public class ClickAndClack extends Ucigame
{
Sprite car1, car2;
Sprite ball;
Sprite paddle;
boolean car1OnTop = true;
public void setup()
{
car1 = makeSprite(getImage("images/car1.png"));
car2 = makeSprite(getImage("images/car2.png"));
window.size(250, 250);
window.title("Click and Clack");
framerate(20);
canvas.background(100, 200, 200);
car1.position(10, 10);
car2.position(75, 125);
ball = makeSprite(getImage("images/ball.gif", 255));
paddle = makeSprite(getImage("images/paddle.png"));
ball.position(100, 100);
ball.motion(random(1,3), random(1,3));
paddle.position(200, 200);
paddle.motion(random(2,4), random(2,4));
keyboard.typematicOff();
}
public void draw()
{
canvas.clear(); // draw background
ball.move();
ball.bounceIfCollidesWith(TOPEDGE, LEFTEDGE, RIGHTEDGE, BOTTOMEDGE);
paddle.move();
paddle.bounceIfCollidesWith(TOPEDGE, LEFTEDGE, RIGHTEDGE, BOTTOMEDGE);
if (car1OnTop)
{
car2.draw();
car1.draw();
}
else
{
car1.draw();
car2.draw();
}
ball.draw();
paddle.draw();
}
public void onMousePressed()
{
println((new Date()) + " Mouse pressed, sprite = " + getName(mouse.sprite()));
}
public void onMouseMoved()
{
println((new Date()) + " Mouse moved, sprite = " + getName(mouse.sprite()));
}
public void onMouseDragged()
{
println((new Date()) + " Mouse dragged, sprite = " + getName(mouse.sprite()));
}
public void onMouseReleased()
{
println((new Date()) + " Mouse released, sprite = " + getName(mouse.sprite()));
}
public void onKeyPress()
{
if (keyboard.isDown(keyboard.SHIFT))
car1OnTop = !car1OnTop;
}
public String getName(Sprite s)
{
if (s == car1) return "car1";
if (s == car2) return "car2";
if (s == ball) return "ball";
if (s == paddle) return "paddle";
if (s == null) return "null";
return "????"; // this shouldn't happen
}
}
|
|