내가 얻으려고하는 것은 레벨 도우미를 사용하여 만든 LHSprite의 동작을 제어하기 위해 Cocos2d SneakyInput SneakyJoystick을 사용하는 것입니다. 내 box2d/cocos2d 게임.레이어의 SneakyJoystick을 사용하여 다른 레이어의 게임 캐릭터를 제어
하지만 조그마한 조이스틱 조이스틱은 내 게임 플레이와 같은 레이어에 있으며 내 게임 화면이 캐릭터를 따라 다니는 것처럼 보입니다. 조이스틱은 실제로 카메라에서/화면이 이동되었습니다.
저는 별도의 레이어 ('MyUILayer')에서 조이스틱을 설정하고이를 사용하여 'GameLayer'에서 내 캐릭터를 제어하려고했습니다. 내가 액세스 시도 GameLayer '에서 지금
@interface MyUILayer : CCLayer {
SneakyJoystick *leftJoystick;
SneakyButton * jumpButton;
SneakyButton * attackButton;
}
@property (readonly) SneakyButton *jumpButton;
@property (readonly) SneakyButton *attackButton;
@property (readonly) SneakyJoystick *leftJoystick;
: 나는 다음과 같은 sneakyJoystick 구성 요소를 설정하는 코드가'MyUILayer '에
: 여기
내가이 일을 해봤 어떻게 부적 절한 조이스틱에 의해 생성 된 값은 'MyUILayer'에 'leftJoystick'이라고 부릅니다. 'GameLayer'원 '에서
//in my INIT method
{
MyUILayer *UILAYER = [[MyUILayer alloc]init];
characterJoystick = UILAYER.leftJoystick;
[self scheduleUpdate];
// Define what 'character' is and what 'characterBody' is ('character is a LHSprite, and 'characterBody' is a b2Body)
}
//in my tick method
{
b2Vec2 force;
force.Set(characterJoystick.velocity.x * 10.0f, 0.0f);
characterBody->ApplyForce(force, characterBody->GetWorldCenter());
}
난 정말 왜'characterBody '이해할 수 없다 : GameLayer.mm에서
#import "MyUILayer.h"
@interface GameLayer : CCLayer {
//.............
LHSprite *character;
b2Body *characterBody;
SneakyJoystick *characterJoystick;
SneakyButton *jumpButton;
SneakyButton *attackButton;
//.............
}
: 선언 파일 (GameLayer.h)에서
'MyUILayer'의 'leftJoystick'값에 따라 이동합니다.죄송합니다. - 프로젝트 파일도 업로드 했으므로 프로젝트 자체를 살펴볼 수 있습니다 : https://dl.dropbox.com/u/2578642/ZOMPLETED%202.zip
도움을 줄 수있는 사람에게 큰 감사를 전합니다!
고맙습니다. - 모두 일하고 있습니다 : D – Harry