,Java   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,Java
您的位置:软件 > 开发者网络 > 开发工具 > Java > 正文
Java游戏编程初步
[文章信息]
作者:天翼.李
时间:2003-07-01
出处:yesky
责任编辑:方舟
[文章导读]
本文将带领大家一步一步学习编写Java游戏,最终打造属于自己的Java游戏
advertisement
热点推荐
· 深入探讨SQL Server 2000对XML的支持
· Swing(空)
· 3DS Stodio Max 宝典
· 中小企业服务器配置方案--前 言
· 中小企业服务器配置方案--代理接入服务器(3)
[正文]

上一页  1 2 3 4 5 6 7  下一页

  多媒体

  使用多媒体声音

  多媒体功能在游戏中是必不少的一部分,优美的音乐,漂亮的界面往往是一个成功游戏必需具备的条件。

  在开始之前我们先了解一下主要的小型声音文件类型:

  AU - (扩展名为AU或SND)适用于短的声音文件,为Solaris和下一代机器的通用文件格式,也是JAVA平台的标准的音频格式。AU类型文件使用的三种典型音频格式为: 8位μ-law类型(通常采样频率为8kHz), 8位线性类型,以及16位线性类型。


  WAV - (扩展名为WAV)由 Microsoft和 IBM共同开发,对WAV的支持已经被加进Windows 95并且被延伸到Windows 98. WAV文件能存储各种格式包括μ-law,a-law和 PCM (线性)数据。他们几乎能被所有支持声音的Windows应用程序播放。

  AIFF - (扩展名为AIF或IEF)音频互换文件格式是为Macintosh计算机和Silicon Graphics (SGI)计算机所共用的标准音频文件格式。AIFF和 AIFF-C几乎是相同的,除了后者支持例如μ-law和 IMA ADPCM类型的压缩。

  MIDI - (扩展名为MID)乐器数字接口MIDI是为音乐制造业所认可的标准,主要用于控制诸如合成器和声卡之类的设备。

  在JDK1.0上,java只支持*.au格式的声音文件,但是java2的API以及声音包提供了很强大的对声音技术的支持。而此部分为了让大家快速掌握游戏编程的基本知识,我们仅使用了AudioClip接口类来实现播放"*.wav"。如果大家有兴趣可参考sun java网站的声音sapmle,上面提供了完备的实例和教程说明。

  使用AudioClip接口比较简单,我们只要实例对象,加载声音文件后,再在任何地方播放即可。恢复和播放声音最简单的方法是通过Applet类的play()方法。

  AudioClip接口

   1.播放 play
   2.循环 loop
   3.停止 stop

  启动和停止声音文件,或循环播放,你必须用 applet的 getAudioClip方法把它装载进入 AudioClip对象,getAudioClip方法要用一个或两个参数,当作播放的指示。第一个或唯一的一个参数是 URL参数,用来指示声音文件的位置,第二参数是文件夹路径指针。

  下列代码行举例说明加载声音文件进入剪贴对象: 下面的"gun.wav"是指当前目录下的声音文件。我们也可用*.au格式的文件代替。

AudioClip co = getAudioClip(getCodeBase(), "gun.wav");

  getAudioClip()方法仅仅能被applet内调用。随着JAVA2的引入,应用程序也能用Applet类的newAudioClip方法装入声音文件。前一例子可以改写如下以用于Java应用程序:

AudioClip co = newAudioClip(“gun.wav”)

  我们现在可在任何地方使用方法play()播放我们的声音了。play()一旦被调用立刻开始恢复和播放声音。但这有一点要注意:如果声音文件不能被查找,将不会有出错信息,仅仅是沉默。
源代码及应用程序请于此处下载.

  图片处理技术

  图片的处理和声音的处理在一样简单。设置图片变量,得到图形,最后绘制图形。我们就直接从代码来分析。在此我们绘制一幅applet的背景图。开始绘制前,我们先要声明图形变量,用来存放图形文件。

Image backImage;

// 加载图片文件
backImgage = getImage (getCodeBase (), "black.gif");

  下面在我们的paint()方法中利用函数drawImage绘制我们图形。

g.drawImage (backImage, 0, 0, this);

  DrawImage参数中的blackImage即我们得到的图形,而后面的0,0分别代表图形的x坐标和y坐标.this:为图形代表的类,这里指的即picture类。在这里建议大家使用*.gif格式的图片文件。因为如果是internet网上,文件的大小也决定了你的applet加载时的快慢,没有人很愿意等很长时间来玩你的游戏,即使你的游戏比较出色。源代码及演示程序下载.

  大家在玩游戏时是不是见过人物图像行走?动物来回跑动的动画?这些都是基于图形技术来实现的。我们只要把上面的代码稍微修改,用数组变量来存储我们得到的图形文件组,再利用drawImage()方法播放出来就可实现动画图片的播放.

Image[] backImage;

// 加载图片文件

for (int i=4,i<backImage.length,i++)

{
backImgage[i] = getImage (getCodeBase (), "t1"+i+".gif");

}

  大家可参考JDK包中的Animation例子,它就是一个很好的播放一组图片文件的例子。


上一页  1 2 3 4 5 6 7  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
,Java相关内容,Java焦点新闻
  • 用Java实现音频播放
  • 在Java中轻松打印文档
  • 用RMI和CORBA进行分布式Java编程
  • 使用Java API压缩和解压缩数据
  • 通过Java套接字传递对象
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,JavaAdvertisement