Objective-C的等效的ActionScript代码
-
12-09-2019 - |
题
谁能帮助这个这个动作转换成Objective-C的?
if(mcMain.y >= stage.stageHeight - mcMain.height)
{
mainJumping = false;
mcMain.y = stage.stageHeight - mcMain.height;
}
具体地,stage.stageHeight和mcMain.height?
解决方案
不知道什么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
以某种方式或另一种。
其他提示
如果你从闪存世界未来(像我一样),那么我强烈建议考虑开源的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);
}
不隶属于 StackOverflow