任何人都可以帮助将此动作脚本转换为Objective-c吗?
if(mcMain.y >= stage.stageHeight - mcMain.height)
{
mainJumping = false;
mcMain.y = stage.stageHeight - mcMain.height;
}
具体是stage.stageHeight和mcMain.height?
答案 0 :(得分:2)
不知道mcMain
和stage
是什么,不,不容易。我假设stage
指的是主绘图区域;假设您在UIView
子类中绘图,您可以通过在视图上调用bounds
来查找视图的维度:
CGRect bounds = self.bounds;
这将返回CGRect
,其本身由CGPoint
组成,名为origin
,CGSize
名为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
。
答案 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);
}