Java游戏开发技术

    

  

    有了天才的设计,当然就少不了天才的技术了。知道了游戏开发的规则,我们来看看Java游戏开发中所包含的技术要点。了解这些技术的运作和原理对开发自己的游戏将会很有帮助。

图形技术

    不知道大家玩过文字MUD游戏没有,文字MUD在互联网开始可是盛极一时。可是当图形游戏一出来,文字MUD立刻黯然失色,很快的退出了互联网的历史舞台。由此可见图形技术带来的无穷魅力。在游戏中我们几乎每时每刻都会和图形打交道,一汪大海,一座山,一个人,都是由图形技术来处理。

    Java 标准API支持各种图形功能技术的开发。包括:图像处理,颜色调配,2D技术处理,3D技术支持,甚至还提供了对图形硬件进行开发的API支持。而且Java本身对这些类库进行了很好的封装,我们只要由于简单的API调用就可做出任何我们想做的图形出来。由于Java程序都是在虚拟机上执行,天生以牺牲速度来换得功能上及多平台上更强大的支持,所以这一影响也反应到了图形技术上来。但是今天处理器速度一日千里的变换中,在Java 虚拟机速度不断提升中,Java图形技术强大的功能已经慢慢的崭露头角。

Java2D图形类库:

    ---Java 2D API提供了实现非常复杂图形的机制,包括:图形处理、图形渲染质量的控制、颜色管理和打印的全面支持,通过Java 2D API,我们可以轻松地描绘出任意的几何图形、运用不同的填色效果,对图形做旋转( rotate)、缩放( scale)、扭曲( shear)等2D 处理,还可产生特殊的光影效果,alpha效果,图像透明、裁剪、合成以及空间变换。这些都在很大的程度上加大了Java游戏带来的视觉冲击。,支持用大量图形格式处理复杂的图像。Java 2D 还为您提供了修改图像、形状和字体字符的变换能力。对图像的碰撞Java 2D还自动加入了检测功能。

Java 3D图形类库

    Java 3D 用于开发三维图形的API,它在以前流行的3D图形API的基础上进行了完整的集成。以前的API 是在3D图形硬件基础之上进行开发。而Java 3D 是一种功能强大的、面向对象的 API,在高层它为开发者提供对三维实体的创建、操纵和着色等图形数据的管理,实现并超出了“3D 图形 API”所能有的功能。在低层的又与现有的三维图形系统的,如OpenGL、Direct3D 、QuickDraw3D和XGL等紧密结合。这种结构使开发者很容易用Java 3D编写自己的三维作品又不失系统的图形特性。

动画技术

    一提到图形技术,我们就不能不说动画技术了。人物走到,飞机飞行,子弹发射都是由动画提供支持的。动画的本质就是运动的图形,一系列连续显示的静止图形会给我 们一种连续动画的假象。只要动画速度足够快,则分散的静止图形就 会合并成一个连续运动的流程。在Java中没有专门支持动画的类库。但是这并不影响我们开发出自己的动画场景出来。Java中提供了多线程机制,我们利用多线程能很方便的实现动画技术。而多线程就是同时开辟几个线程,让它们在各自的领域同时处理各自的任务。打个比方,我们要实现人物的攻击效果。首先我们得准备一些人物的攻击样式图片,人物的每一步动作都用一张图片代替。动作图片越细,攻击效果越逼真。然后,我们为每个人物开辟各自的线程并让每个线程处理相应的图片加载事件,并循环播放就形成了动画。而几个人物线程的组合就构成了一幅战斗场景。


多线程:

    线程也即单个的执行任务,在Java中表现了一段功能实现代码。多线程是一种能同时处理多种任务的机制。比如煮饭过程中,你边在用洗衣机洗衣服边看着小说,嘴上还吃着零食。这几个过程都是在煮饭的同一时间内处理的。我们就可以说你实现了多线程。

    其实Java中的多线程简单的来理解就是在同一时间能让CPU处理很多事情。从而大大提高CPU的工作效率。多线程的设计比较简单,一步步地在程序里累加我们想做的事情就可以了

    我们设想为了创建一个新线程,我们所要做的事情?很显然,我们必须指明这个线程所要执行的代码,也即上面的图片加载和循环播放实现代码。而这就是在Java中实现多线程我们所需要做的一切。Java为我们开发多线程提供类 java.lang.Thread ,这个类提供了大量的方法来方便我们控制自己的各个线程。

郑重声明:资讯 【Java游戏开发技术】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——