リソース操作・シーケンス


Game Maker Language リファレンス > 組み込み関数 用途別 > リソース操作 > リソース操作・シーケンス

リソース操作・シーケンス

シーケンス操作関数

シーケンスは通常、シーケンスエディターを使用してIDEで作成されますが、コードを使用して作成および編集することもできます。 ただし、使用可能な関数を確認する前に、シーケンスがGameMakerで定義される方法と、使用されるさまざまな用語を理解することが重要です。

まず、トップレベルにシーケンス要素があります。 これは、ルームエディターを介して、または適切なレイヤー関数を使用したコードで、ルームのレイヤーに配置するものです。 レイヤーエレメントにはエレメントID値以外の実際のプロパティはありませんが、このIDは、上記のレイヤー関数を使用してシーケンスの再生を変更したり、シーケンスデータにアクセスしたりするために必要です。

次に、一般的なオブジェクトとインスタンスと同じように、シーケンスオブジェクトとシーケンスインスタンスがあります。 シーケンスオブジェクトは、アセットブラウザで作成したか、関数 sequence_create() を使用して作成したベースリソースであり、シーケンスインスタンスは、レイヤーの要素として部屋に配置されたそのシーケンスオブジェクトの「コピー」 です。 シーケンスオブジェクトはブループリントとして、シーケンスインスタンスはそれらのブループリントからの作成として考えることができます。 シーケンスオブジェクトとインスタンスは構造体であり、通常のオブジェクトとは異なり、シーケンスオブジェクトの構造体は実行時に編集できます。これは、要素として作成すると、そのシーケンスの以降のすべてのインスタンスに影響します(シーケンスオブジェクトに対して行われた編集はリセットされません) room_restart() または game_restart() 関数を使用してゲームまたはルームを再起動する)。 シーケンスインスタンス構造体には、再生を制御するためのいくつかのパラメーターと、シーケンスデータ構造体(以下で詳しく説明します)およびシーケンスデータ構造体が含まれています。

最後に、上記のように、もう1つの構造体であるシーケンスデータがあります。 この構造体には、シーケンスに関するすべてのデータが含まれています。 含まれるトラック、それらのトラックが持つプロパティ、再生速度など。 この構造体の内容の正確な詳細を以下に示しますが、基本的にはアセットトラック構造体とパラメータートラック構造体で構成され、キーフレームデータを使用してシーケンスの再生中に実際にアクションを実行します。

関数

シーケンス要素はルームレイヤー関数を使用して処理されますが、シーケンスオブジェクト、インスタンス、およびデータの場合、次の関数があります。

データ構造

The Sequence Object Struct
 > The Sequence Instance Struct
  > The Track Struct
   > The Keyframe Struct
    > The Keyframe Data Struct

シーケンスエディターについて

Editor_Sequences.png


シーケンスは、時間の経過とともに動的アニメーションを実行するアセットのコレクションです。
スプライト、インスタンス、サウンドなどを含めることができ、これらのそれぞれを設定して、シーケンス自体の中で移動または色を変更したり、アニメーションを時間の経過とともに開始/停止したりできます。

追加したアセットはシーケンス内の特定のトラックに割り当てられ、これらのトラックにはキーフレームと呼ばれるさまざまな属性を適用できます。
これらの属性は、静的または時間の経過に応じて変化します。 シーケンスのすべての編集は、基本的に3つの領域で構成されるシーケンスエディターで行われます。

  1. キャンバス (Canvas):シーケンスを構成するアセットを配置する
  2. トラックパネル (Track Panel) :アセットトラックとパラメータートラックをシーケンスに追加・削除する
  3. ドープシート (Dope Sheet) :トラックのキーフレームを追加・削除・編集し、時間の経過に伴うキーフレームの動作を制御する

シーケンス内にシーケンスを設定して複雑なアニメーションや効果を作成することもできます。 また、シーケンスをコードからアクセスおよび変更して、ゲームでのシーケンスの表示および使用方法を可能な限り制御することもできます。 シーケンスのコード化された側面の詳細については、シーケンス関数のセクションを参照してください。

エディターの詳細を説明する前に、シーケンスがどのように作成されるか、および説明で使用されるいくつかのキーワードについて説明します。
これにより、シーケンスエディターの仕組みをより完全に理解できます。 シーケンスを作成するための一般的なワークフローは次のとおりです。


  1. 最初に、アセットブラウザーからシーケンスを作成します。これにより、シーケンスエディターが開きます
  2. 次に、アセット(スプライト、オブジェクト、サウンド、またはシーケンス)をエディターのキャンバスにドラッグします
  3. これにより、トラックパネルにアセットトラックが作成され、ドープシートにアセットキーが追加されます。 アセットトラックは、単にアセットを含むトラックの名前ですが、アセットキーは、アセットがシーケンスでアニメーション化されるフレームの数を表すために描画されるバーです
  4. この時点で、通常はアセットをキャンバス内のシーケンスの開始点の初期位置に配置し、スケールや回転などの初期変換を追加します
  5. 初期設定から変更するには、パラメーターキー(またはキーフレーム)を記録する必要があります。キーフレームとは、ドープシートのタイムライン上において、アセットキーが任意の時点で持つ「スケール、回転、および位置」の値に与えられた名前です
  6. 次に、再生ヘッドの位置(ドープシートのタイムラインでの現在の再生位置)を変更し、アセットの変換を移動または変更して、別のパラメーターキーを記録します
  7. すべてのパラメーターキーは、トラックパネルのメインアセットトラックの下にあるトラックのサブセットである追加のパラメータートラックに保存され、トラックエディターで各パラメーターのパラメーターキーデータを編集できます
  8. 次に、シーケンスの長さについて上記のプロセスを繰り返し、必要に応じてアセットを移動、回転、スケーリングし、必要に応じてアセットを追加します

以下に、シーケンスエディターの各機能の概要を示します。このページの下部には、上記の3つの主な機能を詳細に説明するページへのリンクがあります。


ルーラー・ガイド(Rulers / Guides)

キャンバスの端に沿ったルーラーは、キャンバス内に配置されたものの位置を示し、キャンバスの中心である (0, 0) (シーケンスのデフォルトの原点) からマークされます。 ルーラーをクリックしてドラッグし、水平または垂直ガイドをシーケンスに引き込むことができます。このガイドを使用して、使用されているさまざまなアセットを正確に配置できます。アセットを1つに近づけると、「スナップ」されます。 ガイド。 シーケンス内でアセットを配置している間、アセット間の距離やシーケンスの境界または中心点からの距離を示すスマートガイドも一時的に表示されます。

Editor_Sequences_Guides.png


シーケンスの境界とシーケンスの中心点マーカー線もガイドと見なされ、編集できないことを除いて、ルーラーから追加されたガイドと同じように動作することに注意してください。

アセットがガイドに「スナップ」する距離、およびその他のプロパティは、シーケンスの環境設定で設定できます。

キャンバスビュー (Canvas View)

キャンバスビューでは、シーケンスキャンバスのプレビューを確認できます。また、シーケンスを構成するさまざまなアセットを編集および配置できます。 アセットをアセットブラウザからドラッグしてキャンバスにドロップするだけで、シーケンスにアセットを追加できます。これにより、トラックパネルに新しいトラックが作成され、アセットのアセットキーが現在のタイムライン再生ヘッドに追加されます。 ポジション。 次のアセットは、この方法でキャンバスにドロップできます。

  • スプライト
  • オブジェクト
  • サウンド
  • シーケンス キャンバスに追加された各アセットは、操作方法に基づいて、回転、変換、または変換された複数の方法で操作できます。各アセットには、境界ボックス、変換ギズモ、および境界ボックスコントロールがあるためです。 これはすべて、シーケンスエディターキャンバスに関するページで詳しく説明されています。
注意
シーケンスに追加されたサウンドアセットは、基本的に、指定されたサウンドリソースのみを再生するサウンドエミッターです キャンバスビュー内を移動するには、他のワークスペースと同じ基本的な操作を使用できます。
  • マウス中央ボタンをドラッグ:キャンバスビューを移動
  • Spaceキー+マウス左ドラッグ:キャンバスビューを移動
  • マウスホイール:ズームイン・ズームアウト
  • Ctrl(Cmd)+マウスホイール
  • Ctrl(Cmd)+Xキー:アセットの切り取り
  • Ctrl(Cmd)+Cキー:アセットのコピー
  • Ctrl(Cmd)+Vキー:アセットの貼り付け

ブロードキャストメッセージ (Broadcast Message)

このボタンは、ドープメッセージのシーケンスタイムラインにブロードキャストメッセージを追加し、ブロードキャストするメッセージを追加できるダイアログを開きます。 メッセージは、タイムラインプレイヘッドがドープシート内のどこにでも追加され、トリガーされた後、非同期システムイベントで取得されて動作する単純な文字列で構成されます。

Editor_Sequences_Broadcast.gif


追加されると、メッセージはドープシートに表示され、その上で右マウスクリックで、メッセージを削除または編集できるメニューを開くことができます。 ブロードキャストメッセージの詳細については、ブロードキャストメッセージをご覧ください。

キーフレームコントロール(Keyframe Control)

キーフレームコントロールボタンは、ドープシートで特定のキーを追加、削除、または編集する方法の1つです。 ボタンは次のとおりです。

  • Icon_Seq_Split.png :これは「選択したキーを分割」するボタンです。 ドープシートで1つまたは複数のパラメーターキーを選択したら、このボタンをクリックすると、タイムラインの再生ヘッド位置で2つの別々のキーに分割されます。
    Editor_Sequences_Split.gif
  • Icon_Seq_Delete.png :これは「選択したキーを削除」ボタンです。 ドープシートで1つ以上のパラメーターキーを選択したら、このボタンをクリックすると削除されます。
    Editor_Sequences_Delete.gif
  • Icon_Seq_Add.png :これは「新しいキーを記録する」ボタンです。 ドープシートでアセットキーを選択してこのボタンを押すと、新しいパラメーターキーがパラメータートラックとしてアセットトラックに追加され、パラメーターキーはドープシートタイムラインの再生ヘッド位置のポイントとして追加されます。
    Editor_Sequences_Record.gif
  • Icon_Seq_Record.png :これは「変更を自動的に記録」するボタンです。 これを有効にすると、キャンバス内のアセットに加えられた変更が自動的に記録され、適切なパラメータートラックとパラメーターキーがドープシートの再生ヘッド位置に追加されます。 たとえば、再生ヘッドをフレーム0からフレーム10に移動してから、キャンバスでアセットを100ピクセル右に移動すると、位置にパラメータートラックが追加され、パラメーターキーがフレーム0に追加されます(初期 位置)とフレーム10(再生ヘッドの位置)で、シーケンスの "Play" を押すと、アセットは10フレームにわたって100px右に移動します
    Editor_Sequences_Auto.gif

シーケンスイベント (Sequence Events)

通常のオブジェクトと同様に、シーケンスには、割り当てられたコードを実行できるイベントを含めることができます。 コードは、引数を取らないスクリプト関数の形式で割り当てられ、イベントがトリガーされたときに呼び出されます。

イベントを追加するには、[イベントを追加]ボタン Icon_AddEvent.png をクリックして、次のウィンドウを開きます。

Editor_Sequences_Events.png

ここにリストされているイベントは次のとおりです。

  • Create:このイベントは、シーケンスのインスタンスが最初に作成されたときに発生し、ルームに入るときにルームエディターを介してルームに配置されたシーケンス内で最初に発生します
  • Destroy:このイベントは、シーケンスのインスタンスが破棄されたときに実行され、クリーンアップイベントの前に実行されます(以下を参照)
  • Clean Up: このイベントは、シーケンスのインスタンスを部屋から削除するイベントの後に呼び出されます。 したがって、シーケンスが破棄された場合、部屋が終了した場合、またはゲームが終了した場合にトリガーされ、何らかの理由でシーケンスインスタンスがゲームから削除されたときに一度実行する必要があるタスクを実行するように設計されています。 たとえば、layer_sequence_destroy() を使用してシーケンスインスタンスを破棄した場合、このイベントは Destroy イベント(上記を参照)の後に呼び出されます
  • Begin Step / Step / End Step:ステップイベントは、シーケンスインスタンスが存在する間、ゲームのすべてのステップ(フレーム)でチェックされるイベントであり、開始、ステップ、終了の3つの部分に分かれています。 ほとんどの場合、標準のステップイベントを使用すれば問題ありませんが、実行するコードと実行するタイミングをもう少し制御したい場合があるため、開始および終了ステップイベントが提供され、これらのイベントは常に ゲームの各ステップ(フレーム)で同じ順序でトリガーされます。 重要! シーケンスが一時停止されている場合、これらのイベントはトリガーされず、再生が再開すると、シーケンスの再生が再開した後、次のフレームでイベントがトリガーされます。 また、イベントの順序は再生ヘッドの方向に影響されないことに注意してください。シーケンスが逆方向に再生されている場合でも、イベントは開始、ステップ、終了として実行されます
  • Async Event:これは、オブジェクトの非同期システムイベントに相当します。 (※重要! シーケンスが一時停止されている場合、このイベントはトリガーされません)

各イベントには、イベントがトリガーされたときに呼び出される単一の関数を割り当てることができます。 ベントの入力ボックスを使用して関数を割り当てることができます。矢印ボタンをクリックすると、編集する関数のスクリプトエディターが開きます。 下部にある[新規作成]ボタンをクリックして、「ボイラープレート」関数がすでに定義されており、入力する準備ができている新しいスクリプトリソースを作成することもできます。関数名は必要なものに変更でき、使用する必要はありません。 定義済みの名前。必要のない関数定義を削除することもできます。 シーケンスイベントに使用される関数は引数を取ることができないことに注意してください。

シーケンスイベントは、コードを使用して追加および編集することもできます。 詳しくは イベント・モーメント・ブロードキャストメッセージ をご覧ください。


シーケンスモーメント (Sequence Moments)

シーケンスモーメントは、シーケンスが関数を呼び出すことができるタイムライン上の位置です。 これはパラメーターを持たないスクリプト関数であり、タイムラインで指定された瞬間(フレーム)に到達すると、この関数が呼び出されます。 瞬間を設定するには、再生ヘッドを必要な位置に移動し、[モーメントを追加] ボタンをクリックします。開いたダイアログで、呼び出す関数の名前を指定します。

Editor_Sequences_AddMoment.gif


モーメント関数を追加するときは、[関数アイコンに移動]ボタン Icon_GoTo_Function.png をクリックして、指定した関数を含むスクリプトに移動するか、[新しいモーメント関数]ボタン Icon_NewMomentFunction.png をクリックして、編集可能な空の関数を含む新しいスクリプトリソースを作成できます。 また、「モーメントアイコンの削除」ボタン Icon_RemoveMoment.png をクリックして、モーメントとそれに含まれる関数呼び出しを削除することもできます。 シーケンスモーメントは、コードを使用して追加および編集することもできます。 詳しくは イベント・モーメント・ブロードキャストメッセージ をご覧ください。

トラックパネル (Track Panel)

トラックパネルには、シーケンス内の各アセットがトラックとしてリストされます。各トラックには、アセットに対して変更されているパラメーターのサブトラックがあります。 マウス左クリックし、任意のアセットトラックをドラッグして、他のトラックの上または下に位置を変更できます(割り当てられたパラメータートラックは一緒に移動します)。Ctrl(Cmd)+マウス左クリックを使用して、複数のトラックを選択できます。

アセットをアセットブラウザ(スプライト、オブジェクト、サウンド、またはシーケンス)からシーケンスキャンバスにドラッグしてトラックを作成するか、下部にある[トラックを追加]アイコンをクリックして新しいトラックを追加し、 表示されるAsset Explorerウィンドウから、使用するアセットを選択します。 新しいトラックが作成され、ドープシートのタイムライン内の現在の再生ヘッド位置にアセットが追加されます。

Editor_Sequences_AddTrack.gif


トラックエディタには、トラックパネル のページで詳しく説明されている他の多くの機能があります。

ツールボックス (Toolbox)

シーケンスエディターツールボックスには、編集中のシーケンスのさまざまな視覚化およびセットアップオプションが含まれています。

  • Toggle Canvas Grid Icon_CanvasGrid.png :これにより、シーケンスエディターのキャンバスグリッドのオン/オフが切り替わります。 これは、GameMaker Studio 2がプレビューキャンバス上に描画してセクションに分割するグリッドであり、デフォルトでは32x32pxに設定されています。 ただし、グリッドメニューアイコングリッドメニューをクリックすると、グリッドオプションが開きます。
    Editor_Sequences_GridControls.png
    これらのオプションを使用すると、グリッドの色とアルファ、およびX軸とY軸に沿ったグリッドのセル値を設定できます。 ここでグリッドスナップを有効または無効にするオプションもあります(デフォルトでは無効)。 キーボードショートカット「G」とShift+「G」を使用して、グリッドの表示とスナップをそれぞれ切り替えることができます。
  • Canvas Zoom Controls Icon_CanvasZoom.png :これらのボタンは、現在のキャンバスのズームレベルを制御します。 ズームインまたはズームアウトでき、ズームリセットアイコンボタンをクリックすると、編集中のシーケンスでキャンバスが 1:1にリセットされます。 [ウィンドウフィット]ボタン Icon_CanvasFit.png をクリックして、シーケンスキャンバス全体を現在のエディターワークスペース内にフィットさせることもできます(これにより、必要に応じてズームイン/ズームアウトしてフィットします)。 Ctrl(Cmd)+マウスホイールを使用してズームインおよびズームアウトすることもできます。Ctrl(Cmd)+ Enterを押すと、キャンバスがディスプレイと 1:1 に設定されます
  • Toggle Gizmos Icon_ToggleGizmos.png :これをクリックすると、キャンバスに表示されるさまざまなギズモが有効または無効になります。 有効にすると、さまざまなアセットに関連付けられたすべてのギズモとキャンバス自体が表示されます。無効にすると、これらは表示されず、シーケンスの外観がより明確になります。 これはデフォルトで有効になっていることに注意してください。マウス右クリックから使用できるコンテキストメニューがあり、さまざまなウィジェットをすべて無効にすることなく、表示されているものをフィルタリングできます。 これらのフィルターオプションの完全なリストとその機能の説明については、シーケンスキャンバス をご覧ください
  • Toggle Transform Gizmo Mode Icon_TransformWidget.png :シーケンスに追加された各アセットには、その原点に Transform Gizmo があります
    Editor_Sequences_TransformWidget.gif
    このギズモは、アセットのスケーリングや回転の方法を制御したり、その位置やアセットの原点の位置を制御したりできますが、一度に表示できるのはこれらのオプションの1つだけです。 このボタンをクリックすると、さまざまなウィジェットタイプが切り替わります。または、オプションメニュー Icon_CanvasOptions.png をクリックして、変換ギズモで実行する制御アクションのタイプを直接選択できます
  • Toggle Canvas Frame Icon_ToggleCanvas.png :このボタンを使用して、キャンバスフレームのオンとオフを切り替えることができます(デフォルトではオンです)。 キャンバスフレームは、要素がシーケンスキャンバスのどこに配置されるかを判断するために使用される単なるガイドであり、フレームの外側の要素はレンダリングされません。 このボタンには、次のオプション Icon_CanvasOptions.png グリッドメニューもあります。
    Editor_Sequences_CanvasControls.png

    ここでは、キャンバスフレームのトグルとキャンバスのサイズを設定できます。 シーケンスの背景参照として使用するために、コンピューターから選択した(プロジェクトにインポートされていない)参照画像を設定することもできます。 この画像はシーケンスエディター自体にのみ表示され、シーケンスがプロジェクトで使用されている場合はレンダリングされません。 参照画像を追加する場合は、それが描画される不透明度を設定し、キャンバスフレーム内のその位置をオフセットすることもできます。

シーケンスコントロール (Sequence Controls)

このバーには、さまざまなシーケンス再生コントロールがあります。

Editor_Sequences_PlaybackControls.png


  • Playback Speed: これは、1秒あたりのフレーム(ステップ)単位のシーケンスの再生速度です
  • Playhead Position: これは現在の再生ヘッドの位置であり、時間(h:m:s)またはフレーム(f)で表示できます
  • Time Display Options: ここでは、シーケンス時間を時間、分、秒(h:m:s)で表示するか、フレーム(f)で表示するかを設定できます
  • Broadcast Message: これをクリックすると、現在の再生ヘッド位置にブロードキャストメッセージを追加できます(これについては、このページの前半で詳しく説明しており、ブロードキャストメッセージ のページでも詳細情報を確認できます)
  • Add Moment: これをクリックすると、現在の再生ヘッド位置にシーケンスモーメントを追加できます(これについては、このページの前半で詳しく説明しています)
  • Playback Controls: これらのボタンを使用して、シーケンスのプレビューを開始および停止したり、再生ヘッドを開始または終了に移動したりできます。 シーケンスをループするかどうか、およびループ時にシーケンスを「ピンポン」するか繰り返すかを設定するボタンもあります。 この設定は、プロジェクトをコンパイルして実行するときのシーケンスの再生方法に影響することに注意してください
  • Sequence Length: これにより、シーケンスの可能な合計の長さがフレーム(f)または時間(m:h:s)で表示されます。 クリップ領域を小さく設定した場合、シーケンスがこの長さまで実行されない場合があることに注意してください

ドープシート (Dope Sheet)

ドープシートには、各トラックのすべてのアセットキーとパラメータキーが表示されます。 マウス左ドラッグで、キーを左右に移動してドープシートのタイムライン内に配置できます。また、アセットキーの右端をマウス左クリックして長さを変更することもできます。 スプライトとオブジェクトの場合、長さをアニメーションよりも長く設定すると、アニメーションが余分なフレームでループすることに注意してください。 ドープシートには、シーケンスのクリップ領域の開始と終了を設定するためのコントロールもあり、マウス左クリックして再生ヘッドをその位置に設定できます。 ドープシートの使用方法の詳細については、次のページをご覧ください。


関連ページ

シーケンスエディターは最初が複雑なので、ここでは利用可能な機能の概要のみを説明しましたが、その機能と使用方法についてより深く掘り下げた以下の追加ページがあります。

Wiki内検索

#search(): You already view a search box

MENU

ドキュメント

GMLリファレンス

2ch

その他



最新の30件

2024-03-07 2023-08-09 2023-05-21 2023-05-20 2023-05-04 2022-10-13 2022-07-21 2022-07-02 2022-04-06 2021-11-30 2021-11-26 2021-10-03 2021-09-23 2021-08-15 2021-06-02 2021-01-23 2021-01-21 2021-01-19 2021-01-18 2021-01-16 2021-01-15

人気の10件

今日の10件



これまでの訪問者: 1466
今日の訪問者: 1
昨日の訪問者: 2
閲覧者: 5