Question

Quelqu'un peut-il aider à convertir ce ce actionscript Objective-c?

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

Plus précisément, le Stage.stageHeight et mcMain.height?

Était-ce utile?

La solution

Sans savoir ce que mcMain et stage sont, non, pas facilement. Je suppose que stage fait référence à la zone principale d'étirage; en supposant que vous dessinez dans une sous-classe de UIView, vous pouvez trouver les dimensions de la vue en appelant bounds sur la vue:

CGRect bounds = self.bounds;

Ceci renvoie un CGRect, ce qui en soi est composé d'un CGPoint, appelé origin, et un CGSize appelé size; ce sont des C-structs:

struct CGPoint {
    CGFloat x;
    CGFloat y;
};

struct CGSize {
    CGFloat width;
    CGFloat height;
};

Pour la hauteur du UIView, vous pouvez le faire tout simplement:

CGFloat height = self.bounds.size.height;

En supposant que vous essayez de trouver la hauteur de la vue à partir de la classe de vue elle-même.

Je suppose que mcMain fait référence à une sorte d'image ou un objet, de sorte que la mise en œuvre de ce dépend de ce qu'il est. Cependant, la plupart des coordonnées se fondent sur CGRect, CGPoint et CGSize d'une manière ou d'une autre.

Autres conseils

Si vous venez du monde flash (comme je l'ai fait), je vous recommande fortement la recherche dans l'open source-cadre Cocos2D-iPhone: http://www.cocos2d-iphone.org/

Je l'ai réécrit votre code en Objective-C environ, juste pour vous donner une idée de ce qu'il pourrait ressembler.

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);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top