您的位置:首页 > 其它

不断播放音乐和改变颜色动态滚动节日贺词的J2me程序

2008-01-25 09:51 453 查看
import javax.microedition.lcdui.* ;
import javax.microedition.lcdui.game.* ;
import java.util.*;

public class MyGameCanvas extends GameCanvas
implements Runnable {
public MyGameCanvas() {
super(true) ;
}
boolean conti = true ;
int rate = 50 ;
public void run() {
long st = 10 ;
long et =10 ;
Graphics g = getGraphics() ;
while(conti) {
st = System.currentTimeMillis() ;
render(g) ;
et = System.currentTimeMillis() ;
if((et-st)<rate) {
try {
Thread.sleep(rate-(et-st));
}catch(Exception exp){}
}
}
}
int x = 50;
int y = 50 ;
int red=0;
int green=0;
int blue=0;
public void render(Graphics g) {
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(red,green,blue);
Random rdm=new Random();
red=(rdm.nextInt()>>>1)%255;
green=(rdm.nextInt()>>>1)%255;
blue=(rdm.nextInt()>>>1)%255;
Font font=Font.getFont(Font.FACE_SYSTEM,Font.STYLE_ITALIC,Font.SIZE_LARGE);
g.setFont(font);

g.drawString("元旦快乐",x,y,0);
++x;
if(x>getWidth())
x=0;
flushGraphics() ;

}

public void start() {
Thread t = new Thread(this) ;
t.start();
}
public void exit() {
conti = false ;
}
public void keyPressed(int keycode) {
System.out.println("按键事件");
}
}

import java.io.*;
import javax.microedition.midlet.* ;
import javax.microedition.lcdui.* ;
import javax.microedition.media.*;
import javax.microedition.media.control.*;
public class GameMIDlet extends MIDlet
implements CommandListener
{
Display display ;
public GameMIDlet()
{
display = Display.getDisplay(this) ;
}
MyGameCanvas mgc ;
//MyGameWithInputCanvas mgc ;
//MyGameWithSpriteCanvas mgc ;
//MyGameWithSpriteCanvas1 mgc ;
// MyGameWithSpriteCanvas2 mgc ;
public void startApp()
{
if(mgc==null)
{
mgc = new MyGameCanvas();
//mgc = new MyGameWithInputCanvas();
//mgc = new MyGameWithSpriteCanvas();
//mgc = new MyGameWithSpriteCanvas1();
//mgc = new MyGameWithSpriteCanvas2();
mgc.addCommand(new Command("开始", Command.OK, 1));
mgc.addCommand(new Command("结束", Command.EXIT, 2));
mgc.setCommandListener(this);
display.setCurrent(mgc);
}
}
public void commandAction(Command c,Displayable s)
{
String cmd = c.getLabel() ;
if(cmd.equals("开始"))
{
mgc.start() ;
play();
}else if(cmd.equals("结束"))
{
mgc.exit() ;
notifyDestroyed() ;
}

}
public void pauseApp()
{

}
public void destroyApp(boolean unconditional)
{
}
private void play(){
try{
InputStream is=getClass().getResourceAsStream("/audio.wav");
Player player=Manager.createPlayer(is,"audio/X-wav");
player.setLoopCount(-1);
player.start();

}
catch(IOException ioe){
System.out.println(ioe.getMessage());

}
catch(IllegalArgumentException ise){
System.out.println(ise.getMessage());
}
catch(MediaException me){
System.out.println(me.getMessage());
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: