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();//启动
}
}
评论0