***********MenuMID
import javax.microedition.lcdui.Display。
import javax.microedition.midlet.MIDlet。
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/*
* MenuMID为MIDlet主程序
*/
public class MenuMID extends MIDlet{
private Display display。
private MenuCanvas canvas。 //声明画布对象canvas
private MainCanvas mcanvas。
public MenuMID(){
display = Display(this)。 //获取Display
canvas=null。
mcanvas=null。
LoadMenu()。 //载入菜单
}
protected void startApp(){
}
protected void pauseApp() {
}
protected void destroyApp(boolean arg0) {
}
/* 退出程序 */
public void exit() {
()。 //清理垃圾
destroyApp(false)。
notifyDestroyed()。
}
/* LoadMenu()函数用于创建菜单画布,并设置为当前显示对象*/
public void LoadMenu(){
canvas=null。
canvas=new MenuCanvas(this)。 //创建菜单对象canvas
display.setCurrent(canvas)。 //设置canvas为当前显示对象
}
/* LoadMainCanvas()函数用于创建游戏主画布,并设置为当前显示对象*/
public void LoadMainCanvas(){
canvas=null。
if(mcanvas==null) //如果没有创建游戏主画布,则先创建
mcanvas=new MainCanvas(this)。
display.setCurrent(mcanvas)。
}
}
**************MainCanvas
import javax.microedition.lcdui.Canvas。
import javax.microedition.lcdui.Graphics。
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/
*
* MainCanvas实现程序主画面
*/
public class MainCanvas extends Canvas {
private MenuMID mid。 //声明MIDlet对象,以方便调用MIDlet
/* 构造函数中,将MenuMID作为参数传入 */
public MainCanvas(MenuMID midlet){
super()。
this.setFullScreenMode(true)。 //设置为全屏模式
mid=midlet。 //将传入的MenuMID赋给mid
}
/* 绘图 */
protected void paint(Graphics g) {
//填充背景
g.setColor(0x00ffffff)。
安卓课程设计源代码 g.fillRect(0, 0, getWidth(), getHeight())。
//绘制画面内容
g.setColor(0x00ff0000)。//设置画笔颜
g.drawString("游戏开始", getWidth()/2, 50, Graphics.HCENTER|Graphics.BASELINE)。
}
/* 响应按键事件,并进行处理*/
protected void keyReleased(int keyCode) {
int keyAction=getGameAction(keyCode)。 //通过按键获取游戏动作
// 检查游戏动作,并作相应处理
switch(keyAction){
case Canvas.GAME_A:
mid.LoadMenu()。 //调用MIDlet以转到菜单画面
break。
case Canvas.GAME_B:
it()。 //调用MIDlet以退出程序
break。
}
repaint()。 //重绘
}
}
***********MenuCanvas
import javax.microedition.lcdui.Canvas。
import javax.microedition.lcdui.Font。
import javax.microedition.lcdui.Graphics。
/*
* MenuCanvas实现游戏菜单画面
*/
public class MenuCanvas extends Canvas{
public MenuMID mid。 //声明MIDlet对象,以方便调用MIDlet
static int CurrMenuID。 //声明当前菜单索引
static final String StrMenu[]={"开 始","排行榜","设 置","关 于","退 出"}。 //菜单项数组
static int MenuLocY。 //绘制菜单时第一项的顶端Y坐标
//定义中等字体
private Font Font(Font.FACE_SYSTEM,Font.STYLE_PLAIN, Font.SIZE_MEDIUM)。
//定义加粗中等字体
private Font Font(Font.FACE_SYSTEM,Font.STYLE_BOLD, Font.SIZE_MEDIUM)。
//定义加粗大字体
private Font Font(Font.FACE_SYSTEM,Font.STYLE_BOLD, Font.SIZE_LARGE)。
/* 在构造函数中进行变量初始化*/
public MenuCanvas(MenuMID midlet){
super()。
setFullScreenMode(true)。 //设置为全屏模式
this.mid=midlet。 //将传入的MenuMID赋给mid
CurrMenuID=0。 //设置开始时的默认菜单项为第1项
MenuLocY=100。 //设置菜单项起始Y坐标为100
repaint()。 //重绘
}
/* 绘制画面内容*/
protected void paint(Graphics g) {
//填充背景
g.setColor(0x00ffffff)。
g.fillRect(0, 0, getWidth(), getHeight())。
//绘制标题
g.setColor(0x00ff0000)。 //设置标题颜
g.setFont(largeFont)。 //设置字体
g.drawString("太空之战", getWidth()/2, 50, Graphics.HCENTER|Graphics.BASELINE)。
//调用drawMenu()函数绘制菜单
drawMenu(g,CurrMenuID)。
}
/* 响应按键事件*/
protected void keyReleased(int keyCode) {
int keyAction=getGameAction(keyCode)。 //通过按键获取游戏动作
// 检查游戏动作,并作相应处理
switch(keyAction){
case Canvas.UP: //选择上一项菜单
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论