moonfish11
全部博文(179)
蓝牙(0)
IT书籍(0)
android框架层(10)
java学习(1)
android 杂记(2)
android游戏开发(53)
android 内核剖析(5)
android应用开发(29)
突发灵感(1)
2012年(74)
2011年(105)
张子萌
小雅贝贝
commshar
mallocya
fengyuti
dnybz
cynthia
格伯纳
limengch
skyhigh1
sword105
as807048
xuanwoxj
lzs15733
分类:
2011-12-18 13:34:08
这几篇Android 3D游戏开发的文章原文出自一位德国人Martin在droidnova.com写的文章,有lixinso翻译为中文。
在这个系列的第三部分给你show一下如何停止三角形的转动,并告诉你原来的旋转其实只是在三角形上进行的旋转,而不是在摄像机“camera”上进行的旋转。
我们希望能对旋转进行更多的控制。为此,在每次调用onDrawFrame()方法的时候都会重置这个矩阵。这会重设三角形的角度以便其总是可以旋转到给定的角度。
在VortexView类中,你应该删除“除以10”以便其可以旋转范围更大一些。
如果尝试了这些,你将会看到旋转只会根据触摸的到的位置来旋转。如果没有触摸屏幕,旋转不会发生改变。
下一件事情:我们旋转的是三角形本身,还是旋转的view/camera?
为了验证它,最简单的办法是创建第二个不旋转的三角形进行对照。
最 快也是最笨的办法是copy&paste initTriangle()方法为一个新的方法initStaticTriangle(),copy&paste其中的两个 buffer,copy&paste并修改onDrawFrame()方法中的最后四行。
不要忘记了改变第二个三角形的颜色以及改变第二个三角形的坐标,这样方便我们能看到两个三角形。我将每个地方的0.5f都改成了0.4f.
这里是整个的类:
如果作了以上这些,你会看到只有一个三角形可以旋转。如果你想两个都可以旋转,只需要在“draw the static triangle”这个注释的旁边也给它加上一行代码就可以了。
编译并运行这个程序,你可以看到绿色的三角形在旋转,同时红色的三角形还是呆在原来的地方。
这也充分验证了我们的答案,我们旋转的只是三角形而不是整个场景。
Eclipse工程源代码在这里下载: Vortex Part III
上一篇:Android 3D 游戏开发教程– Part II
下一篇:Android 3D 游戏开发教程– Part IV
登录 注册