gratis game creator cocos2d cocos iphone objective-c cocos2d-iphone

iphone - cocos2d - cocos game creator



¿Cómo podemos mostrar UIViewController y UIView usando Cocos2d? (2)

Intento crear una aplicación para iPhone utilizando Cocos2d. Pero he usado cuatro tipos de clases, como por ejemplo:

@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

pero ¿cómo puedo mostrar la clase FlipView y HelloController a través de la clase MenuLayer?


Es muy difícil responder a esta pregunta solo desde el código, pero creo que debes volver atrás y leer un poco sobre el diseño de UIKit y la programación de cocos2d.

HelloController es un controlador de vista; no puede ''mostrarlo''. Un controlador de vista es una clase que responde a los mensajes de una vista y controla los datos que muestra desde el modelo.

FlipView es un ImageView que es una subclase de UIView. Para que UIKit represente esta imagen, debe agregarla a otra vista usando [UIView addSubView:...]

Esto es lo que creo que quieres hacer:

  1. El elemento del menú recibe un evento táctil. Señala a:
  2. el controlador de vista que
  3. agrega el UIImage a la vista principal

Sin embargo, como dije, esta es una pregunta muy general y realmente creo que debería volver a la documentación y pensar en su diseño. Los documentos de Apple son buenos y ahora hay algunos buenos libros de iPhone en el mercado.


Si está preguntando cómo adjuntar vistas de UIKit y tal a un proyecto de cocos2d-iphone, solo tiene que hacerlo como sigue:

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

Actualizado a cocos 0.7 y ahora esto es:

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

Y en Cocos 0.99:

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

Y en Cocos 2.0

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