2012-02-28 3 views
0

잘 UIKit으로 게임을 만들었고 성능 문제가 발생하여 Cocos2D를 사용하기로 결정했습니다.이 코드를 cocos2D로 사용하고 싶지만 할 수 없습니다. 그것은 :Cocos2D에서 UIKit 코드를 사용할 수 없습니다.

- (CGPoint)randomPointSquare { 
CGRect frame = [[self view] frame]; 

//CGFloat rand_x = ((float)arc4random()/(float)UINT_MAX) * (float)_window.frame.size.width; 

NSInteger side = arc4random()/(UINT_MAX/4); 
CGFloat offset = 0; 

switch(side) { 
    case 0: /* top */ 
     offset = ((float)arc4random()/(float)UINT_MAX) * (float)frame.size.width; 
     return CGPointMake(offset, -10); 

    case 1: /* bottom */ 
     offset = ((float)arc4random()/(float)UINT_MAX) * (float)frame.size.width; 
     return CGPointMake(offset, frame.size.height-150); 

    case 2: /* left */ 
     offset = ((float)arc4random()/(float)UINT_MAX) * (float)frame.size.height; 
     return CGPointMake(-10, offset); 

    default: 
    case 3: /* right */ 
     offset = ((float)arc4random()/(float)UINT_MAX) * (float)frame.size.height; 
     return CGPointMake(frame.size.width+200, offset); 
} 
} 
-(void) createNewImage { 

UIImage * image = [UIImage imageNamed:@"abouffer_03.png"]; 
imageView = [[UIImageView alloc] initWithImage:image]; 
[imageView setCenter:[self randomPointSquare]]; 
} 

누군가가 당신은 내가 프랑스어 해요 내 영어에 대한 그렇군 애도 cocos2D.Thank에서 사용이 코드를 번역하려고 수 :/

+0

임의의 중심점이있는 이미지를 추가하려고하는 것 같습니다. Cocos2D에서 Cocos2D의 좌표는 Upper Left Origin이 아니라는 것을 기억하면서 CCSprite 클래스를 살펴보아야합니다. – Franck

답변

0

당신은 아마 새로운적인 Cocos2D 프로젝트를 만드는 것이 가장 좋은 선택이 될 것입니다 필요에 따라보기 구성 요소를 변환하는 동안 필요에 따라 코드에 게임 논리를 삽입하십시오.

예를 들어 UIImage는 CCSprite가됩니다.

하지만 운동 코드를 CCSprite가 포함 된 개체 안에 캡슐화하면 해당 개체를 다시 사용할 수 있습니다.

필자는 템플릿에서 새 cocos2d 프로젝트를 만들고 hello world 예제를 살펴 보겠습니다. 그런 다음 CCSprite를 추가하여 조금 움직여보십시오. 밖에 튜토리얼이 많이 있습니다 - This for example

관련 문제