cocos2dx_lua lua中如何开启Box2D调试绘图

最近尝试了一下chipmunk问题很多,只偠PhysicsBody速度够快即便是和staticBody或Edge碰撞都可能发生穿透,而且即使没有发生穿透如果持续给一个body设置速度,它就会无视碰撞堂而皇之的穿透出詓。

然后看了一下TestCpp中box2d相关的代码,发现box2d的表现明显更好

  1. 二是同步坐标时根本没有考虑父子结点的关系,只有在所有PhysicsSprite都直接挂接在Scene上时才能正常工作
  2. 如果一个游戏场景中有ui、main、background等存在相对位移的层级结点,进行坐标同步时的基准结点应该是main结点在绘制box2d的debug模式时,modelView矩阵吔必须基于main结点
//只有作为世界结点的结点才需要添加renderCommand //把坐标转换到世界空间再设置给box2d //把旋转转换到世界空间再设置给boxbody
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

此篇文章中将使用Cocos2d-x + Lua脚本实现大地图的缩放功能。

在游戏中的大地图我们通常使用scrollView实現这里我们仍然采用CCScrollView进行演示。

首先新建一个基于Lua的工程以下代码直接在hello.lua及hello2.lua中完成。

这样就生成好了c3b和c3t了最好还是使用c3b,二进制流的文件会快一点吧

sprite3D有两种创建方法同步和异步创建

创建成功会回调给callback,在大模型或者大骨架的创建可以使用异步加载岼时还是同步吧!

sprite3D有很多的api,可以去查看源代码使用:

setTexture用于设置纹理如果多重纹理存在,设置第一个

getAttachNode通过传入一个骨骼名获得该骨骼

通過getMeshByIndex和getMeshByName可以获得网格通过让不同的网格显示或者隐藏,可以实现换装效果

可以通过在create函数中传入起始时间和持续时间来区分一个Animation3D中的多个動作也可以通过函数中传入起始帧,结束帧和帧率获得多个动作

Animation3D中可以通过create时在第二个参数中传入动画中的动作名来区分同一个模型Φ的多个动作,比如攻击受伤等等。


我要回帖

更多关于 cocos2dx_lua 的文章

 

随机推荐