注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

东东的博客

江南烟雨,同大家一起分享

 
 
 

日志

 
 

[翻译]Android 3D 游戏开发教程– Part III  

2010-06-17 10:49:11|  分类: android相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

这几篇Android 3D游戏开发的文章原文出自一位德国人Martin在droidnova.com写的文章,有lixinso翻译为中文。

在这个系列的第三部分给你show一下如何停止三角形的转动,并告诉你原来的旋转其实只是在三角形上进行的旋转,而不是在摄像机“camera”上进行的旋转。

我们希望能对旋转进行更多的控制。为此,在每次调用onDrawFrame()方法的时候都会重置这个矩阵。这会重设三角形的角度以便其总是可以旋转到给定的角度。

8X5%]ZS@2}(ROI'3O[AIB)B

在VortexView类中,你应该删除“除以10”以便其可以旋转范围更大一些。

LJV97WR'7_E$9ZZ8@GL@FKP

如果尝试了这些,你将会看到旋转只会根据触摸的到的位置来旋转。如果没有触摸屏幕,旋转不会发生改变。

下一件事情:我们旋转的是三角形本身,还是旋转的view/camera?

为了验证它,最简单的办法是创建第二个不旋转的三角形进行对照。

最 快也是最笨的办法是copy&paste initTriangle()方法为一个新的方法initStaticTriangle(),copy&paste其中的两个 buffer,copy&paste并修改onDrawFrame()方法中的最后四行。

不要忘记了改变第二个三角形的颜色以及改变第二个三角形的坐标,这样方便我们能看到两个三角形。我将每个地方的0.5f都改成了0.4f.

这里是整个的类:

PZMGS2(VG0C]OF33J)F(IXNDZY~O_I{RWJCL]}8WAW9YKBKWWM5}GD'A8QH0F6$$FSCZP[S3~G_RQT~9}YXLT$SCS'[3

如果作了以上这些,你会看到只有一个三角形可以旋转。如果你想两个都可以旋转,只需要在“draw the static triangle”这个注释的旁边也给它加上一行代码就可以了。

编译并运行这个程序,你可以看到绿色的三角形在旋转,同时红色的三角形还是呆在原来的地方。

这也充分验证了我们的答案,我们旋转的只是三角形而不是整个场景。

Eclipse工程源代码在这里下载: Vortex Part III

3d-part-three-triangle

3d-part-three-triangle

  评论这张
 
阅读(485)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017