2014-06-20 2 views
0

스프라이트 빌더 및 cocos2d 사용시 초보자입니까?SpriteBuilder에서 실행중인 스프라이트 점프

스프라이트 빌더와 해당 타임 라인을 사용하여 스프라이트 연속체를 실행했다. 앱이 성전 달리기 게임과 같이 시작되면 히어로 스프라이트가 계속 실행됩니다.

사용자가 화면을 탭하면이 스프라이트가 점프해야합니다. 실행중인 스프라이트를 화면에 두드리는 방법을 구현하는 방법을 구현하는 구조체입니까?

다음은 내 스프라이트를 점프하기 위해 touchBegan에 작성한 코드입니다. 여기서는이 실행중인 애니메이션을 스프라이트 점프 애니메이션과 병합해야합니다. 어떤 제안이나 도움이 큰 도움이 될 것입니다.

[_hero.physicsBody applyImpulse:ccp(0, 400.f)]; 
+1

구체적인 문제를 명확히하거나 필요한 것을 정확하게 강조 표시하십시오. 현재 작성된 내용이므로 귀하가 원하는 내용을 정확하게 말하기는 어렵습니다. How to Ask 페이지에서이 질문에 대한 설명을 참조하십시오. – LearnCocos2D

+0

위 내 편집 찾기 – nik

+0

화면 터치시 점프 스프라이트로 실행중인 스프라이트를 병합하는 방법 – nik

답변

0

내가 한 방식은 typedef 열거 형을 사용하여 문자 상태를 저장할 변수 세트를 설정하는 것입니다. 이것을 Definitions.h 클래스에서 설정하십시오. 그런 다음 주인공 클래스에서 switch 문을 사용하여 상태를 변경하는 메서드를 추가합니다. 예를 들어, jumpState가 전달되고 현재 상태가 runState 인 경우 메소드는 상태를 jumpState로 변경하고 jumpAnim이라는 메소드를 실행합니다. 그런 다음 JumpAnim에서 애니메이션을 코딩하거나 spritebuilder에서 애니메이션을로드 할 수 있습니다.

그런 다음 Gameplay가 완성 된 다른 클래스에서 touchBegan 메소드가있는 GamePlay 레이어라고 부릅니다. GameplayLayer.h에서 jumptimer의 값을 저장하기 위해 CCTime 변수를 설정하고 위로 점프 애니메이션이 실행되는 시간을 설정하십시오.

touchBegan 메소드에서 상태를 점프로 변경하고 점프 타이머를 재설정 할 수 있습니다.

그런 다음 update 메소드에서 updateHero 메소드를 호출하십시오. updateHero는 if 문을 가지며, 영웅 상태가 jumpState 인 경우 점프 타이머가 만료 될 때까지 3 점 이동합니다. 타이머가 만료되면 상태를 fallingState로 변경하십시오. Falling 상태는 문자 클래스의 switch 문에도 있어야합니다.

희망 하시겠습니까?