저는 CCParallaxNode를 사용하여 Ray Wenderlich의 카테고리와 함께 3 개의 배경을 스크롤하여 화면 밖으로 나갈 때 배경을 이동 시켰습니다.스크롤 할 때 CCParallaxNode 추가 자식
제 문제는 제가 매 5 초마다 비행 중 어린이를 추가하고 싶다는 것입니다. 일반적으로 나는 CCMoveTo 액션을 사용하여 부모 레이어에 적을 추가하여 스크린 위에서 움직이게하지만, 시야를 시차 레이어의 전경을 따라 가길 원합니다.
게임이 진행됨에 따라 스크롤 속도가 천천히 증가합니다. 누군가가 이것 좀 도와 줄래
CGFloat offset = self.gameBackground.position.x;
[self.gameBackground addChild:enimy z:5 parallaxRatio:ccp(0.1, 0.1) positionOffset:ccp(offset, 85)];
를 호출 할 때
나는 오프셋 권리를 알아낼 수없는 이유는 무엇입니까?
편집 :
I'am가 배경 이동이 일을 :
- (void)update:(ccTime)delta
{
self.speed -= 0.5f;
CGPoint backgroundScrollVel = ccp(self.speed, 0);
self.gameBackground.position = ccpAdd(self.gameBackground.position, ccpMult(backgroundScrollVel, delta));
}
감사를
광선 기사 : http://www.raywenderlich.com/3611/how-to-make-a-space-shooter-iphone-game
최종 솔루션 :
나는 Parallax 대신에 CCLayer에 enimies를 추가하기 만했다. 갱신에
: (ccTime) 델타 : 시차에서 가장 중요한 계층 어린이와 같은 속도로 enimies를 이동하려면 난 다음 한
CGFloat parallaxRatio = 0.1f;
CGPoint backgroundScrollVel = ccp((self.backgroundSpeed * - 1) * parallaxRatio, 0);
for(WKEnimy *enemy in self.enimies)
{
enemy.position = ccpAdd(enemy.position, ccpMult(backgroundScrollVel, delta));
}
'gameBackground'는'ParallaxNode' 또는 그 자식 중 하나입니까? – ssantos
gameBackground가 ParallaxNode입니다. –
이 경우, 적 층 스프라이트를 하위 레이어 중 하나 (실제로 주인공 Sprite를 보유하고있는 레이어)에 추가하는 것이 더 쉽지 않습니까? – ssantos