このアクションスクリプトをObjective-cに変換するのを手伝ってくれる人はいますか?
if(mcMain.y >= stage.stageHeight - mcMain.height)
{
mainJumping = false;
mcMain.y = stage.stageHeight - mcMain.height;
}
具体的には、stage.stageHeight と mcMain.height?
このアクションスクリプトを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
何らかの形で依存しています。
あなたが 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);
}