Единственное возможное объяснение, которое я могу найти, заключается в том, что у вас есть дублированные теги в дереве узлов.
В этом случае [self getChildByTag:kPlayerSpriteTag]
просто вернет первый узел с getChildByTag:kPlayerSpriteTag
, который можетможет отличаться от player
.
Если вы используете теги для извлечения узлов, вы должны убедиться, что они уникальны.