不断播放音乐和改变颜色动态滚动节日贺词的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());
}
}
}
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());
}
}
}
相关文章推荐
- 在程序中动态改变控件的背景颜色
- TransparentToolBar 一个简单随着滚动控件滚动,不断改变颜色透明度的ToolBar
- 【easyui】 datagrid动态改变某一行的颜色
- 微信小程序-图片、录音、音频播放、音乐播放、视屏、文件
- embed标签动态改变Src的值,局部刷新播放其他视频的javascript方法
- 应用JAVASCRIPT 之 简易网页音乐播放程序
- [原创]table动态改变颜色包括一个边框
- 在J2ME手机程序开发中使用颜色
- Android动态改变TextView字体颜色
- Java 按钮和单击事件映射到动作对象改变面板颜色小程序实例 Java核心技术 事件处理
- TextView设置动态改变颜色
- 微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
- 小程序学习心得之音乐播放
- 模糊搜索框 EditText动态过滤Listview并改变颜色(仿微信模糊搜索)
- UITableViewCell动态的改变cell的状态变化,比如文字颜色?
- 动态改变屏幕设置 分辨率、颜色等。
- win32程序如何改变字体大小颜色
- 小程序支持模糊搜索,这些音乐小程序还能后台播放
- SpriteKit塔防游戏动态改变防御塔价格标签的颜色
- 微信小程序 音乐播放(十三)