ActionScriptコードのObjective-Cの等価
-
12-09-2019 - |
質問
誰がこの本のActionScriptを変換することができ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フレームワークに探してお勧めします:<のhref =「http://www.cocos2d-iphone.org/」 rel = "nofollowをさnoreferrer"> 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);
}