J2ME关于一个不断弹起落下的小球的按钮事件问题

原创 2017年01月03日 00:34:00
一个不断弹起落下的小球的按钮事件问题,当我一直按继续按钮,小球的速度会不断增加,本来不想让它增加,这个怎么解决?附源代码:
package fourth;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class MIDletAction extends MIDlet {
private BallCanvas bc = new BallCanvas();
private Display dis;



public MIDletAction() {

}
protected void startApp() throws MIDletStateChangeException {
dis = Display.getDisplay(this);
dis.setCurrent(bc);
//bc.setTitle("移动的小球");



}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {


}

protected void pauseApp() {


}

class BallCanvas extends Canvas implements Runnable,CommandListener{
private int left = 50;
private int top = 50;
private int d = 100;
private int DIR = 1;
private Command cmdon = new Command("继续",Command.SCREEN,1);
private Command cmdpass = new Command("暂停",Command.STOP,1);
private Thread th;
private boolean RUN = true;


public BallCanvas(){
//this.addCommand(cmdon);
this.addCommand(cmdpass);
this.addCommand(cmdon);
this.setCommandListener(this);
th = new Thread(this);
th.start();
}
public void commandAction(Command c ,Displayable d){
if(c == cmdon){

RUN = true;
th = new Thread(this);
th.start();
}else if(c == cmdpass){

RUN = false;
th = null;
}
}
public void paint(Graphics g){
g.setColor(0,255,0);
g.fillRect(0,0,this.getWidth(),this.getHeight());
g.setColor(255,0,0);
g.fillArc(left, top,d,d,0,360);


}
public void run(){
while (RUN){
if(DIR == 1){
top+=3;
d--;
if(top >= this.getHeight()-d){
DIR = 2;
}
}
if(DIR == 2){
top-=3;
d++;
if(top <= 0){
DIR = 1;
}
}

repaint();
try{
Thread.currentThread().sleep(10);
}catch(Exception ex){}
}
}

}
}

MFC按钮控件Button按下和弹起事件实现示例

MFC按钮控件Button按下和弹起事件实现示例
  • m0_37901643
  • m0_37901643
  • 2017年07月20日 11:15
  • 1690

C语言编程:一球从100米高度自由落下,每次落地后反弹回原来高度的一半,再落下,求它第10次落地时,共经过多少米,?第十次反弹多高?

C语言编程:一球从100米高度自由落下,每次落地后反弹回原来高度的一半,再落下,求它第10次落地时,共经过多少米,?第十次反弹多高?...
  • gebushuaidanhenhuai
  • gebushuaidanhenhuai
  • 2016年11月08日 21:47
  • 5389

Android开发(14)-- 多线程中实现利用自定义控件绘制小球并完成小球自动下落的功能

1、布局界面 [html] view plaincopyprint? RelativeLayout xmlns:android="http://schemas.android...
  • sgx425021234
  • sgx425021234
  • 2013年06月07日 01:11
  • 4312

本来刚学j2me手机编程,遇到一个问题,可能比较浅,请不吝赐教!

我用的书是人民邮电出版社的《j2me手机游戏编程入门》,我用J2ME Wireless Toolkit 2.0_01来开发运行。当我在尝试这本书的一个例子的时候,遇到你个问题,心中也有困惑,请各位指教...
  • nuonie1803
  • nuonie1803
  • 2017年01月03日 01:34
  • 78

J2ME实现小球碰壁镜面返回效果,并键控制方向。

  • 2011年02月11日 15:29
  • 20KB
  • 下载

J2ME自由滚动的小球

  • 2009年08月12日 23:33
  • 10KB
  • 下载

J2ME改变速度的小球

  • 2009年08月13日 23:39
  • 12KB
  • 下载

J2ME 小球碰撞代码

  • 2009年06月15日 15:15
  • 2KB
  • 下载

J2ME 跳动的小球

  • 2011年12月16日 14:50
  • 95KB
  • 下载

J2ME界面和Command命令按钮

详解MIDlet结构 javax.microedition.midlet包中,只包含一个类:MIDlet。 MIDlet(Mobile Information Devices let)是手机上运行...
  • xuan_xinya
  • xuan_xinya
  • 2013年04月06日 19:58
  • 683
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:J2ME关于一个不断弹起落下的小球的按钮事件问题
举报原因:
原因补充:

(最多只允许输入30个字)