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

Source: https://habr.com/ru/post/J129735/


All Articles