2009-08-31 17 views
1

JavaScriptでElastoManiaと似たゲームを作成します。これはJavaScriptで可能ですか?

私は、正方形であるためdivを使用して衝突検出が不可能になると思っていましたし、ゲームの原則はスロープなどを運転することを中心にしていますか?

これはキャンバスで実行できますか?

また、jQueryなどのライブラリを使用すると、JSゲームの実行速度が低下しますか?私はほとんどのゲームがバニラJSで作られていることに気が付いたので、この種のアプリケーション(ゲーム)にライブラリを使用するのは悪い考えです。

おかげ

UPDATE

これは複雑なゲームのように思えます!私はかもしれないはまだそれに先行します。誰かがこのプロジェクトに乗りたい場合は、contact me.

+0

なぜJavaScriptが必要ですか?フラッシュはそれに最適です。 – Havenard

+0

@Havenard - 学習経験のある方。 – alex

答えて

4

あなたのモデルをプレゼンテーションから分離してください。

ゲームロジックと "物理学"にはカスタムスクリプトが必要で、プレゼンテーションモデル(divなど)とは関係ありません。

プレゼンテーション側ではjQueryを使用することができますが、これは特別なケースでパフォーマンスが重視されるアプリケーションで、ほとんどのゲームは「バニラ」スクリプトで書かれています。

1

キャンバスタグを使用すると非常に可能です。ここで

http://developer.mozilla.org/en/Canvas_tutorial

キャンバスでテトリスゲームです。このゲームの背後にあるライブラリは、誰にでも入手可能です:

http://tommysmind.com/gamejs/

あなたが助けになるかもしれないいくつかのライブラリを探している場合:

http://openjsan.org/(誰でも貢献できるライブラリの束)

このようなゲームが構築するのはかなりの努力のようです。これはおそらく、スーパーマリオブラザーズのこの実装のようになります。

http://nihilogic.dk/labs/mario/mario_small_music.htm

1

Thisはボールシミュレータの非常に良いjavascriptの実装です。
多分あなたはそれから何かを学ぶことができます。 あなたのプロジェクトでタイヤ衝突の検出に使用できるかもしれません。 このデモは、妥当なパフォーマンスで物理モデルをjavascriptで実装することが可能であることを示しています。

あなたが既に知っているかもしれませんが、ゲームのようなElastoManiaのオープンソース実装は、X-モトはODEを使用していますX-Moto
と呼ばれています。

編集:私はBOX2DのJavaScript実装が見つかりました:Box2D-JS

0

あなたはdiv要素の境界の異なる色を使用することにより、スロープ効果を得ることができます。

<div style="border-left: solid 10px black; border-top: solid 10px red"> 

あなたに役立つかもしれない斜めのボーダーが表示されます。

+0

しかし、私は多くのdivを使用する必要がありますか?私は可能ならばそれを避けたいと思います。 – alex

+0

はい、IEでは動作しますがキャンバスには表示されません – erikkallen

1

もし私が斜面を運転しているのであれば、地面に対してプレーヤーの位置を確認する必要があるたびに、各点の高さを格納するために1次元配列を使用し、idを参照しました。

___ 
/ --- 
/  ____ 

024443330000 ...など

一つの問題があります

:あなたが持っていることができなかったので、あなたはbasicalyスロープのイメージと各xでのYSの対応するセットが必要だろう理想的にはそこに垂直なエッジがあり、1xあたり2 yポイントが必要です。

+0

これは興味深い考えです。ありがとう+1 – alex

関連する問題