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){}
}
}

}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

J2ME自由滚动的小球

  • 2009-08-12 23:33
  • 10KB
  • 下载

别了j2me-->系统原理之低级api 与低级事件

众所周知不同的手机机型不同的品牌对于的硬件能力是不同的,这里给出如何在Kjava中判断你的机型到底支持些什么能力。然后具体讨论一下底层的三种事件, 即:①:屏幕事件 ,②: 按键事件  , ③:绘图...

J2ME 跳动的小球

  • 2011-12-16 14:50
  • 95KB
  • 下载

J2ME改变速度的小球

  • 2009-08-13 23:39
  • 12KB
  • 下载

一步步实现j2me游戏引擎(三),事件处理

一步步实现j2me游戏引擎(三),事件处理

J2ME 小球碰撞代码

实现Netbeans和Eclipse公用一个J2ME项目的工作空间

实现Netbeans和Eclipse公用一个J2ME项目的工作空间 这个是Eclipse的J2ME项目,如下图: 1 我们现在要做的是在Netbeans中新建一个J2ME项目,使之公用Ecl...

J2ME中文编码问题

中文 J2ME中文编码问题 1. 简介 本文介绍JavaME中文编码的相关问题,这个问题一度是互联网上的开发者们讨论的热门话题。本文整理和综合了网上众多相关内容,尽可能的为开发者提供一个全面...

j2me 出现的问题及解决办法

选择“run main project via OTA”时,模拟器在安装时出现错误,j2mesdk 出现以下错误提示: 这是第二次碰到这个问题了 Jad URL for OTA ex...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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