html5游戲開(kāi)發(fā),需要學(xué)習(xí)什么技術(shù)?
開(kāi)發(fā)和學(xué)習(xí)html5游戲所需的技術(shù):教程主要研究html標(biāo)簽、屬性和事件。2.CSS教程主要學(xué)習(xí)使用CSS控制網(wǎng)頁(yè)的樣式和布局。教程做HTML5開(kāi)發(fā),主要用JS語(yǔ)言。所以學(xué)習(xí)JS語(yǔ)言。必要的話學(xué)習(xí)一些JS庫(kù),方便開(kāi)發(fā)。其他核心技術(shù)只是基礎(chǔ)。為了開(kāi)發(fā)HTML5,可以使用以下技術(shù)。1)WebWorker可以在瀏覽器中運(yùn)行多個(gè)JS腳本。它可用于需要在后臺(tái)執(zhí)行一些耗時(shí)工作的情況。2)WebSocket瀏覽器可以與服務(wù)器雙向通信。Socket模式可以大大提高瀏覽器和服務(wù)器之間的通信效率。可以用在瀏覽器和服務(wù)器通訊頻繁的場(chǎng)合,比如實(shí)時(shí)聊天。3)在3)Canvas2D瀏覽器中繪圖。可用于游戲開(kāi)發(fā)等場(chǎng)合。
HTML5真能代替Flash嗎?
從長(zhǎng)遠(yuǎn)來(lái)看,HTML5將占據(jù)Flash的大部分市場(chǎng),但Flash仍將主要在游戲開(kāi)發(fā)方面有生存空間。
1.在功能上,現(xiàn)代瀏覽器正在迅速擴(kuò)大java的應(yīng)用范圍。:本地視頻/音頻API,2D繪圖有畫(huà)布,3D有WebGL,即時(shí)消息有WebSockets和本地存儲(chǔ)。其他正在討論中并可能在未來(lái)添加到標(biāo)準(zhǔn)中的API包括地理定位、文件API(更強(qiáng)大的上傳/下載)、WebStorage(增強(qiáng)的cookie),甚至本地文件處理功能。現(xiàn)階段Flash在功能上沒(méi)有太大優(yōu)勢(shì),暫時(shí)還是有作為流媒體解決方案的一席之地,但瀏覽器原生API被取代只是時(shí)間問(wèn)題。在數(shù)據(jù)存儲(chǔ)和本地操作中,因?yàn)槭遣寮允艿礁鞣N安全的限制。(此為基于網(wǎng)絡(luò),不討論空氣。)
2.性能:以前Flash在整體性能上有明顯優(yōu)勢(shì),AS3是編譯語(yǔ)言,在虛擬機(jī)上的運(yùn)行速度比當(dāng)年的java快很多。但是現(xiàn)在各大瀏覽器都在關(guān)注java引擎的優(yōu)化,尤其是Chrome的V8,在代碼運(yùn)行效率上已經(jīng)和AS3并駕齊驅(qū)。然而,在2D動(dòng)畫(huà)中,F(xiàn)lash的優(yōu)勢(shì)仍然很明顯。即使在Chrome上,平均fps仍然高于canvas。另外,F(xiàn)lash本身的IDE支持矢量圖形,這是Canvas沒(méi)有的。從這個(gè)角度來(lái)看,F(xiàn)lash在依賴大量2D圖像的游戲中仍然保持著絕對(duì)優(yōu)勢(shì)。在3D中,F(xiàn)lashPlayerGPU支持是通過(guò)MolehillAPI獲得的,WebGL也是直接調(diào)用GPU,性能上沒(méi)有太大區(qū)別,主要是API和第三方3D引擎的對(duì)比。在這方面,F(xiàn)lash顯然更成熟,但js正在迎頭趕上。
4.平臺(tái)支持:Flash是嵌入式的,所以只要能運(yùn)行,自身虛擬機(jī)不存在兼容性問(wèn)題,只有版本問(wèn)題;FlashPlayer的版本更新采用率一直很高。這對(duì)開(kāi)發(fā)者來(lái)說(shuō),少了很多麻煩。HTML5最頭疼的就是瀏覽器兼容性參差不齊,這也是HTML5現(xiàn)階段最大的缺陷。不過(guò)HTML5在平臺(tái)上也有一個(gè)明顯的優(yōu)勢(shì),那就是在越來(lái)越重要的移動(dòng)平臺(tái)上,對(duì)HTML5的支持要好得多(iOS幾乎支持所有的HTML5API和CSS3屬性,而大部分移動(dòng)瀏覽器都是webkit內(nèi)核,對(duì)HTML5的支持很好)。相比之下,F(xiàn)lashs在iOS上直接退出也是硬傷。從長(zhǎng)遠(yuǎn)來(lái)看,HTML5還是絕對(duì)的贏家,因?yàn)闉g覽器支持只會(huì)越來(lái)越好,移動(dòng)平臺(tái)上的Flash已經(jīng)沒(méi)有競(jìng)爭(zhēng)力了。Adobe最近宣布停止FlashPlayer在移動(dòng)平臺(tái)上的繼續(xù)開(kāi)發(fā)。