📄 whoscreen.java
字号:
/*
* Siemens AG
* Mobile Radio Terminals
* Munich, Germany
* .AUTHOR Michael Becker CT SE 2 / Sam Nova (THQ)
* .PACKAGE GameAPI_Demo
* .STATUS DRAFT
* .CHANGE_CONTROL
* Version | Date | Changed by | Reason for Change
* 1.0 21.05.01 M.Becker file created.
*/
package GameAPI_Demo;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
import com.siemens.mp.game.*;
class WhoScreen extends MyScreen
{
public boolean bRunning;
private boolean readyToPaint = false;
private static final int GAME_SCREEN_WIDTH = 96;
private static final int GAME_SCREEN_HEIGHT = 80;
private Image gameScreenImage;
private ExtendedImage gameScreen = null;
private GraphicObjectManager gfxManager;
private byte [] creditPixels;
private Melody melody;
public WhoScreen()
{
try
{
gameScreenImage = Image.createImage(GAME_SCREEN_WIDTH, GAME_SCREEN_HEIGHT);
gameScreen = new ExtendedImage(gameScreenImage);
gameScreen.clear((byte)0);
}catch(Exception e)
{
System.out.println("Exception: "+e);
}
gfxManager= new GraphicObjectManager();
try
{
// Load the sprites
creditPixels = ReadByteArray("res\\credit.bin", 960, 0);
}catch(Exception e)
{
System.out.println("Exception: "+e);
}
gameScreen.setPixels(creditPixels, 0,0,GAME_SCREEN_WIDTH, GAME_SCREEN_HEIGHT);
melody=createMelody();
readyToPaint = true;
}
private Melody createMelody()
{
try
{
MelodyComposer comp=new MelodyComposer();
comp.setBPM(120);
comp.appendNote(MelodyComposer.TONE_E3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_DIS3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_E3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_DIS3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_E3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_D3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_C3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_A2, MelodyComposer.TONELENGTH_1_4);
comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_C2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_E2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_A2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_4);
comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_E2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_GIS2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_C3, MelodyComposer.TONELENGTH_1_4);
comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_E2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_E3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_DIS3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_E3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_DIS3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_E3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_D3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_C3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_A2, MelodyComposer.TONELENGTH_1_4);
comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_C2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_E2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_A2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_4);
comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_D2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_C3, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_H2, MelodyComposer.TONELENGTH_1_8);
comp.appendNote(MelodyComposer.TONE_A2, MelodyComposer.TONELENGTH_1_4);
comp.appendNote(MelodyComposer.TONE_PAUSE, MelodyComposer.TONELENGTH_1_8);
//comp.appendNote(MelodyComposer.TONE_REPEAT, 1);
return comp.getMelody();
}catch(Exception e)
{
System.out.println("Exception: "+e);
}
return null;
}
public void Dispose()
{
gameScreen = null;
// We should remove all objects from the gfx manager here
gfxManager = null;
}
/**
* Method declaration
*
*
* @param g
*
* @see
*/
public void paint(Graphics g)
{
//no normal painting used!
//paint all Sprites (no repaint necessary!)
if (gameScreen != null && readyToPaint)
{
try
{
// gfxManager.paint(gameScreen, 0, 0);
gameScreen.blitToScreen(0,0);
}catch(Exception e)
{
System.out.println("Exception: "+e);
}
}
}
public int getReturnValue()
{
return 0;
}
protected void keyPressed(int keyCode)
{
int key = getGameAction(keyCode);
switch(key)
{
case Canvas.FIRE :
bRunning= false;
break;
}
}
public void run()
{
bRunning = true;
melody.play();
while (bRunning)
{
try
{
Thread.yield();
// Thread.sleep(20);
}
catch (Exception exc)
{
}
//clear the doublebuffer
//spriteManager.clearGameScreenWithBackground(gameScreen, Background96x80.image); // Rather slow...
//System.arraycopy(clearScreen, 0 , gameScreen, 0, (GAME_SCREEN_WIDTH >> 3) * GAME_SCREEN_HEIGHT);
// gameScreen.clear((byte)0);
//paint all Sprites (no repaint necessary!)
try
{
// gfxManager.paint(gameScreen, 0, 0);
gameScreen.blitToScreen(0,0);
}catch(Exception e)
{
System.out.println("Exception: "+e);
}
}
try
{
Thread.sleep(3000);
}catch(Exception e)
{
System.out.println("Exception: "+e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -