- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用MIDP.开发游戏【DOC精选】
使用MIDP2.0开发游戏(1)GameCanvas基础
MIDP2.0提供了对游戏的强有力支持,通过javax.microedition.lcdui.game包,原来在MIDP1.0中很多需要自己写的功能现在都被当作标准API实现了,包括GameCanvas,Sprite,Layer等等。
我们将使用MIDP2.0编写一个坦克大战的手机游戏,我也是初学J2ME不久,准备边看书边做,争取把这个游戏做出来!J2ME高手请多指点,和我一样学习中的朋友欢迎多多交流!
我们的开发环境为Windows XP SP1 + J2DK1.4 + J2ME WTK2.1 + Eclipse 3.0 + EclipseMe,关于如何配置Eclipse的J2ME开发环境,请参考:
/mingjava/archive/2004/06/23/24022.aspx
下面是一个最简单的GameCanvas的例子,出自《J2ME? Gaming》:
// MyGameCanvas.java// 编写Canvas类import javax.microedition.lcdui.*;import javax.microedition.lcdui.game.*;public class MyGameCanvas extends GameCanvas implements Runnable {牋?private boolean isPlay; // Game Loop runs when isPlay is true牋?private long delay; // To give thread consistency牋?private int currentX, currentY; // To hold current position of the X牋?private int width; // To hold screen width牋?private int height; // To hold screen height 牋?// Constructor and initialization牋?public MyGameCanvas() {牋牋牋?super(true);牋牋牋?width = getWidth();牋牋牋?height = getHeight();牋牋牋?currentX = width / 2;牋牋牋?currentY = height / 2;牋牋牋?delay = 20;牋?}牋?// Automatically s tart thread for game loop牋?public void start() {牋牋牋?isPlay = true;牋牋牋?new Thread(this).start();牋?}牋?public void stop() { isPlay = false; }牋?// Main Game Loop牋?public void run() {牋牋牋?Graphics g = getGraphics();牋牋牋?while (isPlay) {牋牋牋牋牋?input();牋牋牋牋牋?drawScreen(g);牋牋牋牋牋?try {牋牋牋牋牋牋牋?Thread.sleep(delay);牋牋牋牋牋?}牋牋牋牋牋?catch (InterruptedException ie) {}牋牋牋?}牋?}牋?// Method to Handle User Inputs牋?private void input() {? 牋牋牋 int keyStates = getKeyStates();牋牋牋?// Left牋牋牋?if ((keyStates LEFT_PRESSED) != 0)牋牋牋牋牋?currentX = Math.max(0, currentX - 1);牋牋牋?// Right牋牋牋?if ((keyStates RIGHT_PRESSED) !=0 )牋牋牋牋牋?if ( currentX + 5 width)牋牋 牋牋牋牋牋?currentX = Math.min(width, currentX + 1);牋牋牋?// Up牋牋牋?if ((keyStates UP_PRESSED) !=
您可能关注的文档
- 作业结论【DOC精选】.doc
- 作 业【DOC精选】.doc
- 作业选择与填空【DOC精选】.doc
- 作为一种生活方式的都市生活【DOC精选】.doc
- 作文之diagramm【DOC精选】.doc
- 作文审题、拟题、开头导学案【DOC精选】.doc
- 作文审题练习【DOC精选】.doc
- 作文模式及范文(Band )【DOC精选】.doc
- 作业【DOC精选】.doc
- 作文模版精华【DOC精选】.doc
- 使用OllyDbg从零开始Cracking 第十一章-硬件断点与条件断点【DOC精选】.doc
- 使用Oracle VM VirtualBox时报 VERR_VMX_MSR_LOCKED_OR_DISABLE 错误的经验谈【DOC精选】.doc
- 使用Photoshop打造精美iPad【DOC精选】.doc
- 使用Samba将Linux主机加入AD域【DOC精选】.doc
- 使用Visual Studio和SQL Server建模【DOC精选】.docx
- 使用双线性插值进行图像放大的实现【DOC精选】.doc
- 使用纯电动车,为啥不是双模汽车【DOC精选】.doc
- 使用频率函数统计各班成绩分数段【DOC精选】.doc
- 例谈函数性质的恒成立性羊兆刚【DOC精选】.doc
- 例谈正弦、余弦函数有界性的应用【DOC精选】.doc
文档评论(0)