zoukankan      html  css  js  c++  java
  • Cocos2d-JS 实现将TiledMap中的每个 tile 变成物理精灵的方法

     How to generate a physics body from a tiledmap 

     

      鄙人在网上找了许久都未找到方法,说句实在话,Cocos2d官方给出的与物理引擎相关的内容真的不是很多,而且好水!目前市场上的关于Cocos2d-JS的书籍本身就不多,况且甚至没有提及如何将瓦片地图转为物理精灵的方法。

     

      在查询了很多Cocos2d-X 的资料后才发现,Cocos2d 的 Node 节点 都存有一个  setPhysicsBody( physicsBody ) 的方法,而我们可以通过 getTileAt( tileCoord ) 获取每个 Tile 的精灵。

      显然精灵肯定是继承或者间接继承自 Node 节点的,所以,只要在获取 每个 Tile 的精灵后,使用 setPhysicsBody 方法,即可将 每个 Tile 物理精灵化,将 每个 Tile 带进物理世界,这样就可以利用Chipmunk 或者 Box2d 愉快的进行碰撞检测了。

     

    1 var setPhysicsBody( var body )


    注解
    如果body非空,这个方法将会设置锚点为Vec2::ANCHOR_MIDDLE, 并且当有物理body存在的情况下你不可以改变这个锚点。


    参数
    body 附加给节点的物理body

     但是,好像JS没有实现这个方法,真是悲剧

  • 相关阅读:
    C# is 与 as 运算符
    C# dynamic类型
    C# 数组
    C# 泛型
    C# 事件
    C# 委托
    C# DateTime类,TimeSpan类
    C# 获取当前应用程序的绝对路径支持asp.net
    C# 父子类_实例_静态成员变量_构造函数的执行顺序
    C# System.Uri类_获取Url的各种属性_文件名_参数_域名_端口等等
  • 原文地址:https://www.cnblogs.com/crackpotisback/p/5044530.html
Copyright © 2011-2022 走看看