《Java___活动图像程序和游戏编写》.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Java___活动图像程序和游戏编写》.doc

Java 活动图像程序和游戏编写. 一 关于用Java构造游戏. 在本文中笔者用Java编写一个小游戏软件.为什么写游戏软件?游戏软件要求的编程能力较高,也很少有比写游戏软件更加激动人心的创造性工作了.因此,写游戏是很好的学习编程的手段:笔者相信一句老话:取法乎上,得乎其中. 假如读者可以弄懂本文给出的各种算法,并举一反三,相信可以很快掌握目前流行的活动主页的编写方法. 显然,用Java构造商品化的游戏软件目前不可能.为什么?C++编程的游戏,其最终运行文件是运行平台的中央处理机的机器码,运行速度相当高.而Java将以字节码的形式运行于Java虚拟机上,效率低下.但笔者希望通过本篇文章能对Java的初学者提供帮助,弄清一些Java编程技巧,如事件,线程,动画,双缓冲图像,复合键控制,等.一方面有助于Java编程学习,另一方面即使使用C或C++编程,本文的算法和技巧也都有相当价值. 本文假定读者有一定的Java编程常识,也初步理解面向对象的含义.同时,为便于实践,读者最好能自己使用PhotoShop之类的图像处理软件编辑图片.程序在IE4.0下运行. 二 最简单的雏形:支持复合键控制的小方块. 首先我们要写出一个能在屏幕上随心所欲移动的小方块.用户用键盘控制小方块的移动,但支持复合键控制.比如,假如用户按下向上键,小方块向上移动.用户又按下了向右键,小方块向右上方移动.随后用户松开向右键,小方块恢复向上移动. 关键是程序中有四个表示方向的布尔变量.变量的值随键盘的状态改变而改变,按下某个方向键,相应的方向布尔变量置位;松开,就清零.小方块的移动根据四个方向布尔变量的值确定,某方向为true,就向哪个方向移动.读者可以设想,假如用户按下向上键,向上布尔变量为true,小方块向上移动,又按下向右键,向右布尔变量为true,小方块又向右移动,总体效果就是向右上移动.用户再按下向左键,小方块向上,向右,再向左,总体结果就是向上.要注意的是,用户必须使用数字键盘区的方向键! 此外,读者应先用鼠标器在程序运行画面上点击一次,使屏幕焦点落在本程序上. 程序中用键盘事件来控制表示方向的布尔变量的值,按下键,置true;松开,置false.小方块的移动由线程完成,因为线程可以不要任何激励周而复始的不断运行.下面是程序代码.注意:文件名要叫wumin1.java 输入编译后,还要输入一个HTML文件使它在浏览器中可以运行.本文一样给出范例. import java.awt.*; import java.applet.*; public class wumin1 extends Applet { carton carton_1=null;//声明一个carton类的实例. public void start() { if (carton_1==null)//假如未初始化 { carton_1=new carton(getGraphics(),this);//初始化 carton_1.start();//启动 } } public void stop() { carton_1.stop();//停止 carton_1=null;//释放资源 } //键被按下事件的处理. public boolean keyDown(Event e,int key) { if (key==Event.UP)//假如是向上键被按下 carton_1.set_direction(0);//向上的布尔变量置true if (key==Event.DOWN)//假如是向下键被按下 carton_1.set_direction(1);//向下的布尔变量置true if (key==Event.LEFT)//假如是向左键被按下 carton_1.set_direction(2);//向左的布尔变量置true if (key==Event.RIGHT)//假如是向右键被按下 carton_1.set_direction(3);//向右的布尔变量置true return true; } //键被松开事件的处理. public boolean keyUp(Event e,int key) { if (ke

文档评论(0)

wgvi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档