发新话题
打印

懂手机java游戏编程过来帮帮手啊

懂手机java游戏编程过来帮帮手啊

今学期选修选了java,点知完全唔识,如果补考再不行就无得拿毕业证,现在有份试卷,但无答案,
求各位高人提供下答案,感激不尽啊

试卷如下:





一、填空题

1、阅读下列程序,然后填空.
import java.io.IOException;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.Sprite;

public class PlaneSprite extends Sprite {

protected int m_nSpeedX=0;


protected int m_nSpeedY=0;


public BulletSprite m_Bullet=null;


public PlaneSprite(Image image, int nWidth, int nHeight) {



super(image, nWidth, nHeight);


// TODO Auto-generated constructor stub


try{



Image BImag=Image.createImage("/Bullet.png");



m_Bullet=new BulletSprite(BImag,5,5);


}



catch(IOException e){



setVisible(false);



defineReferencePixel(nWidth/2,nHeight/2);//D


}


}


public void SetSpeed(int nSpeedX,int nSpeedY){



m_nSpeedX=nSpeedX;



m_nSpeedY=nSpeedY;


}


public void Logic(){



m_Bullet.logic();


}


}
1)
上述类中,共有______成员变量和______成员方法.
2)
创建飞机精灵的语句是___________.
3)
创建导弹精灵的语句是___________.
4)
设置飞机飞行速度的方法名为_______________.
5)
自动发射导弹的方法名为_______________.
6)
引入精灵类包的语句是________________________________.
7)
类的头是___________________________________________________.
8)
Try---catch语句的作用是____________________________________________.
9)
引入图像类包的语句是___________________________________________.
10)
引入异常类包的语句是___________________________________________.
2、阅读下列程序然后填空

import javax.microedition.lcdui.Image;

import javax.microedition.lcdui.game.GameCanvas;

public
class MyPlane extends PlaneSprite{


public MyPlane(Image image, int nWidth, int nHeight) {



super(image, nWidth, nHeight);


// TODO Auto-generated constructor stub



m_nSpeedY=2;



m_nSpeedX=2;


}


public
void Input(int keyStates){



if(isVisible()==false)



return;


int nX=getRefPixelX();


int nY=getRefPixelY();



if((keyStates & GameCanvas.UP_PRESSED)!=0)



nY=-
m_nSpeedY;



if((keyStates & GameCanvas.LEFT_PRESSED)!=0)



nX-=
m_nSpeedY;



if((keyStates & GameCanvas.RIGHT_PRESSED)!=0)



nX+=
m_nSpeedX;



if((keyStates & GameCanvas.DOWN_PRESSED)!=0)



nY+=
m_nSpeedY;



if((keyStates & GameCanvas.FIRE_PRESSED)!=0)



CreateBullet();



setRefPixelPosition(nX,nY);


}


public
void Logic(){



super.Logic();


}


private
void CreateBullet(){



if(m_Bullet.isVisible())



return;



m_Bullet.setRefPixelPosition(getRefPixelX(), getRefPixelY());



m_Bullet.SetSpeed(0,-3);



m_Bullet.setVisible(true);


}

}

11)
上述代码说明移动玩家飞机可以使用手机上的____________.
12)
上述代码说明移动玩家发射导弹可以使用手机上的____________.
13)
玩家飞机(MyPlane)的父类是_____________.
14)
设置玩家飞机位置的参考点的语句是________________.
15)
Input方法的作用是____________________________________.
16)
CreateBullet方法的作用是___________________________________.
17)
keyStates & GameCanvas.UP_PRESSED)!=0 表示玩家按下_________键。
18)

super.Logic();
是调用________类的方法.
19)

m_Bullet.setSpeed(0,-3);
表示导弹向_______方向飞行。
20)

if(m_Bullet.isVisible()) return;
表示已经发射的导弹还可见时,input方法_______执行任何操作并立即返回。
二、选择题



1、配置JDK的环境时要设置的系统变量是


A . JAVA_HOME
B .PATH
C .CLASSPATH
D .
前面三个都要
2WTK

A.SUN
公司提供的无线开发工具包
B.
JAVA开发包
C
JAVA语言开发平台
D J2ME
插件.

3
、运行WTK使用

A.KToolbar
B. Run midlet
C. wtk run
D.start


4
、读取图片文件的方法是

A.createImage
B. readImage
C. drawImage
D.paintImage.



5
、将图片显示到手机屏幕上的方法是
A.
paint
B. drawImage
C. paintImage
D.crateImage.


6
、以下不是Midlet中必须实现的方法是

A.startApp
B. pauseApp
C. destroyApp
D.run.



7
、创建动态精灵的方法是
A.
Sprite(Image image,int x,int y,boolean pixelLeavel)
B. Sprite(Image image)

C. setFrame(int sequence)
D.defineRefencePixel(int x,int y).


8
、设置精灵的帧的方法是
A. Sprite(Image image,int x,int y,boolean pixelLeavel)
B. Sprite(Image image)

C. setFrame(int sequence)
D.defineRefencePixel(int x,int y).


9
、检测精灵与精灵碰撞的方法是
A.collidesWith(TiledLayer t,boolean pixelLeavel)
B. Sprite(Image image)

C. setFrame(int sequence)
D.collidesWidth(Sprite s,boolean pixelLeavel).


10
、检测精灵与背景中物体碰撞的方法是
A.collidesWith(TiledLayer t,boolean pixelLeavel)
B. Sprite(Image image)

C. setFrame(int sequence)
D.collidesWidth(Sprite s,boolean pixelLeavel).

11TiledLayer类是用来生成游戏
A.
精灵
B
背景 C 音效 D启动界面。
12LayerManager 类是用来管理游戏中
A.
图像的各层,B.精灵间的碰撞,C精灵和物体间的碰撞,D.图像的显示。
13GrameCanvas类是用来
A.
线程处理,B.绘图处理,C.消息处理, D.以上三个。
14GameCanvas中的方法getKeyStates()的作用是
A.
得到按键状态,B.得到精灵的位置,C.得到精灵的大小,D.得到打来电话。
15GameCanvas中的方法flushGraphics的作用是
A.
把内存中的图像显示在手机屏幕上,B.停止游戏,C重启游戏,D.退出游戏。
16Sprite中的方法paint的作用是
A绘制精灵,B.绘制背景,C.消息处理, D.音乐播放。
17、游戏的背景是由贴砖构成,贴砖的编号由___开始,从左到右依次增加。
A. 1 B.2
C.0
D.-1.

18.通常用数组来表示游戏的背景,数组中的元素是
A.
贴砖的编号,B.图片,C,图像指针,D.图像大小。
19LayerManger中的方法append用于添加图层,后添加的图层被先绘制,
位于屏幕的_____层。
A.
上,B.中,C.底,D.最上。
20LayerManger中的方法setViewWindow(int x,int y,int width,int height)作用是设置游戏视窗,其中的参数x,y表示
A.视窗的位置,B.视窗的大小,C.视窗的可见性,D.以上均不是。


三、简答题

1、写出创建一个手机游戏的步骤





2、写出播放游戏背景音乐的方法






3、写出构造游戏静态背景的步骤





4、写出创建游戏精灵的步骤






5、写出“坦克”类,该类的父类是精灵类,它有两个成员变量:水平方向速度和铅直方向速度,两个成员方法:设置水平方向速度的方法和设置铅直方向速度的方法和构造方法,在构造方法中创建坦克精灵。









四、名词解释
1.RMS



2.Eclipse



3.流程图


4RPG


5.PUZ




6.摄像机跟随


7.手机游戏开发团队的组成


8.中国手机游戏产业链结构



9.手机游戏的策划工作



10Midlet的作用和要实现的方法

TOP

发新话题