0

iOS 用のシンプルな小さなスプライト キット ゲームがあります。UIView (メイン メニュー ボタン/タイトルを含む) を SKView の上に表示しようとしています。これはゲームプレイ用ではなく、別のビューにあります。

UIView (クラスが SKView に設定されている) と、すべての UIButtons とゲーム タイトルを持つ別の UIView をセットアップしました。

ただし、ボタン/タイトルを含む UIView の上に SKView を表示することはできません。

私がこれをやろうとしている一般的な理由は、メイン メニューで、ユーザーがボタンを選択する際に、一種の素敵な効果としてバックグラウンドで素敵な連続アニメーションを発生させたいからです。いくつかのメソッドと非常に基本的な UIView アニメーション コードでアニメーションを試してみることができますが、UI がブロックされ、それを機能させるのが面倒になるため、SpriteKit アニメーションははるかに優れており、スムーズです。

これが私がそれをやろうとしている方法です:

// In header file:
IBOutlet UIView *anim_view;

// In implementation file:
// Configure the view.
SKView *skView = (SKView *)anim_view;
// Instead of ... self.view ... I have anim_view    

skView.showsFPS = NO;
skView.showsNodeCount = NO;

// Create and configure the scene.
SKScene *scene = [MyScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;

// Present the scene.
[skView presentScene:scene];

私のストーリーボード ファイルには、次のように話したように 2 つの UIView があります。

Storyboard UIView 設定イメージ

この問題を回避するにはどうすればよいですか?

時間をありがとう、ダン。

4

1 に答える 1

1

SKView は UIView に基づいており、積み重ねようとするのではなく、それらを交換するだけです。

[UIView transitionFromView:self.view toView:MySecondView duration:0.25 options:UIViewAnimationOptionTransitionCrossDissolve completion:^(BOOL finished) {
    // What to do when its finished.
}];

この回答を参照してください: https://stackoverflow.com/a/11848297/183

于 2014-10-22T22:33:20.830 に答える