フラッシュゲームの作り方

著者: Sara Rhodes
作成日: 13 2月 2021
更新日: 1 J 2024
Anonim
作りたいゲーム別にオススメのゲームエンジンを紹介します
ビデオ: 作りたいゲーム別にオススメのゲームエンジンを紹介します

コンテンツ

Flashは、ブラウザで実行されるゲームで人気のある形式です。このフォーマットはモバイルアプリケーションに負けていますが、多くの優れたゲームはこのフォーマットで書かれています。 Flashは、画面上のオブジェクトを制御できる、習得しやすいプログラミング言語であるActionScriptを使用しています。

ステップ

パート1/3:はじめに

  1. 1 コーディングを始める前に、ゲーム(そのストーリー)を考えてください。 Flashはシンプルなゲームを作るので、ゲームのジャンルを選んでコンセプトを考えてください。コンピュータゲームの作り方の記事を読んでください。主なジャンルは次のとおりです。
    • エンドレスラン。このようなゲームでは、キャラクターは自動的に移動し、プレーヤーはキャラクターをガイドして障害物を飛び越える(またはゲームと対話する)だけです。
    • 戦います。そのようなゲームでは、主人公は果てしない戦い/戦いで敵を倒さなければなりません。
    • パズル。パズルゲーム。それらは、最も単純なパズル(3つの同一のボールを集める)からアドベンチャーゲームの基礎を形成する複雑なパズルにまで及びます。
    • RPG。このようなゲームでは、さまざまな対戦相手と戦うために、主人公(スキル、見た目、キャラクター)を育成する必要があります。 RPGゲームコードは、最も単純なゲームコードよりもはるかに複雑です。
  2. 2 Flashは、2D(2D)ゲームの作成に適しています。 その中で3Dゲーム(3次元)を作成することもできますが、そのためにはプログラミング言語やその他の高度な技術をよく知っている必要があります。ほとんどすべての人気のあるFlashゲームは2Dゲームです。
    • フラッシュゲームは、空き時間(15分以内)があるときにプレイされるため、短期間のゲームセッションに最適です。
  3. 3 Flashゲームを作成するためのActionScript3(AS3)プログラミング言語に精通します。 AS3の基礎知識があれば簡単なゲームが作れます。
    • 多くのチュートリアルやオンラインの例とともに、Amazonや他のストアで入手可能なActionScriptの本がいくつかあります。
  4. 4 FlashProfessionalをダウンロードします。 これは有料ですが、Flashゲームが作成される最高のプログラムです。無料のプログラムを含む他の同様のプログラムがありますが、多くの場合、互換性がないか、同じ目標を達成するのに時間がかかります。
    • Flash Professionalは、ゲームを作成するために必要な唯一のプログラムです。

パート2/3:最もシンプルなゲームを作る

  1. 1 AS3コードの基本構造を理解します。 AS3コードには3つの主要な部分があります。
    • 変数。データ(数値、テキスト、オブジェクト、その他多数)を格納します。変数はコードで定義されます var 一言で言えば。

      var playerHealth:数値= 100; // "var"-変数を定義しています。 //「playerHealth」は変数の名前です。 //「数値」はデータ型です(ここでは数値)。 //「100」は変数に割り当てられた値です。 // AS3コードの行はすべて「;」で終わります

    • イベントハンドラー。実行する必要のある特定のイベントを探し、プログラムの他の部分に報告します。これは、プレーヤーを入力してコードを繰り返すために必要です。通常、イベントハンドラーは関数を参照します。

      addEventListener(MouseEvent.CLICK、swingSword); // "addEventListener()"-イベントハンドラーの定義。 // "MouseEvent"は、実行が予想される入力のカテゴリです。 // ".CLICK"は、MouseEventカテゴリの特定のイベントです。 // "swingSword"は、イベントが実行されたときにトリガーされる関数です。

    • 関数。キーワードで定義されたプログラムのセクション。それらは、プログラムの進行と呼ばれます。複雑なゲームコードには数百の関数を含めることができますが、単純なゲームコードには少数の関数しか含めることができません。関数は、呼び出されたときにのみ実行されるため、任意の順序で配置できます。

      関数swingSword(e:MouseEvent):void; {//コード} // "function"は、関数の先頭に入力されるキーワードです。 //「swingSword」は関数の名前です。 // "e:MouseEvent"は、イベントハンドラーが//関数を呼び出すことを示すオプションのパラメーターです。 // ":void"は、関数によって返される値です。 //値が返されない場合は、voidを使用します。

  2. 2 プレーヤーが対話するオブジェクトを作成します。 オブジェクトには、スプライト、キャラクター、またはビデオクリップが含まれます。簡単なゲームの例では、長方形を作成します。
    • FlashProfessionalを起動します。新しいActionScript3プロジェクトを作成します。
    • ツールバーで、長方形ツールをクリックします。このパネルは、FlashProfessionalの設定によって異なる場所に表示される場合があります。シーンウィンドウに長方形を描画します。
    • 選択ツールで長方形を選択します。
  3. 3 オブジェクトのプロパティを設定します。 これを行うには、[変更]メニューを開き、[シンボルに変換]を選択します(またはF8キーを押します)。 [シンボルに変換]ウィンドウで、オブジェクトに敵などのわかりやすい名前を付けます。
    • [プロパティ]ウィンドウを見つけます。ウィンドウの上部には、「サンプル名」というラベルの付いた空のテキストフィールドがあります(このフィールドにカーソルを合わせると)。オブジェクトをシンボル(この例では「敵」)に変換するときに入力したのと同じ名前を入力します。これにより、AS3コードで使用できる一意の名前が作成されます。
    • 各「サンプル」は、コードに依存する個別のオブジェクトです。作成済みの「サンプル」をコピーできます。これを行うには、「ライブラリ」を数回クリックし、「サンプル」を「ステージ」にドラッグします。 「サンプル」が追加されるたびに、その名前が変更されます(「enemy」、「enemy1」、「enemy2」など)。
    • コードでオブジェクトを参照するときは、「sample」(この例では「enemy」)という名前を使用してください。
  4. 4 サンプルのプロパティを変更します。 サンプルを作成した後、サイズ変更などのプロパティを変更できます。これを行うには、サンプルの名前、「。」、プロパティの名前、値の順に入力します。
    • enemy.x = 150; x軸に沿った敵オブジェクトの位置を設定します。
    • 敵.y = 150; Y軸に沿った「敵」オブジェクトの位置を設定します(Y軸の原点は「シーン」の最上点にあります)。
    • enemy.rotation = 45; 敵のオブジェクトを時計回りに45°回転させます。
    • enemy.scaleX = 3; 「敵」オブジェクトの幅を3倍に伸ばします。負の値を指定すると、オブジェクトが反転します。
    • enemy.scaleY = 0.5; オブジェクトの高さを半分にカットします。
    • .
  5. 5 コマンドを探索する 痕跡 (). 特定のオブジェクトの現在の値を返し、すべてが正しく機能していることを確認するために必要です。このコマンドをゲームのソースコードに含めるべきではありませんが、プログラムをデバッグするために必要になります。
  6. 6 上記の情報を使用して基本的なゲームを作成します。 この例では、敵が体力を失うまで、敵をクリックするたびにサイズが変わるゲームを作成します。

    varenemyHP:数= 100; //敵の体力のサイズを設定します(ゲーム開始時に100)。 var playerAttack:数値= 10; //敵をクリックしたときのプレイヤーの攻撃力を設定します。 enemy.addEventListener(MouseEvent.CLICK、attackEnemy); //この関数のアクションは、「敵」オブジェクトに直接向けられます。つまり、//この関数は、オブジェクトがクリックされたときにのみトリガーされ、//画面上の他の場所ではトリガーされません。 setEnemyLocation(); //敵を画面に配置します。 //ゲームの最初に実行されます。 function setEnemyLocation():void {enemy.x = 200; //敵を画面の左側から200ピクセル右に移動します。敵.y = 150; //敵を画面の上部から150ピクセル下に移動します。 enemy.rotation = 45; //敵を時計回りに45度回転させます。 trace( "敵のx値は"、enemy.x、 "そして敵のy値は"、enemy.y); //デバッグのために敵の現在の位置を表示します。 } function attackEnemy(e:MouseEvent):void //敵がクリックされたときの攻撃を説明する関数を作成します。 {enemyHP = enemyHP-playerAttack; //対戦相手の体力値からプレイヤーの攻撃力を差し引きます。 //結果は、敵の体力の新しい値です。 enemy.scaleX = enemyHP / 100; //敵の新しい体力に基づいて幅を変更します。 //この値を100で割って、小数を取得します。enemy.scaleY = enemyHP / 100; //敵の新しい体力値に基づいて高さを変更します。トレース(「敵は持っている」、enemyHP、「HPは残っている」); //失われたヘルスを表示します。 }

  7. 7 ゲームを始める。 [管理]メニューを開き、[テスト]を選択します。ゲームが始まります。敵をクリックしてサイズを変更します。デバッグ情報が[出力]ウィンドウに表示されます。

パート3/3:高度なテクニック

  1. 1 パッケージ。 それらは(別々のファイルに)変数、定数、関数、その他の情報を格納します。パッケージをプログラムにインポートできます。他の誰かがすでに作成したパッケージを使用することにより、プログラムを作成するタスクを大幅に簡素化できます。
    • パッケージの動作の詳細については、この記事をお読みください。
  2. 2 プロジェクトフォルダを作成します。 複数の画像と音声ファイルを使用してゲームを作成する場合は、複数のフォルダーを作成します。これにより、さまざまな要素で混乱することなく、パッケージを適切なフォルダーに保存できます。
    • ベースプロジェクトフォルダを作成します。ベースフォルダには、画像を保存するサブフォルダ「IMG」、サウンドファイル用のサブフォルダ「SND」、パッケージとゲームコードを含むサブフォルダ「SRC」を作成する必要があります。
    • ConstantsファイルのSRCフォルダーにGameフォルダーを作成します。
    • このフォルダ構造はオプションです。これは、プロジェクトの要素を整理および整理する方法の例として提供されています(これは、大規模なプロジェクトの場合に特に重要です)。 (この例のように)単純なゲームを作成している場合は、フォルダーを作成する必要はありません。
  3. 3 ゲームにサウンドを追加します。 音や音楽なしで演奏すると、すぐにどんなプレーヤーも退屈します。レイヤーツールを使用してサウンドを追加できます。これに関する詳細はインターネットで探してください。
  4. 4 ファイル「Constant」を作成します。 ゲーム全体で変更されない定数がゲーム内にたくさんある場合は、「定数」ファイルを作成して、その中にすべての定数を格納できます。定数値は、引力、キャラクターの速度などです。
    • 「定数」ファイルを作成する場合は、適切なプロジェクトフォルダーに配置してから、パッケージにインポートします。たとえば、constants.asファイルを作成し、それをゲームフォルダーに配置します。インポートするには、次のコードを使用する必要があります。

      パッケージ{ゲームのインポート。 *; }

  5. 5 他の開発者からのゲームをチェックしてください。 多くの開発者はゲームのコードを公開していませんが、コードを見ることができるチュートリアルやその他のプロジェクトはたくさんあります。これは、優れたゲームを作成するのに役立ついくつかの最良のテクニックを学ぶための優れた方法です。