0

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

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

特别是stage.stageHeight和mcMain.height?

4

2 回答 2

2

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

CGRect bounds = self.bounds;

这将返回 a CGRect,它本身由 a CGPoint、被调用originCGSize被调用组成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以某种方式。

于 2009-07-11T18:21:52.693 回答
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);
}
于 2009-07-11T21:40:07.223 回答