Frage

Kann jemand diese dieses Actionscript in Objective-C helfen konvertieren?

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

Insbesondere die stage.stageHeight und mcMain.height?

War es hilfreich?

Lösung

Ohne zu wissen, was mcMain und stage sind, nein, nicht leicht. Ich gehe davon aus, dass stage auf den Hauptzeichenbereich bezieht; vorausgesetzt, dass Sie innerhalb eines UIView Unterklasse zeichnen, um die Abmessungen der Ansicht finden kann telefonisch bounds von der Ansicht:

CGRect bounds = self.bounds;

Dies wird eine CGRect zurückkehren, die an sich von einem CGPoint, genannt origin besteht, und eine CGSize genannt size; diese sind C-structs:

struct CGPoint {
    CGFloat x;
    CGFloat y;
};

struct CGSize {
    CGFloat width;
    CGFloat height;
};

Um die Höhe des UIView zu finden, können Sie dies ganz einfach:

CGFloat height = self.bounds.size.height;

Unter der Annahme, dass Sie die Höhe der Ansicht aus der Ansicht Klasse, um herauszufinden, versuchen, sich selbst.

Ich vermute, dass mcMain zu irgendeiner Art von Bild oder Objekt bezieht, so Umsetzung das ist davon abhängig, was es ist. Allerdings verlassen sich die meisten Koordinaten auf CGRect, CGPoint und CGSize in eine oder andere Weise.

Andere Tipps

Wenn Sie aus der Flash-Welt kommen (wie ich), dann empfehle ich in die Open-Source-Suche Cocos2D-iPhone Rahmen: http://www.cocos2d-iphone.org/

Ich habe den Code in ungefährem Objective-C neu geschrieben, nur um Ihnen eine Vorstellung davon zu geben, was es aussehen könnte.

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);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top