Nape2.0.3刚体贴图教程

作者: ladeng6666 分类: Nape 发布时间: 2013-01-17 22:15 阅读: 15,424

我在用Body.graphic属性实现Nape刚体贴图向大家介绍了Nape贴图的方法,不过教程中用的Nape是2.0版的,作者在2012-12-13的时候2.0.3版,因为执行效率问题,删除了Body.graphic属性,很多网友也提出了这个问题,今天我们就来学习一下Nape 2.0.3版的贴图方法。

在上一篇教程中我说过Box2D的更新贴图的方法,Nape 2.0.3中也借鉴了Box2D里的方法:遍历所有的刚体,在ENTER_FRAME事件处理函数中,根据刚体的坐标和角度实时更新贴图的属性。具体的步骤如下:

创建刚体时添加贴图:

  1. Nape 2.0.3的Body对象多了一个userData属性,它是一个Object对象,在创建刚体时,添加userData的动态属性graphic,并用贴图对象赋值。

在ENTER_FRAME事件处理函数中更新贴图:

  1. 通过Nape世界的space.liveBodies获取存储所有的活动刚体一个BodyList对象。
  2. 遍历这个BodyList对象,并通过BodyList.at(index)方法获取每个刚体的引用,同时获取贴图对象引用
  3. 用刚体的坐标和角度更新贴图的属性,实时更新贴图

完成上面的两个步骤,就可以实现Nape 2.0.3刚体贴图了。允许的效果与上一篇教程是一样的。点击舞台并拖动鼠标绘制矩形,同时按下shift绘制5边形,同时按下ctrl绘制圆形。

Sorry, either Adobe flash is not installed or you do not have it enabled

源代码部分只是更新了AbstractNapeTest中创建刚体,和loop函数中更新贴图的部分,基本上和上面的两个步骤是一样的,我就不贴出来了,大家下载源代码来看吧。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

9条评论
  • Alei

    2013 年 1 月 19 日 下午 9:50

    挺不错啊!

  • 关注ladeng20年

    2013 年 2 月 22 日 上午 9:30

    拉登大叔~就是那么给力

    1. ladeng6666

      2013 年 2 月 22 日 下午 8:33

      谢谢支持!大家的支持是我无限的动力!

  • 关注ladeng20年

    2013 年 2 月 22 日 上午 10:12

    拉登大叔, 刚体与刚体之间不碰撞,刚体只能与墙壁碰撞,这个是什么属性啊?

    1. ladeng6666

      2013 年 2 月 22 日 下午 8:33

      设置刚体的碰撞filter,回头我会专门写教程讲解的!

  • Jerry

    2013 年 7 月 12 日 下午 2:05

    可是要怎么删除贴图

  • Seven

    2014 年 3 月 3 日 下午 4:33

    贴图的偏移怎么设置呢? 对于不规则多边形来说

  • Theodore

    2015 年 5 月 8 日 下午 3:23

    贴图是要单独addChild到显示列表里吗。移除Body的时候还要单独移除一遍贴图吗?

    1. ladeng6666

      2015 年 5 月 8 日 下午 11:12

      是的,这个是不可避免的 ,贴图是需要单独删除的

发表评论

电子邮件地址不会被公开。 必填项已用*标注