首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nape移除碰撞中的身体

nape移除碰撞中的身体
EN

Stack Overflow用户
提问于 2013-05-01 21:44:25
回答 3查看 853关注 0票数 0

我有一个函数可以检测物体何时发生碰撞,但我如何删除其中一个呢?

代码语言:javascript
复制
private function fruitToFloorCollision(collision:InteractionCallback):void
        {
            // TODO Auto Generated method stub

            trace('fruit hits floor');

        }

当我追踪碰撞的时候

代码语言:javascript
复制
Cb:BEGIN:(dynamic)#11/(static)#1 : [CollisionArbiter(Polygon#2|Circle#12)[SD]<-ACCEPT] : listener: InteractionListener{BEGIN#COLLISION::@{[CbType#5] excluding []}:@{[CbType#6] excluding []}} precedence=0
EN

回答 3

Stack Overflow用户

发布于 2014-02-03 06:41:42

Nape从模拟中移除身体的首选习惯用法似乎是:

代码语言:javascript
复制
ball.space = null;

尽管它像您一样在内部调用space.bodies.remove(),但它也会执行一些额外的检查。

票数 1
EN

Stack Overflow用户

发布于 2013-05-01 22:02:28

代码语言:javascript
复制
my answer.....

如果有人有更好的选择想听的话...

代码语言:javascript
复制
private function fruitToFloorCollision(collision:InteractionCallback):void
        {


            var ball:Body = collision.int1 as Body;
            removeChild(ball.userData.graphic);
            space.bodies.remove(ball);
        }
票数 0
EN

Stack Overflow用户

发布于 2014-06-02 13:46:24

据我所知,考虑到你有两个对象水果和地板,interactionListener按这个顺序添加。

代码语言:javascript
复制
private function fruitToFloorCollision(collision:InteractionCallback):void
    {

        // CBTypes are added to Shapes not Bodies. So collision.int1 is a shape.

        var fruit:Body = collision.int1.castShape.body as Body;
        removeChild(fruit.userData.graphic);
        space.bodies.remove(fruit);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16319268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档