所以我希望我的英雄与屏幕边缘碰撞,但只是右侧和左侧墙壁不与底部或顶部碰撞。只有左右屏幕边缘的Sprite Kit冲突检测
到现在为止我已经建立了这个在我-(id)initWithSize:(CGSize)size
:
self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
self.physicsBody.categoryBitMask = SceneEdgeCategory;
我的英雄都有这在他的方法:
hero.physicsBody.collisionBitMask = SceneEdgeCategory;
一切伟大的工程,到目前为止,但作为整个屏幕是物理身体我的英雄与所有的边缘碰撞。任何想法如何让他与墙壁碰撞?
感谢您的帮助球员
我将leftPhysicsBody和rightPhysicsBody添加到了我的属性列表中,并将上面的代码添加到了我的initWithSize方法以及点的定义中,但它不会以某种方式实现。点的定义是正确的,我检查了。有什么特别的我需要知道如何设置leftPhysicsBody/rightPhysicsBody? – Vincent
你确定你正确定义了所有的点吗? [这是一个文档](https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Nodes/Nodes.html),介绍sprite套件使用的坐标系统。我认为正确的观点是0,0(左下); 0,1(左上角); 1,0(右下)和1,1(右上)。 – 68cherries
您是否可以在-didBeginContact中检测联系人?我试图检测身体和我在屏幕上创建的边缘矩形之间的接触,但它根本不起作用! –