js游戏小引擎 (4)—— 容器
2012-07-01 12:04
323 查看
demo地址:http://www.adanghome.com/js_demo/12/4/
舞台有两个儿子:黑色方块和金币mc,黑色方块有一个儿子:绿色方块,绿色方块有一个儿子:爆炸mc。按上下左键控制黑色广场移动,按wasd控制绿色方块移动,按回车键控制黑色方块旋转,按空格键控制爆炸mc旋转。移动时子孙节点会跟着一起移动。红色的方块为多边形的边界顶点,蓝色方块表示旋转基点,可在css中更改方块的样式。
=======================================
实现容器最大的难点在于更新父容器位置时,同时更新子节点的位置。这里用到了递归来遍历所有的子节点,更新位置时要考虑父容器是否已经旋转过,位置更新的那个函数着实让我费了不少脑细胞。
ps : 最痛苦的是一个很低级的bug让我找了一晚上加一上午才发现,中间那个痛苦啊。bug出在一个递归的函数中,然后又是object对像传址,又是js语言的奇怪现象,让我各种纠结 @_@,本以为是不是js语言哪儿的一个奇怪的坑让我给遇上了,最后无意中发现原来是一个低级错误 T_T。。。 还我周末!
舞台有两个儿子:黑色方块和金币mc,黑色方块有一个儿子:绿色方块,绿色方块有一个儿子:爆炸mc。按上下左键控制黑色广场移动,按wasd控制绿色方块移动,按回车键控制黑色方块旋转,按空格键控制爆炸mc旋转。移动时子孙节点会跟着一起移动。红色的方块为多边形的边界顶点,蓝色方块表示旋转基点,可在css中更改方块的样式。
=======================================
实现容器最大的难点在于更新父容器位置时,同时更新子节点的位置。这里用到了递归来遍历所有的子节点,更新位置时要考虑父容器是否已经旋转过,位置更新的那个函数着实让我费了不少脑细胞。
ps : 最痛苦的是一个很低级的bug让我找了一晚上加一上午才发现,中间那个痛苦啊。bug出在一个递归的函数中,然后又是object对像传址,又是js语言的奇怪现象,让我各种纠结 @_@,本以为是不是js语言哪儿的一个奇怪的坑让我给遇上了,最后无意中发现原来是一个低级错误 T_T。。。 还我周末!
相关文章推荐
- 别碰钉子 cocos2d js 版本,即将上线,此游戏充分利手cocos2d js 的chipmunk物理引擎开发...
- JS 游戏引擎开发库
- Html5+Lufylegend.js游戏开发(一)引擎介绍及原理
- 开源HTML5游戏引擎Kiwi.js_安装使用
- 我的js游戏小引擎 —— 可使用canvas模式或DOM模式
- 一个JS的RPG引擎,备忘,准备写个html5的动作游戏
- 游戏引擎cocos2d-js和egret 对比
- 我的js游戏小引擎—— 谈谈 基于dom VS 基于canvas
- 变态版大鱼吃小鱼-基于pixi.js 2D游戏引擎
- 一个js游戏引擎,没完成呢还,自己写的
- Mobile First!开源HTML5游戏引擎Kiwi.js 1.0正式发布
- 基于Canvas的JS游戏引擎(一)
- HTML5游戏开发引擎Pixi.js新手入门讲解
- HTML5游戏开发引擎Pixi.js新手入门讲解
- cocos2dx-js更换游戏引擎版本(mac)
- lufylegend.js开源游戏引擎
- Cocos2d-JS 游戏引擎新进化:性能狂飙提升50%
- js游戏小引擎 (2)—— 处理多边形
- js游戏引擎探索指南之Collie
- [转]JS游戏引擎 & HTML5