2011-10-21 4 views
0

저는 Cocos2D를 처음 접했고 문자가 화면에서 떨어지지 않도록 화면 가장자리/테두리를 만드는 방법을 알고 싶습니다. 어딘가에 Cocos2D 또는 Box2D에서이 작업을 수행 할 수 있으며 사용하는 데 신경 쓰지는 않지만 어디서부터 시작해야할지 모르겠습니다. 나는 장치의 상단과 하단에서만 가장자리가 필요합니다. 이것이 보편적 인 응용 프로그램이 될 것이기 때문에이 값들이 하드 코딩되지 않았다면 좋을 것입니다. 실제로 국경을 할 때화면 만들기 '가장자리'(Cocos2D)

또한, 정지 화면의 외출에서 문자 진정한 방법은 무엇입니까? 중력을 0으로 설정해야합니까?

누구든지이 작업을 수행하는 방법을 알고 있습니까?

나는 이것을 알아 내는데 정말 고심하고있다!

감사합니다 !!!

답변

1

게임에서 석영을 사용한다면 각 UI 객체에는 경계 상자가 있어야합니다. 다음 코드와 비슷한 방식으로 액세스 할 수 있습니다.

UIImage *hero = [[UIImage alloc]initWithImage:image]; 

CGRect heroBoundingBox = hero.frame; 

게임이있는 UIViewController에도 경계 상자가 있습니다. 영웅이 화면에 있는지 확인하는 가장 간단한 방법은 CGRectContainsRect를 사용하는 것입니다. 일부 코드 같은

UIImage *hero = [[UIImage alloc]initWithImage:image]; 

CGRect heroBoundingBox = hero.frame; 

CGRect screenBoundingBox = viewController.frame; 

bool heroOnScreen = CGRectContainsRect(screenBoundingBox, heroBoundingBox); 

그럼 그냥 설정 :

if (heroOnScreen) { 
    //continue moving hero 
} else { 
    //move hero back on screen 
} 

그 어떤 예제 코드를 보거나이 작동하는 방법에 대한 자세한 내용을 모르고을 위해 무엇을해야하는지 말할 하드. 잘하면이 도움이 될 것입니다.

+0

어떻게 이것을 Cocos2d에 적용 할 수 있습니까? Cocos2d는 경계 상자와 함께 작동하지만 Obj-C에서 내 게임 부분을 코딩하지 않습니다./ –

+0

캐릭터를 구현하고 움직이는 방법에 대한 샘플 코드를 제공 할 수 있습니까? 나는 객관적으로 일하는 것만을 사용하고 있습니다. -c하지만 당신이 그것을 어떻게하는지 보았다면 그것을 적용 할 수있을 것입니다. – robhasacamera

+0

Cocos2D에 대한 문서를 찾았습니다. 많은 객체가 CGRect 또는 CGPoint를 정의하고있는 것처럼 보입니다 (이 경우 CGRectContainsPoint를 대신 사용할 수 있습니다). 당신의 캐릭터에 어떤 물건을 사용하고 있습니까? 그것의 CCSprite 경우 CGRectContainsRect 메서드에 필요한 CGRect 얻을 프레임 속성 대신 textureRect 속성을 얻을 것이다. – robhasacamera

관련 문제