Flappy Bird를 모방 한 here 자습서를 따르고 있습니다. (_physicsNode의 자식 노드) 이상적으로 온 세상이 왼쪽으로 스크롤합니다Cocos2D : CCPhysicsNode 및 하위 스프라이트가 다른 속도로 이동합니다.
- (void)update:(CCTime)delta {
_hero.position = ccp(_hero.position.x + delta * scrollSpeed, _hero.position.y);
_physicsNode.position = ccp(_physicsNode.position.x - (scrollSpeed *delta), _physicsNode.position.y);
...
}
및 _hero가 화면에 계속 머물 것 같은 속도로 오른쪽으로 이동 : 부분에서 게임 장면을 스크롤합니다. 하지만 시뮬레이터에서 코드를 실행하면 _hero 스프라이트가 빛의 속도로 오른쪽으로 튀어 오릅니다 (_physicsNode의 스크롤 속도보다 약 10 ~ 20 배 빠름). _physicsNode와 그 안의 다른 것들은 의도 한대로 정상 속도로 왼쪽으로 스크롤됩니다.
_hero에 움직임을주지 않으면 _physicsNode와 함께 정상적으로 스크롤됩니다.
CCAction *moveAction = [CCActionMoveBy actionWithDuration:1 position:ccp(-scrollSpeed,0)];
CCActionRepeatForever *repeatAction = [CCActionRepeatForever actionWithAction:(CCActionInterval *)moveAction];
[_physicsNode runAction:repeatAction];
을 그리고 여전히 같은 결과를 얻을 :
나는 게임을 시작 CCAction를 사용하여 같은 다른 방법을 시도했다. _hero가받는 속도 값은 _physicsNode가받는 속도와 항상 다릅니다.
아무에게도 왜 이런 일이 일어나고 어떻게 해결할 수 있습니까? 도움이된다면 cocos2d 3.3을 사용하고 있습니다.