Objective-C相当于Actionscript代码

时间:2009-07-11 18:09:16

标签: objective-c actionscript-3 porting

任何人都可以帮助将此动作脚本转换为Objective-c吗?

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

具体是stage.stageHeight和mcMain.height?

2 个答案:

答案 0 :(得分:2)

不知道mcMainstage是什么,不,不容易。我假设stage指的是主绘图区域;假设您在UIView子类中绘图,您可以通过在视图上调用bounds来查找视图的维度:

CGRect bounds = self.bounds;

这将返回CGRect,其本身由CGPoint组成,名为originCGSize名为size;这些是C结构:

struct CGPoint {
    CGFloat x;
    CGFloat y;
};

struct CGSize {
    CGFloat width;
    CGFloat height;
};

要查找UIView的高度,您可以非常简单地执行此操作:

CGFloat height = self.bounds.size.height;

假设您正试图从视图类本身中找出视图的高度。

我猜测mcMain指的是某种图像或对象,因此它的实现取决于它是什么。但是,大多数坐标都以某种方式依赖CGRectCGPointCGSize

答案 1 :(得分:0)

如果您来自Flash世界(就像我一样),那么我强烈建议您查看开源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);
}