ios Sprite套件DidBeginContact不正常工作
-
20-12-2019 - |
题
我有2个没有三角形背景的背景图像,我想用另一个三角形连接,但Sprite套件认为我的图像是方形而不是三角形,并致电我没有在正确的时间,例如:
我像这样创建我的精灵:
self.sprite = [SKSpriteNode spriteNodeWithImageNamed:spriteName];
[self.sprite setSize:CGSizeMake(40, 40)];
self.sprite.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:self.sprite.size];
self.sprite.physicsBody.mass = 0;
self.sprite.physicsBody.usesPreciseCollisionDetection = YES;
self.sprite.physicsBody.categoryBitMask = Category;
self.sprite.physicsBody.collisionBitMask = 0;
self.sprite.physicsBody.contactTestBitMask = Category;
self.sprite.physicsBody.dynamic = YES;
. 解决方案
两个身体之间的触点取决于它们的物理体,而不是它们的纹理。所以,当你使用
时self.sprite.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:self.sprite.size];
.
您正在附加矩形物理体。
您需要使用该方法创建三角物理体:
[SKPhysicsBody bodyWithPolygonFromPath:path];
.
读取方法这里。
为了获取创建路径的值,可以使用 Skphysice Dath Generator 工具。
不隶属于 StackOverflow