Bramble
Bramble

Reputation: 1395

Objective-C equivalent of Actionscript code

Can anyone help convert this this actionscript to Objective-c?

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

Specifically the stage.stageHeight and mcMain.height?

Upvotes: 0

Views: 1123

Answers (2)

Matt Rix
Matt Rix

Reputation: 844

If you're coming from the Flash world(like I did), then I highly recommend looking into the open source Cocos2D-iPhone framework: http://www.cocos2d-iphone.org/

I've rewritten your code in approximate Objective-C, just to give you an idea of what it might look like.

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);
}

Upvotes: 0

Alex Rozanski
Alex Rozanski

Reputation: 38005

Without knowing what mcMain and stage are, no, not easily. I assume that stage refers to the main drawing area; assuming that you are drawing within a UIView subclass, you can find the dimensions of the view by calling bounds upon the view:

CGRect bounds = self.bounds;

This will return a CGRect, which in itself is comprised of a CGPoint, called origin, and a CGSize called size; these are C-structs:

struct CGPoint {
    CGFloat x;
    CGFloat y;
};

struct CGSize {
    CGFloat width;
    CGFloat height;
};

To find the height of the UIView, you can do so quite simply:

CGFloat height = self.bounds.size.height;

Assuming that you are trying to find out the height of the view from within the view class itself.

I'm guessing that mcMain refers to some kind of image or object, so implementation of that is dependent on what it is. However, most co-ordinates rely on CGRect, CGPoint and CGSize in some way or another.

Upvotes: 2

Related Questions