2009-08-31 85 views
1

我想用JavaScript創建類似於ElastoMania的遊戲。這是可能的JavaScript?

我想知道,使用div是不可能的,因爲它們是方形的,而且遊戲原理是圍繞着斜坡等進行的嗎?

這會在畫布上可行嗎?

此外,會使用像jQuery這樣的庫減慢JS遊戲的運行速度嗎?我注意到大多數遊戲都是用vanilla JS構建的,所以我有這樣的想法,即使用一個庫來處理這種應用程序(一個遊戲)是一個糟糕的主意。

感謝

UPDATE

這似乎是一個複雜的遊戲!我可能仍然繼續下去。如果有人想跳上這個項目,請contact me.

+0

爲什麼選擇JavaScript? Flash是完美的。 – Havenard 2009-08-31 05:56:11

+0

@Havenard - 提供學習體驗。 – alex 2009-08-31 06:25:26

回答

4

將您的模型從演示文稿中分離出來。

遊戲邏輯和「物理」將需要自定義腳本,並且與演示模型(即div's)無關。

您可能可以在演示文稿方面使用jQuery,但這是一個特殊情況,性能密集型應用程序,而且,大多數遊戲都是用「vanilla」腳本編寫的。

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-Moto
X-摩托使用ODE

編輯:我只是找到了一個JavaScript實現的Box2D的:Box2D-JS

0

您可以通過使用一個div的邊框不同的顏色得到了斜率的效果。

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

會給你一個對角線邊框,你可能會發現有用。

+0

但是,我需要使用很多很多divs不是嗎?如果可能,我想避免這種情況。 – alex 2009-08-31 10:59:40

+0

是的,但它會在IE瀏覽器,它的畫布不會 – erikkallen 2009-08-31 13:51:22

1

如果它駕駛起來的斜坡,我寧願使用1-d陣列存儲高度在每一個點和每一個我需要檢查對地面的球員的位置時參考ID。所以,你需要basicaly坡的形象和YS在每個x相應集:

___ 
/ --- 
/  ____ 

024443330000 ...等

有一個問題但是:你不能有理想的垂直邊緣,因爲他們需要每1 x 2 y點。

+0

這是一個有趣的想法。感謝+1 – alex 2009-09-02 23:59:47