|
Raggio=45, Velocità=10 px/s
Codice Html<APPLET CODE="MuoviCerchio.class" WIDTH="300" HEIGHT="100">
<PARAM name=Raggio value="45">
<PARAM name=Velocita value="100">
</APPLET>Raggio=30, Velocità=100 px/s
Codice Html<APPLET CODE="MuoviCerchio.class" WIDTH="300" HEIGHT="100">
<PARAM name=Raggio value="30">
<PARAM name=Velocita value="10">
</APPLET>
Codice Javaimport java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.Timer;
public class MuoviCerchio extends Applet implements ActionListener
{
final int xMin=0;
int xMax, // limiti sinistro e destro
xC, // coordinate dell'angolo in alto
yC; // del cerchio
int raggio,
diametro;
int ms; // ogni quanti millisecondi si muove
Timer t; // per regolare l'animazione
boolean versoDestra; // da che parte va
public void init()
{
try
{
raggio=Integer.parseInt(getParameter("Raggio"));
}
catch(Exception e)
{
raggio=25;
}
try
{
ms=Integer.parseInt(getParameter("Velocita"));
}
catch(Exception e)
{
ms=10;
}
diametro=2*raggio;
xC = 0; // parte da destra
versoDestra = true; // verso destra
t=new Timer(ms, this);
t.start();
setBackground(Color.black);
setForeground(Color.gray);
}
public void paint(Graphics g)
{
g.drawOval(xC, yC, diametro, diametro);
}
public void actionPerformed(ActionEvent e)
{
Dimension d = getSize();
xMax=d.width-diametro;
yC =d.height/2-raggio;
if(versoDestra)
{
if (xC > xMax)
{
versoDestra=false;
xC=xMax;
}
else
xC++;
}
else
{
if (xC <= xMin)
{
versoDestra=true;
xC=xMin;
}
else
xC--;
}
repaint();
}
}//class |
|