最初のPhaserゲームを作成します。 パート1-はじめに

フェイザー







目次



0仕事の準備

1 はじめに[



]

2リソースの読み込み

ゲーム世界の創造

4 。 ( wip )グループ

5 。 ( wip )物理学の世界

6 。 ( wip )管理

。 ( wip )目標の追加

8 。 ( wip )最終タッチ







最初のPhaserゲーム開発レッスンへようこそ。 ここでは、このフレームワークの主な機能を紹介し、現在の現実( ES6 / TypeScript + WebPack )で動作するプラットフォーマーである小さなゲームの作成方法を説明します。







フェイザーとは何ですか?



PhaserHTML5JavaScript / TypeScript )ゲームフレームワークであり、開発者が短時間でクールなクロスブラウザHTML5ゲームを作成できるように設計されています。 このフレームワークが提唱する唯一の要件は、 <canvas />



サポートです。 彼はまた、 Flixelから多くのものを引き継ぎました







要件



このレッスンとゲームリソースのソースコードは、このGithubリポジトリpart-1



タグ付きです(各タグはレッスン番号に対応しています)。 このリポジトリを既に自分に複製している場合は、 src/index.ts



して調査を開始します。







基本的なTypeScriptの知識(またはES6 )と、プロジェクトをビルドするためにNode.jsをインストールする必要があります(この記事の発行時に、 6



バージョンをインストールすることをお勧めします)。







リポジトリのクローンを作成するときは、 NPM



パッケージをインストールすることを忘れないでください。







 npm i #   Yarn npm i -g yarn yarn npm rebuild #    Yarn   C++ ,        
      
      





インストール後、Webpack Dev Serverを起動します(サーバーはhttp://127.0.0.1:8080でリッスンします ):







 npm start
      
      





お気に入りのエディターでsrc/index.ts



を開き、コードを見てみましょう。

アプリケーションフレームワークは次のようになります。







 'use strict'; /** Imports */ //   . (,    webpack'   ). require('pixi'); // -   Phaser', PIXI  p2     require('p2'); require('phaser'); // -,   , TypeScript ,      `import 'phaser';` import 'styles/style.styl'; //    ;   //   ("")   export class MainState extends Phaser.State { preload(): void { } create(): void { } update(): void { } } //     export default class App extends Phaser.Game { constructor(config: Phaser.IGameConfig) { super(config); this.state.add('main', MainState); //  ""  this.state.start('main'); //      } } //  python' `__name__ == "__main__"`,      //        . if (!module.parent) { window.onload = () => { const config: Phaser.IGameConfig = { width: 800, //  canvas' height: 600, //  canvas' renderer: Phaser.AUTO, //  ,   AUTO parent: '', resolution: 1, forceSetTimeOut: false //   setTimeout }; new App(config); //  .    Canvas    }; }
      
      





4-6



アプリケーションのグローバルな依存関係を登録します。 前述のとおり、 Phaseアーキテクチャ( 記事v2.6.2の執筆時点 )のため、これら3つのライブラリはグローバルである必要があります(Webpackのビルド段階でグローバルにします)。 また、 TypeScriptv2.2.1 )は、 require



を介してでrequire



なくimport



を介して接続すると、何らかの理由で壊れてしまいます。







22



行目で、 Phaser.Game



クラスを継承し、コンストラクターでゲームのmain



状態を登録します。







12



12



main



状態コンストラクターを作成し、 Phaser.State



から継承しPhaser.State



。 このクラスには3つの主要なパブリックメソッドがあります( 実際にはさらに多くのメソッドがありますが、これらが最も一般的に使用されています)。









将来的には、ゲームの基本的なロジックを作成するのはそれらの中にあります。







最後に、 36



行目で、アプリケーションの構成オブジェクトを作成し、 45



行目でそれを開始します。







主なプロパティ:









ここに他のプロパティがあります







すべてを正しく行った場合、次のように表示されます。







スクリーンショット1







この行から判断すると、ブラウザーはWebGL



WebAudio



サポートしWebGL



WebAudio









スクリーンショット2







Githubレポhttps : //github.com/SuperPaintman/phaser-typescript-tutorial







コンテンツへ








All Articles