JavaでHTML5 / Flashゲームを作成する

PlayNと「Rovio Angry Birds HTML5の作成方法」



サンフランシスコでの最後のGoogle IOカンファレンスで、PlayNライブラリが紹介されました。 このセッションは、キックアスゲームプログラミングと呼ばれていました。 そして、この技術は本当に魅力的に見えます。 任意のOSで1つの言語でゲームを作成し、お気に入りのIDEを使用してゲームを作成し、最後にHTML5 / Android / Native / Flash(!)でゲームを取得すると想像してください。 PlayNは無料のオープンソースであり、Angry Birds(HTML5)も作成されています。



バイパーエンジンとPlayN



数週間前、私はPlayNでゲームを作ることにし、開発者が選択した抽象化レベルではゲームをすばやく作成できないことに気付きました。 プラットフォームには、2Dゲームを作成する際の一般的な問題を解決するフレームワークが必要です。 アニメーション、パーティクルエフェクト、ゲームカメラ、ゲームシーンとシーンの変更、単純な物理学、ゲームオブジェクトのグループ化などのタスク。

1週間後、JavaでシンプルなHTML5ゲームを作成するために、Viperエンジンのアルファバージョンが作成されました。



調理器具



1. PlayNをインストールします


開始するには、playnとその例を実行します。

PlayNを使い始める

PlayNライブラリのクローンを作成します。

PlayNコードはGitに含まれています。 Gitがインストールされている場合:



git clone code.google.com/p/playn



PlayNをビルドするには、Mavenバージョン3以降が必要です。 次のリンクでMavenをインストールできます: install Maven



Mavenバージョンを確認してください。

mvn -V

3以上である必要があります。



playnをMavenのローカルストレージにインストールした後。



cd playn

mvnクリーンインストール



PlayNサンプルの1つを実行するには:



cd playn /サンプル/ショーケース

mvn cleanパッケージ

mvn test -P test-html



ブラウザ(もちろんGoogle Chrome)を開き、127.0.0.1:8080 /を入力します

さて、あなたは目の前にGoogleのエンジニアがIOで表したデモを見ます。



mvn test -P test-flash

そして今点滅します。 入力:localhost:8080 /



cd android

mvn android:デプロイ

そしてAndroid。



IDEで作業を続けるために、Eclipse用のプラグインをインストールすることを忘れないでください。

Eclipse用Maven Integrationをインストールし、[ヘルプ]→[新しいソフトウェアのインストール]を選択し、[利用可能なすべてのサイト]を選択して、単語mavenを検索します。

Eclipse用Googleプラグインをインストールします

Eclipse用のWebツールプラットフォームをインストールします。 [ヘルプ]→[新しいソフトウェアのインストール]を選択し、 download.jboss.org / jbosstools / updates / m2eclipse-wtpと入力し [Work with]を選択して、Maven Integration for WTPをインストールします。



2. Eclipseで将来のゲームのスケルトンを作成する


[ファイル]→[新規]→[その他]を開き、[Maven]→[Maven Project]を選択して、をクリックします。



[スナップショットアーキタイプを含める]チェックボックスをオンにし、アーキタイプのリストでplayn-archetypeをダブルクリックします。



グループID、アーティファクトID、バージョン、パッケージ、およびgameNameを構成します。

グループIDの例:com.mydomain.myproject。

アーティファクトIDの例:gameamazing

バージョンの例:1.0-SNAPSHOTまたは0.01a

パッケージ例:com.mydomain.myproject

さて、gameNameの例:LolGame



[完了]をクリックして、パッケージエクスプローラーで5つのプロジェクトを取得します。

さて、スケルトンゲームがあります。

ちなみに、これらすべてのセットアップ手順は、ゲーム自体を書くよりもはるかに時間がかかります。



3.サンプルとともにViper Engineを取得します




Viperデモ

git clone Partysun@github.com/Partysun/Viper-Engine-Demos.git



cd Viper-Engine-Demos

mvnクリーンインストール

mvn test -P test-html



次に、プロジェクトをEclipseにインポートします。



そして、あなたはそれを使うことができます。



ゲームを書く





Viper Engineのゲームには、VipGameから継承した入力クラスが必要です。



コンストラクターで、ゲームの初期値を設定します。

public ViperExamples() {

// .

// .

// .

super(640, 480, 800, 800, new LogoDemo(), 33);

}









Viperのゲームシーンは、VipStateから継承する必要があります。

また、create()メソッドの必須オーバーロードが必要です。

ステージ上にあるべきすべてを説明しています。 また、ゲームサイクルでの動的な処理のために、update()メソッドをオーバーロードする必要があります。



以下に、1組のスプライトの簡単な作成と、それらの時間内の変更の例を示します。

public class MovingDemo extends VipState{



private VipSprite img;

private VipSprite img2;

private VipKeyboardStandart kListener;



@Override

public void create() {

img = new VipSprite(20, 20, "images/house.png");

add(img);

img.velocity.x = 0.2f;



img2 = new VipSprite(270, 200, "images/house.png");

add(img2);

img2.angularVelocity = 0.002f;



kListener = new VipKeyboardStandart();

addKeybordControl(kListener);

}



@Override

public void update() {

super.update();

if (kListener.ESC) {

VipG.switchState(new LogoDemo());

}

if (img.x > 350)

img.velocity = new VipPoint(0, 0.2f);

if (img.y > 250)

img.velocity = new VipPoint(- 0.2f, 0);

if (img.x < 20)

img.velocity = new VipPoint();



if (img2.scale.x < 2)

img2.scale.x += 0.002f;

if (img2.scale.x > 2)

img2.scale.x = 1.0f;

}

}








要約する



したがって、最終的に、Html5 / flash / android向けのゲームを作成するためのフレームワークがあります。

いやいやいや! すべては非常に安定しておらず、今のところうまく機能していません。 これまでのところ、HTML5のみが素晴らしく非常に高速に動作します。 結局のところ、IOで長い間実証されたのは無駄ではなく、Angry Birdsは書きました。 これは良いニュースです。なぜなら、html5ゲームをjavaで書くほうがjsよりもずっと便利だからです。 これまでのところ、将来の機会の可能性のみが喜ばれています。 そして、この可能性は、GoogleとViper Engine(@Partysun)のPlayNプロジェクトで協力して初めて実現できます。



All Articles