2009-07-11 2 views
0

Может ли кто-нибудь помочь преобразовать этот этот ActionScript в Objective-c?Objective-C эквивалент ActionScript-кода

if(mcMain.y >= stage.stageHeight - mcMain.height) 
{ 
    mainJumping = false; 
    mcMain.y = stage.stageHeight - mcMain.height; 
} 

В частности, stage.stageHeight и mcMain.height?

ответ

2

Не зная, что mcMain и stage, нет, не легко. Я предполагаю, что stage относится к основной области рисования; при условии, что вы рисуете в UIView подкласса, вы можете найти размеры зрения по телефону bounds по мнению:

CGRect bounds = self.bounds; 

Это вернет CGRect, которая сама по себе состоит из CGPoint, называется origin, и CGSize под названием size; это C-Структура:

struct CGPoint { 
    CGFloat x; 
    CGFloat y; 
}; 

struct CGSize { 
    CGFloat width; 
    CGFloat height; 
}; 

Чтобы найти высоту UIView, вы можете сделать это довольно просто:

CGFloat height = self.bounds.size.height; 

Предполагая, что вы пытаетесь выяснить высоту зрения изнутри сам класс представления.

Я предполагаю, что mcMain относится к какому-либо изображению или объекту, поэтому реализация этого зависит от того, что это такое. Однако большинство координат полагаются на CGRect, CGPoint и CGSize тем или иным способом.

0

Если вы пришли из мира вспышки (как я), то я настоятельно рекомендую посмотреть с открытым исходным кодом Cocos2D-iPhone рамок: http://www.cocos2d-iphone.org/

Я переписать свой код в приблизительном Objective-C, просто чтобы дать вам представление о том, как это может выглядеть.

float stageHeight = [UIScreen mainScreen].bounds.size.height; 
float guyHeight = mainGuy.contentSize.height; 

if(mainGuy.position.y >= stageHeight - guyHeight) 
{ 
    mainJumping = NO; 
    mainGuy.position = ccp(mainguy.position.x, stageHeight-guyHeight); 
} 
Смежные вопросы