【Swift】SpriteKitの使い方。シーンエディタで非表示アクションを設定する。【Swift】SpriteKitの使い方。シーンエディタで非表示アクションを設定する。Actionについて説明する。Actionは非表示になっているノードを表示するアクションである。現在非表示かどうかはノードのhiddenプロパティで確認でき(true:非表示、false:表示)、このアクションを呼び出すことでhiddenプロパティが変更される。Actionを使わなくてもhiddenプロパティの値を変更するだけでも表示、非表示を切り替えられる。実際にノードに非表示アクションを追加してみよう。以降の手順を行う前のXcodeプロジェクトをGitHubに置いたので、試してみる方はご利用下さい。事前準備では、背景と鳥のノードをSKSファイルのシーンに追加しておいた。Sceneファイル(以下、SKSファイル)の作り方については次の記事を参照されたし。Action下図赤枠のSKSファイルを選択してシーンエディタを開く。Animate横のボタン(黄緑枠)を押してタイムラインを表示する。Action」を鳥ノードのタイムラインまで運ぶ(紫矢印)。Timeに「2」、Durationに「2」を入力する。以下は実際のプレイ動画。切り替えから2秒後に鳥が消えた。このように、フェードアウトのように徐々に薄くなって消えるのではなく、アクションが実行された瞬間に鳥は非表示になる。https://hajihaji-lemon.com/apli/wp-content/uploads/2016/08/spritekit_hide_action_movie.mp4アトリビュートインスペクタの設定項目を説明する。Timeシーンが切り替わったタイミングから何秒後にアクションを実行するかを指定する。Durationアクションの所要時間を指定する。所要時間の長さに関わらず、アクションが実行された瞬間に非表示になる。所要時間は他のアクションと組み合わせるときのタイミングの調整に用いることになる。ちなみに、上記と同じ動きをソースコードで実装するにはTestScene.swiftを以下のコードに変更する。//SKSファイルに配置した鳥ノードを取得する。//2秒待機のアクションを作成する。//非表示アクションを作成する。//アクションをまとめる。//アクションを実行する。{//SKSファイルに配置した鳥ノードを取得する。SKSpriteNode//2秒待機のアクションを作成する。SKAction.waitForDuration(2.0)//非表示アクションを作成する。SKAction.hide()//アクションをまとめる。SKAction.sequence([action1,action2])//アクションを実行する。Action非表示のノードを表示するアクションなので、表示されているノードに対してこのアクションを実行しても何も変わらない。Actionを実行したり、hiddenプロパティをtrueに設定してノードを消しておく必要がある。Time「0」、Duration「1.0」に変更する。Timeに「2」、Durationに「2」を入力する。以下は実際のプレイ動画。https://hajihaji-lemon.com/apli/wp-content/uploads/2016/08/spritekit_hide_unhide_movie.mp4上記と同じ動きをソースコードで実装するには、TestScene.swiftを以下のコードに変更する。//SKSファイルに配置した鳥ノードを取得する。//鳥ノードを非表示にする。//2秒待機のアクションを作成する。//表示アクションを作成する。//アクションをまとめる。//アクションを実行する。{//SKSファイルに配置した鳥ノードを取得する。SKSpriteNode//鳥ノードを非表示にする。true//2秒待機のアクションを作成する。SKAction.waitForDuration(2.0)//表示アクションを作成する。SKAction.unhide()//アクションをまとめる。SKAction.sequence([action1,action2])//アクションを実行する。bird?.runAction(actionAll)}}非表示にするときにalphaプロパティは変更されないので、透過されているノードのアルファ値を気にせずに表示、非表示の切り替えができるのが嬉しい。【Swift】SpriteKitの使い方。2つの物理ボディをくっつけたり、ピンやヒモで結合する。Sceneファイルの使い方。ストーリーボードのようにノードをマウスで運んで配置する。...【Swift】SpriteKitの使い方。SKTileMapNodeをソースコードで操作する。...【Swift】SpriteKitの使い方。シーンエディタでフェードアクションを設定する。...【Swift】SpriteKitの使い方。シーンを重ねて表示する。コメントをキャンセルメールアドレスが公開されることはありません。