快速业务通道

JBuilder 2005开发Applet游戏全接触 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24

JBuilder 2005开发Applet游戏全接触

时间:2010-04-27 天极

引言

一张湘绣汇集了湘女累月的心血,我们称之为劳动密集型,一块芯片集聚着众多高新的科技,我们称之为技术密集型,一个实例承载了丰富的知识点,是否可以称为知识密集型呢:)?用一张网捞到更多的鱼是渔夫的追求,通过一个实例学到更多的知识点则是我们这些开发人员的企盼。

本文拟通过一个耳熟能详的指法练习游戏讲解如何在JBuilder 2005下开发Applet应用程序,通过本文,你将可以学习到图形用户界面开发、动画处理、声音播放、事件处理、多线程、I/O读写、Applet打包、Applet安全模型、数字签名、JRE插件制作、JDK5.0等方面的知识,并适时介绍笔者一些开发经验。

指法练习Applet游戏介绍

1、界面及功能

指法练习的Applet游戏的界面如下图所示:

JBuilder 2005开发Applet游戏全接触 - 编程入门网

图 1 指法练习的用户界面

如上图所示,这个Applet共由11个组件组成,左边的主界面是画布Canvas组件,被分隔为10个栏。程序会随机在这些栏中产生下落的字母,用户按下匹配的字母键盘按键后,即为击中,相应的字母将消失,正确数递增1;字母落到画布底端后,还没有被击中,失败数递增1;每产生一个下落的字母,总数递增1。

游戏提供了3个JButton的按钮,分别用于控制游戏的开始/暂停、结束以及保存游戏成绩。在未启动游戏前第一个按钮显示为三角箭头的图标,点击后启动游戏,随后按钮图标切换为暂停的图标。而第二个为停止按钮,其上显示结束的图标,当游戏处于运行或暂停的状态时,点击该按钮将停止游戏以便重新开始。而第三个按钮保存游戏的成绩到客户端的D:\result.txt文件中。

整个界面采用BorderLayout布局管理器,画布位于BorderLayout.CENTER区,而右边的控制台JPanel位于BorderLayout.EAST区。控制台的JPanel采用GridLayout布局管理器。

2、程序组成

每个下落的字母对应一个线程实例,称为DropCharThread线程,它由一个产生器定时产生出来,这个产生器也是一个线程称为GenerateDropThread线程,下面是这个Applet的类图:

JBuilder 2005开发Applet游戏全接触 - 编程入门网

图 2 Applet类图

JBuilder 2005开发Applet游戏全接触(2)

时间:2010-04-27 天极

TypeTrainApplet类继承了JApplet,是游戏的主类,DropCharThread和GenerateDropThread都是其内部类,后两者都继承Thread,以线程的方式运行,下面对这3个类重要的成员变量和成员方法进行说明。

1).TypeTrainApplet

继承JApplet的Applet主类,负责构造用户界面、响应用户操作事件、更新游戏统计数据等。

· 重要成员变量

统计数据变量

volatile int totalCount = 0;//生产下落字母的总数。 volatile int rightCount = 0;//正确击中的字母数。 volatile int errorCount = 0;//未被击中且到达画布底部的字母数。

这3个变量用volatile作了修饰,这是因为这3个变量会被每个字母下落线程更改,为防止各个线程通过各自的缓存更改变量值造成线程间值的不同步,需要将这3个变量设置为volatile的类型,这样这些变量的更改值对于其他线程马上可见。

字母下落速率控制变量

private static int stepLen = 2; //每次下落的步长,即字母每移一步的象素。 private static int stepInterval = 50; //每两步之间的时间间隔,以毫秒为单位。 private static int columnCount = 10; //画布被分隔为多个栏 private static int generateInterval = 500; //创建一个新的下落字母线程的时间间隔,以毫秒为单位

Applet通过通过这4个变量达到控制产生字母的快慢和字母下落的速度及栏数,可以进一步规划这些值,以形成游戏的难度级别。有鉴于此,我们特地将这些参数的值通过HTML的<Applet>参数传入。这样,只需要更改HTML的<applet>参数值就可以达到控制游戏难度级别的目标,而不需更改Applet程序。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号