gpt4 book ai didi

ios - Sprite Kit 仅对屏幕左右边缘进行碰撞检测

转载 作者:行者123 更新时间:2023-11-29 12:48:45 25 4
gpt4 key购买 nike

所以我希望我的 Hero 与屏幕边缘发生碰撞,但只是与左右墙壁发生碰撞,而不是与底部或顶部发生碰撞。

到目前为止,我已经在我的 -(id)initWithSize:(CGSize)size 中设置了它:

self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
self.physicsBody.categoryBitMask = SceneEdgeCategory;

我的英雄在他的方法中有这个:

hero.physicsBody.collisionBitMask = SceneEdgeCategory;

到目前为止一切正常,但由于整个屏幕是一个物理体,我的英雄与所有边缘发生碰撞。任何想法如何让他与墙壁碰撞?

谢谢大家的帮助

最佳答案

您正在做的是在整个屏幕周围添加一个物理“框”。您正在寻找的是屏幕左右两侧的两堵墙。这应该可以解决问题:

//make sure that you define the topLeftPoint, bottomLeftPoint, topRightPoint and bottomLeftPoint variables 

self.leftPhysicsBody = [SKPhysicsBody bodyWithEdgeFromPoint:topLeftPoint toPoint:bottomLeftPoint];
self.leftPhysicsBody.categoryBitMask = SceneEdgeCategory;

self.rightPhysicsBody = [SKPhysicsBody bodyWithEdgeFromPoint:topRightPoint toPoint:bottomRightPoint];
self.rightPhysicsBody.categoryBitMask = SceneEdgeCategory;

关于ios - Sprite Kit 仅对屏幕左右边缘进行碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22964777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com