java怎么随机的落下球_Java ME中写的随机移动的小球,怎么改成让它从上到下移动?...

这个程序运行后小球是随机移动的,现在想让它从上到下移动,不知道从哪里改,怎么改。完整程序如下:自己写的随机移动的小球importjavax.microedition.midlet.MIDlet;importjavax.mic...

这个程序运行后小球是随机移动的,现在想让它从上到下移动,不知道从哪里改,怎么改。完整程序如下:

自己写的随机移动的小球

import javax.microedition.midlet.MIDlet;

import javax.microedition.lcdui.*;

import java.util.*;

import javax.microedition.midlet.MIDletStateChangeException;

public class BallTest5 extends MIDlet implements CommandListener {

private Display display;

private Command cmdExit;

private Ball ball;

public BallTest5() {

// TODO 自动生成构造函数存根

display=Display.getDisplay(this);

ball=new Ball(display);

cmdExit=new Command("退出",Command.SCREEN,1);

ball.addCommand(cmdExit);

ball.setCommandListener(this);

}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {

// TODO 自动生成方法存根

}

protected void pauseApp() {

// TODO 自动生成方法存根

}

protected void startApp() throws MIDletStateChangeException {

// TODO 自动生成方法存根

ball.start();

}

public void commandAction(Command c,Displayable d)

{

if(c==cmdExit)

{

notifyDestroyed();

}

}

public class Ball extends Canvas implements Runnable{

Random random=new Random();

int posX=20;

int posY=20;

int ballsize=60;

Display display;

public Ball(Display display)

{

super();

this.display=display;

}

public void run()

{

while(true)

{

this.posX=(random.nextInt()>>>1)%(this.getWidth()-20)+10;

this.posY=(random.nextInt()>>>1)%(this.getHeight()-20)+10;

try{

Thread.sleep(2000);

}

catch(Exception e)

{

e.printStackTrace();

}

repaint();

}

}

public void start()

{

display.setCurrent(this);

Thread t=new Thread(this);

t.start();

repaint();

}

protected void paint(Graphics g)

{

int x=g.getClipX();

int y=g.getClipY();

int width=g.getClipWidth();

int height=g.getClipHeight();

g.setColor(230);

g.fillRect(x, y, width, height);

g.setColor(10);

g.fillArc(posX, posY, ballsize, ballsize, 0, 360);

}

}

}

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值