У меня есть игрок в моей игре, у него два состояния, летящие, падающие. У каждого из них есть изображение: player_flying, player_falling соответственно. Я также использую физические тела для обнаружения столкновения. Это нормально работает, когда я использую одну текстуру. Но когда я пытаюсь использовать оба в разных условиях, используя разные текстуры, это показывает мне ошибку в журнале. Я пытаюсь это так:SpriteKit PhysicsBody: Не удалось создать физическое тело
if (self.player.physicsBody.velocity.dy > 30) {
self.player.texture = [SKTexture textureWithImageNamed:@"player_flying"];
self.player.physicsBody = [SKPhysicsBody bodyWithTexture:self.player.texture
size:self.player.size];
}
else
{
self.player.texture = [SKTexture textureWithImageNamed:@"player_falling"];
self.player.physicsBody = [SKPhysicsBody bodyWithTexture:self.player.texture
size:self.player.size];
}
ошибка:
2014-08-30 12: 55: 47,515 kalabaska [1569: 50535] PhysicsBody: Не удалось создать физику тела.
проверить, что оба изображения загружены, то есть self.player.texture не должно быть nil – LearnCocos2D
Это не ноль, на самом деле это даже изменяет текстуру в игре, но не меняет физическое тело, и кажется статическим изображение на экране. –
Является ли приведенный выше код реализованным в методе обновления? – 0x141E