繁体   English   中英

卸下车身上的固定装置(cocos2d / box2d)

[英]Removing a fixture on body (cocos2d/box2d)

我有几个球在屏幕上弹跳,每个球都有自己的身体,可以互相弹开。 用户可以捡起一个球并将其拖动到屏幕周围。

我想“杀死”选定的球,以便只要用户向下触摸它,便可以暂时将其从空间中移出。 因此,其他球会通过它弹跳,好像它不在那儿一样。 释放后,球将恢复其物理性质,并可以继续反弹。

我应该如何执行呢? 我应该完全移除主体并在touchEnded上重新创建它吗? 任何想法或帮助表示赞赏。 谢谢

我相信您无法在现有实体上添加/删除固定装置。 实现所需功能的方法是禁用主体(将其活动状态设置为false)。 您还可以更改其碰撞过滤器/蒙版,以使其不会与某些游戏对象发生冲突,但仍会与世界边界发生冲突。

您可以将Box2D主体包装在一个自定义类中,该类将保留定义(bodyDef和FixtureDef可重用),然后可以:

  • 销毁/重建现有物体上位置0、0的夹具,通过触摸移动
  • 或在触摸位置破坏/重建整个身体

我相信管理夹具可以更好地提高性能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM