2009-02-03 3 views
7

나는 내가 MenuLayer 클래스를 통해 FlipView 및 HelloController 클래스를 표시 할 수 있습니다Cocos2d를 사용하여 UIViewController 및 UIView를 표시하는 방법은 무엇입니까?

@interface MenuScene : Scene {} 

@end 
@interface FlipView : UIImageView 
{ 
    CGPoint startTouchPosition; 
    NSString *dirString; 
    UIImageView *firstPieceView; 
    UIImageView *secondPieceView; 

} 
@end 

@interface HelloController : UIViewController 
@end 


@interface MenuLayer: Layer{ 
     Todo *todo; 
     Menu * menu; 
     sqlite3 *database; 
     NSMutableArray *todos; 
    NSString *dirString; 
    CGPoint startTouchPosition; 
} 
@property (nonatomic, retain) NSMutableArray *todos; 
-(void) button1: (id)sender; 
-(void) button2: (id)sender; 
-(void) black_jack: (id)sender; 
@end 

bellow-하지만 어떻게 같은 클래스 의 네 가지 유형을 사용했다 Cocos2d.But를 사용하여 아이폰 응용 프로그램을 구축을 위해 노력하고 있습니다.

답변

2

코드에서이 질문에 대답하는 것은 매우 어렵지만 UIKit 디자인과 cocos2d 프로그래밍에 대해 다시 읽어야합니다.

HelloController는보기 컨트롤러이므로 '표시'할 수 없습니다. 뷰 컨트롤러는 뷰의 메시지에 응답하고 모델에서 표시하는 데이터를 제어하는 ​​클래스입니다.

FlipView는 UIView의 하위 클래스 인 ImageView입니다.

  1. 메뉴 항목이 터치 이벤트를 수신 :이 이미지를 렌더링 UIKit가하려면 [UIView addSubView:...]

    를 사용하여 다른보기에 추가해야하는 것은 여기에 내가 당신이 원하는 생각합니다. 그것은 신호 :

  2. 내가, 이것은 매우 일반적인 질문이고, 정말 당신이 문서로 돌아 가야한다 생각하지만 말했듯이

기본보기에있는 UIImage를 추가 뷰 컨트롤러 당신의 디자인에 대해 생각해보십시오. 애플의 문서는 훌륭하고 시장에 좋은 아이폰 책들이있다. 당신이 이러한적인 Cocos2D - 아이폰 프로젝트에 UIKit보기를 부착하는 방법을 요구하는 경우

20

, 당신은 그것을 좋아해야 할 :

[[[Director sharedDirector] window] addSubview:myView]; 
0.7을 코코스하도록 업데이트

이제이는 다음과 같습니다

[[[Director sharedDirector] openGLView] addSubview:myView]; 

[[[CCDirector sharedDirector] openGLView] addSubview:myView]; 

그리고 코코스 2.0

:

그리고 코코스 0.99에서

[[[CCDirector sharedDirector] view] addSubview:myView]; 
+0

myView를 제거하려면 어떻게해야합니까? 현재 장면에서 버튼을 누르면 다음 장면으로 이동합니다. 그러나 추가 된 myView는 여전히 해당 장면에 나타납니다. 감사합니다. –

+0

죄송합니다. 질문하기 전에 잘 확인하지 않았습니다. 알았다. 단추의 선택기에 다음 코드를 추가했습니다. (하위보기의 id sv) \t { \t [((UIView *) sv) removeFromSuperview]; \t [sv 릴리스]; \t} –

+0

한 번 더 질문드립니다. nib에서 UIView를 깨울 수 있습니까? – heximal

관련 문제