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プロジェクトで協力して初めて実現できます。