没有合适的资源?快使用搜索试试~ 我知道了~
首页Java游戏引擎 jMonkeyEngine FlagRushSeries中文翻译(1-10)
FlagRushSeries中文翻译(1-10) jME版本 :jME_2.0.1_Stable 开发工具:MyEclipse8.5 操作系统:Window7/Vista FlagRush1——通过SimpleGame创建你的第一个应用程序 FlagRush2——从你的应用程序中移除SimpleGame FlagRush3——创建地形 FlagRush4——创建环境 FlagRush5——跟随的摄像机(ChaseCamera) FlagRush6——控制交通工具 FlagRush7——拥抱大地让我们驾驶的不再是Box FlagRush8——增加随机的Flag FlagRush9——墙壁检测系统(Detection System) FlagRush10——墙壁检测系统(Detection System) 如果确实没分下载,到我博客看看吧,这些文章那里都有。有分的就支持一下我咯。 http://blog.csdn.net/kakashi8841/archive/2010/10/31/5977953.aspx
资源详情
资源评论
资源推荐

UBird3D
转载/复制/打印/出版 请注明来自 http://blog.csdn.net/kakashi8841
jMonkeyEngine
FlagRush 系列教程
注:本系列教程目前作者只出了前 10 篇,故本人翻译也只能到此。
如果有什么错误可以到http://blog.csdn.net/kakashi8841留言。您的关注将是我最大的动力。
jME 版本: jME_2.0.1_Stable(可在 GoogleCode 下载到)
开发工具: MyEclipse8.5 (本人所使用的 IDE,不要求一致,你喜欢的话用记事本也行)
开发环境: Window7/Vista(只是本人翻译时测试代码的环境,不要求一致)
jMonkeyEngine.org/wiki 著
蔡俊鸿 译
2010‐10‐18 到 2010‐11‐03
1

UBird3D
转载/复制/打印/出版 请注明来自 http://blog.csdn.net/kakashi8841
1、 通过SimpleGame创建你的第一个应用程序..................................................................4
1.1、SimpleGame介绍.............................................................................................................4
1.2、显示一些东西..................................................................................................................5
1.3、源码.................................................................................................................................6
2、 从你的应用程序中移除SimpleGame..............................................................................8
2.1、Main.................................................................................................................................8
2.2、InitSystem.........................................................................................................................9
2.3、InitGame.........................................................................................................................13
2.4、Render和update............................................................................................................14
2.5、reinit和cleanup..............................................................................................................15
2.6、总结...............................................................................................................................16
2.7、源码...............................................................................................................................16
3、 加载地形.........................................................................................................................20
3.1、创建一个heightmap......................................................................................................21
3.2、生成Ter rainMesh..........................................................................................................21
3.3、生成Texture....................................................................................................................22
3.4、创建灯光(Light)........................................................................................................24
3.5、总结...............................................................................................................................25
3.6、源码...............................................................................................................................26
4、 创建环境.........................................................................................................................31
4.1、准备和代码修改............................................................................................................31
4.2、深度缓冲(DepthBuffer)...........................................................................................32
4.3、创建环境(手动)........................................................................................................33
4.4、守卫塔和SharedMesh...................................................................................................33
4.5、剩余的框架....................................................................................................................34
4.6、透明和RenderQueue.....................................................................................................37
4.7、让ForceField的texture运动..........................................................................................38
4.8、将force‐field放置在terrain上........................................................................................39
4.9、环绕的Skybox................................................................................................................40
4.10、总结.............................................................................................................................41
4.11、源码.............................................................................................................................42
5、 增加一个跟随摄像机(ChaseCamera)...........................................................................53
5.1、清理和优化....................................................................................................................53
5.2、ForceFieldFence.java......................................................................................................54
5.3、剔除/挑选状态(CullState).............................................................................................59
5.4、让我们增加玩家............................................................................................................59
5.5、跟随摄像机(ChaseCamera)......................................................................................61
5.6、我们自定义的输入处理................................................................................................62
5.7、源码...............................................................................................................................65
6、 控制交通工具.................................................................................................................74
6.1、介绍...............................................................................................................................74
6.2、增加一个交通工具........................................................................................................74
6.3、Vehicle.java....................................................................................................................76
6.4、Actions............................................................................................................................79
2

UBird3D
转载/复制/打印/出版 请注明来自 http://blog.csdn.net/kakashi8841
6.5、FlagRushHandler.java.....................................................................................................81
6.6、AccelerateAction.java....................................................................................................83
6.7、BrakeAction.java.............................................................................................................84
6.8、VehicleRotateLeftAction.java.........................................................................................84
6.9、VehicleRotateRightAction.java.......................................................................................86
6.10、DriftAction.java............................................................................................................87
6.11、总结.............................................................................................................................87
7、拥抱大地让我们驾驶的不再是Box.........................................................................................88
7.1、优化...............................................................................................................................88
7.2、DetailText ure(细节纹理)和TextureCombining(纹理组合)................................91
7.3、Ter rain法向(Normal)和朝向(Orientation)..........................................................92
7.4、加载模型(model).....................................................................................................93
7.5、结论...............................................................................................................................95
7.6、源码...............................................................................................................................95
8、增加随机的Flag......................................................................................................................106
8.1、介绍.............................................................................................................................106
8.2、优化.............................................................................................................................106
8.3、向转弯的方向倾斜......................................................................................................107
8.4、旋转轮胎......................................................................................................................109
8.5、增加一个Flag对象.......................................................................................................111
8.6、为旗杆增加布..............................................................................................................114
8.7、源码.............................................................................................................................118
9、墙壁检测系统(DetectionSystem)....................................................................................128
9.1、介绍.............................................................................................................................128
9.2、冲突(Collision)接口................................................................................................129
9.3、墙壁DetectionSystem.................................................................................................130
9.4、粒子.............................................................................................................................132
9.5、Lesson9.java.................................................................................................................133
9.6、CollisionDetection.java.................................................................................................144
10、夺取Flag................................................................................................................................148
10.1、介绍...........................................................................................................................148
10.2、Flag夺取计算.............................................................................................................148
10.3、移除Flag的计时随机位置.........................................................................................149
10.4、增加检查去看player是否夺取了Flag.......................................................................149
10.5、Vehicle.java................................................................................................................149
10.6、Lesson10.java.............................................................................................................155
附录:...................................................................................................................................167
A、摄像机简介....................................................................................................................167
a、Camera....................................................................................................................168
b、CameraNode..........................................................................................................170
3

UBird3D
转载/复制/打印/出版 请注明来自 http://blog.csdn.net/kakashi8841
1、 通过SimpleGame创建你的第一个应
用程序
1.1、SimpleGame介绍
SimpleGame 是包含在 jME 包中默认的应用程序类型。SimpleGame 尝试为你关心所有的
事。这让它很容易构建起原型并运行。它设置了所有的元素,诸如:Camera、InputHandle、
基础 RenderState 等等。首先,我将运行一个由 SimpleGame 创建的简单的应用程序,它向
屏幕绘制了一个球体(下文使用 Sphere 代替),接着我们将创建自己的应用程序类型,让你
更好了解它和控制它。
首先,我们将创建一个新的类继承自 SimpleGame。在我的例子中,我创建类 Lesson1:
public class Lesson1 extends SimpleGame {}
SimpleGame 包含一个抽象方法 simpleInitGame。我们正是在这个方法中创建了 Sphere。
现在先增加这个方法,我们将在之后回来讨论 Sphere。首先,我们想讨论 main 方法。这是
jME 应用程序的入口点(就像其他 Java 应用程序)。在创建期间,你需要创建你的应用程序
并告诉它们开始执行游戏循环。主游戏循环执行 update/render 循环,直到被告知退出和清
理。为了开始这个循环需要调用 start。
为了允许使用者指定窗口参数(分辨率,全屏等等),我们将一直显示 PropertiesDialog。
为了做到这点,我们设置应用程序行为为 ConfigShowMode.AlwaysShow。
import com.jme.app.SimpleGame;
public class Lesson1 extends SimpleGame {
@Override
protected void simpleInitGame() {
}
public static void main(String[] args) {
Lesson1 app = new Lesson1();
app.setConfigShowMode(ConfigShowMode.AlwaysShow);
app.start();
}
}
上面代码能真正被编译和运行,创建一个空的窗口。
4

UBird3D
转载/复制/打印/出版 请注明来自 http://blog.csdn.net/kakashi8841
1.2、显示一些东西
现在,我们想为 simpleInitGame 增加一些东西去显示带纹理(下文使用 Texture 代替)
的 Sphere。为了这么做,我们需要:
z 加载 Sphere
z 加载图像
z 将图像应用到 Sphere 做为它的 Texture
z 增加 Sphere 到场景(下文使用 scene 代替)
Sphere 的创建和创建一个新的对象一样简单。
Sphere s = new Sphere("Sphere",30,30,25);
s.setLocalTranslation(new Vector3f(0,0,-40));
s.setModelBound(new BoundingBox());
s.updateModelBound();
你定义了 Sphere 垂直和水平位置的截面数目(在这个例子中都为 30)和它的半径(25)。
就那样,现在我们有了 Sphere。我们能接着操纵 Sphere 的位置。在这个例子中,我们想让
它沿着 Z 轴负向移动(这和把它移向屏幕里面等价)。我们接着设置了 Sphere 的边界体积(下
文使用 BoundingVolume 代替)。这允许摄像机(下文使用 Camera 代替)的视锥剔除(下文
使用 Frustum Culling)工作。这意味着,如果我们将 Camera 偏移 Sphere,它将不会被绘制
(而统计掉为 0)。
下一步,我们将加载 Monkey.jpg 图像并把它做为 Tex tu re 应用到 Sphere。为了加载图像
并获取 Tex tu re,我们使用 TextureManager 和它的 loadTexture 方法。我们将通过基础 Tex tu re
的值加载图像。
Texture texture = TextureManager.loadTexture(
Lesson1.class.getClassLoader().getResource(
"jmetest/data/images/Monkey.jpg"),
Texture.MinificationFilter.Trilinear,
Texture.MagnificationFilter.Bilinear
);
我们接着创建了 TextureState 并把这个 texture 设置给它。为了创建 TextureState,我们
使用以工厂方法的形式使用 DisplaySystem 。 SimpleGame 已经有了一个指向当前
DisplaySystem 的实例:“display”。
TextureState ts
= display.getRenderer().createTextureState();
这样设置,如果允许在渲染(下文使用 Render 代替)期间使用渲染状态(下文使用 Render
State 代替):
ts.setEnabled(true);
5
剩余171页未读,继续阅读











安全验证
文档复制为VIP权益,开通VIP直接复制

评论11