IOS Sprite Kit didbegincontact не работает правильно
-
20-12-2019 - |
Вопрос
У меня есть 2 изображения без фона с треугольниками, я хочу соединить один треугольник с другим, но Sprite Kit, думая, что мои изображения квадратные не треугольники, и называйте меня DidBegincontact не в нужное время, например:
Я создаю свой спрайт, как это:
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];
.
Прочитайте на методе здесь .
Для того, чтобы получить значения для создания пути, вы можете использовать recphysics-body Path Generator / P >.
Не связан с StackOverflow