オブジェクトの作成

はじめに

Clickteam Fusion 2.5 のガイドへようこそ! 本ガイドに記載されている情報の一部は、Multimedia Fusion 2 でも利用できます。 PDF 形式のチュートリアルやガイドはご自由に印刷してお読みください。 お好きな時間にご自身のペースで読み、学習していただけます。

Clickteam Fusion 2.5 では、ある結果を得るための方法は 1 つに限定されません。本ガイドでは、それらのうち、最も一般的かつ簡単で効果的と思われる方法をご紹介しますが、方法はそれだけだけではない、ということを頭の片隅に留めておいてください。

本ガイドは、ゲームであれ、アプリケーションであれ、 Clickteam Fusion 2.5 を使って開発を行おうとお考えの方に、知りたいことを丁寧に説明することを目指して作成いたしました。

本ガイドについてのご意見、ご感想をお待ちしております。 学習者のレベルに合わせたガイドを個別に作成するのではなく、初心者から中級、上級者まですべてのレベルの方が同じガイドで同じ目標を達成できればと考えております。

違いを明確にする

Clickteam Fusion 2.5 では、ランタイム時にオブジェクトを作成するのに 2 つの方法が⽤意されています。まずは、「デザイン-タイム」と「ランタイム」の違いを明確にしておきましょう。デザイン-タイムとは、Clickteam Fusion 2.5 でゲームを作成(デザイン)している時のことを指し、ランタイムとは、作成したゲームを実際に実行している時を意味します。

したがって、「ランタイム」と言ったら、ゲームがすでに起動している状態ですので、ゲームやレベルを編集することはできません。しかしながら、時々ゲーム中にオブジェクトを作成したい場合があるでしょう。本ガイドではその方法を 2 種類ご紹介します。静的な作成方法と動的な作成方法です。

静的
とは、あなたがオブジェクトを作成し、あなたがオブジェクトを選択して、あなたがその位置を決めます。
動的
の場合もこれと同じですが、変数名を使⽤してオブジェクトを作成する点が異なります。

簡単な例でご説明しましょう。 5 つのオブジェクトがあるとして、それぞれ、オブジェクト 1、オブジェクト 2、オブジェクト 3、オブジェクト 4、オブジェクト 5 という名前を付けるとします。どのオブジェクトを作成するかをユーザーに選択させたい場合、これを静的に行うとすると、各オブジェクトについてイベントを 1 つ作成することになります:

  • ユーザーがボタンをクリック + リスト = “オブジェクト 1”
  • オブジェクト 1 を作成する
  • ユーザーがボタンをクリック + リスト = “オブジェクト 2”
  • オブジェクト 2 を作成する
  • ユーザーがボタンをクリック + リスト = “オブジェクト 3”
  • オブジェクト 3 を作成する

これらと異なり、動的にオブジェクトを作成すると、オブジェクト名を直接かつ可変的に参照することで次のようになります:

  • ユーザーがボタンをクリック
  • “オブジェクト”+Str$(number) を作成する

これによって、 5 つのイベントをたった 1 つのイベントで代用することができました。 ちょっとわかりづらかったでしょうか?本ガイドを読み進めていただければおわかりになるようご説明します。

オブジェクトを静的に作成する

本項では、ランタイム時にオブジェクトを静的に作成する例をご紹介します。 これは特に難しいことはありません。 ファイル -> 新規作成 でアプリケーションを新規に作成します。 フレーム 1 を表示します。 ランタイム時に作成するために使⽤するオブジェクトをいくつか作成しておく必要があります。

挿入 ダイヤログ

挿入 -> 新規オブジェクト を選択して、アクティブ オブジェクト を新規に挿入します。

新規オブジェクトの作成 メニュー

オブジェクトが追加されたら、ダブルクリックして編集します。 ⾊を変更してみましょう。

アクティブオブジェクト ウィンドウ

塗りつぶしツールを選択して、何か⻘っぽい⾊を選択し、許容誤差を 100 に変更します。

オブジェクトをクリックして⻘く塗りつぶします。 OK ボタンをクリックします。 続いてオブジェクトのプロパティを設定します。

フレーム内のオブジェクトを選択して、プロパティウィンドウを確認します。 ランタイム オプション タブをクリックして、作成オプションの 開始時に作成 オプションのチェックをはずします。

アクティブオブジェクト 作成オプション プロパーティ

続いてバージョン情報タブをクリックします。 オブジェクトの名前が "アクティブ" になっていることがわかります。 これを "オブジェクト 1" という名前に変更します。

アクティブオブジェクト バージョン情報 プロパーティ

ここまで完了したら、オブジェクトを右クリックして、 オブジェクトをクローン を選択し、3 つのオブジェクトを作成します。 クローンを作成すると、オブジェクトの名前は自動的に オブジェクト 2オブジェクト 3 のように連番で作成されます。 クローン作成したオブジェクトもそれぞれ異なる色で塗りましょう (違いをはっきりさせるためです)。 フレームエディタでの作業は以上で完了です。 続いてイベントエディタに移ります。

トップメニュー

イベントエディタでは、キーボードのキーの押下を検出してオブジェクトを作成し、それに画面上のランダムな位置を割り当てます。 では最初の条件を作成しましょう。 (動的に作成する方法を知りたい場合は、ステップ 3に進んでください。)

新しい条件を作成し、マウスポインタとキーボード オブジェクトを右クリックして、キーボード -> キーを押した時 を選択します。

マウスポインタとキーボード オブジェクト

次のダイアログでは、キーボードの数字の 1 を押します。 条件行が挿入されたら、新規オブジェクトを作成 オブジェクトのセルを右クリックして オブジェクトを作成 を選択します。

マウスポインタとキーボード オブジェクト

オブジェクトを作成 ダイアログが表示されたら、 "オブジェクト 1" を選択します。 続いて OK をクリックします。 次のダイアログでもそのまま OK をクリックしてください。 同じ条件行で青いダイヤモンドのオブジェクトのセルを右クリックし、位置 -> X 座標を変更 を選択します。 数式エディタが表示されたら Xmouse と入力して OK ボタンをクリックします。 同じ (青いダイヤモンドの) セルをクリックし、今後は 位置 -> Y 座標を変更 を選択して、数式エディタに Ymouse と入力、 OK ボタンをクリックします。 ここまでの作業によって、キーボードの 1 を押したら、オブジェクト 1 がマウスの現在の位置に作成される、というイベントが作成できました (マウスがゲームのフレーム内に配置されていることを確認して キーボードの 1 を押してください)。 では F8 を押してアプリケーションを実行し、実際にこの動きを確認してみましょう。

同様にキーボードの 2 や 3 を押した時に、オブジェクト 2 やオブジェクト 3 を作成するようにするには上記の手順を繰り返します。

本稿では、ランタイム時にオブジェクトを場所を指定して作成する方法を学びました。 3 種類のオブジェクトを作成するのに 3 つのイベントを必要とします。

オブジェクトを動的に作成する

オブジェクトを動的に作成する場合も、最初の条件を作成する前までは作業は同じです。

(静的に作成する方法を知りたい場合は、ステップ 2 に進んでください。)

これから行うのは、押下されたキーの番号を追跡してオブジェクトを作成することです。オブジェクトが作成されたら格納された値はリセットします (繰り返しを避けるため)。本項では、ゲーム内に 10 でも 100 でも100,000 種類であろうとも、異なるオブジェクトをたった 1 つの条件で作成する方法をご説明します。時間や労力の節約になります。

フレームエディタに戻りましょう。

まずは、Keyboard object (キーボード オブジェクト) をインストールします。これは標準のマウスポインタとキーボード オブジェクトとは別のもので、エクステンションマネージャーを使用してインストールします。新規オブジェクトの作成ダイアログで、マネージャー ボタンをクリックして、エクステンションマネージャーを起動し、更新ボタンを押して最新の状態に更新します。

エクステンションマネージャー

リストから Keyboard object を見つけて選択し、インストール ボタンをクリックします。インストールが完了したら、閉じる ボタンをクリックしてエクステンションマネージャーを終了します。新規オブジェクトの作成ダイアログに Keyboard object が追加されているはずですので、それを選択して、 OK ボタンをクリックします。場所はどこでもかまいませんので、クリックして配置してください。

キーボードオブジェクト

続いて、すべてのダイヤモンドを選択し、プロパティウィンドウの 動作タブで、種類をバウンスボールに設定します。こうすることでオブジェクト作成後の動きがわかりやすくなります。

トップメニュー

Ctrl + E を押して、イベントエディタを表示してください。

さぁ、準備は整いました。 これからおもしろいことが始まりますよ。 たった 1 行のイベントで、無数のオブジェクトを作成できるのです。

新規条件を作成し、Keyboard object を右クリックしてUpon key down を選択します。

キーボードメニュー

数式エディタが起動します。 ここではキーボードのどのキーが押されたかを知りたいので、Keyboard object を右クリックして、 Last key pressed を選択します。

キーナンバー

OK ボタンをクリックして数式エディタを閉じます。以上で条件が作成されました。

新規オブジェクトを作成 オブジェクトのセルを右クリックして 名前を指定してオブジェクトを作成 を選択します。

last key pressed イベント

数式エディタが表示されます。 最後に押されたキーを使⽤してオブジェクトを作成します。 "last key pressed"値を使用します。オブジェクトの名前を、オブジェクト 1、オブジェクト 2、オブジェクト 3 のように変更したのを思い出してください。したがって、"オブジェクト " +Str$ (LastKeyPressed) と指定する必要があります。 "オブジェクト " は文字列ですが、keypress は番号です。したがって値を文字列に変換します。 1 は文字列 "1" に、2 は文字列 "2" に、という具合です。

したがって数式エディタで、 "オブジェクト " + と入力します(オブジェクトの後ろに半角スペースを忘れないでください)。

数式 開始

続いて最後に押されたボタンの文字列を取得する必要があります。 したがって、 Keyboard object を右クリックし、 "Key String" を選択します。 すると追加のパラメータ (>Key Value<) が要求されます。 Keyboard object をもう一度右クリックして "Last Key Pressed" を選択します。数式エディタは次のようになるはずです。

数式 完成

OK をクリックして数式エディタを終了します。続くダイアログでもそのまま OK をクリックします。

以上で完了です。いかがでしたか?変数としてキーボードを使用し、名前を参照することでたった一つのイベントでオブジェクトを作成することができるようになりました。 F8 を押して早速ゲームを確認してみましょう。キーボードの 1、2、3 を押すと青、オレンジ、緑のオブジェクトが画面中央に作成され、様々な方向に飛んでいくはずです。