[英]Removing a fixture on body (cocos2d/box2d)
我有几个球在屏幕上弹跳,每个球都有自己的身体,可以互相弹开。 用户可以捡起一个球并将其拖动到屏幕周围。
我想“杀死”选定的球,以便只要用户向下触摸它,便可以暂时将其从空间中移出。 因此,其他球会通过它弹跳,好像它不在那儿一样。 释放后,球将恢复其物理性质,并可以继续反弹。
我应该如何执行呢? 我应该完全移除主体并在touchEnded上重新创建它吗? 任何想法或帮助表示赞赏。 谢谢
我相信您无法在现有实体上添加/删除固定装置。 实现所需功能的方法是禁用主体(将其活动状态设置为false)。 您还可以更改其碰撞过滤器/蒙版,以使其不会与某些游戏对象发生冲突,但仍会与世界边界发生冲突。
您可以将Box2D主体包装在一个自定义类中,该类将保留定义(bodyDef和FixtureDef可重用),然后可以:
我相信管理夹具可以更好地提高性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.