国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

給你的網(wǎng)頁游戲添加游戲手柄支持

stdying / 4354人閱讀

摘要:自從買了手柄后一直想試試給自己寫的小游戲增加手柄支持。表示該對(duì)象所表示的手柄是否還保持連接。。連接事件瀏覽器提供了兩個(gè)手柄相關(guān)的事件。。完筆者給自己的貪食蛇小游戲增加了手柄搖桿控制蛇頭方向功能之前筆者還寫過俄羅斯方塊之類的,代碼找不到了

自從買了 Switch 手柄后一直想試試給自己寫的小游戲增加手柄支持。今天終于抽出時(shí)間搞了一把。以下是筆記 ;)

navigator.getGamepads

HTML5 中獲取游戲手柄的 API 是 navigator.getGamepads()。navigator.getGamepads 會(huì)返回一個(gè)可能包含 null 的數(shù)組。標(biāo)準(zhǔn)規(guī)定,對(duì)于同一個(gè)游戲手柄會(huì)在同一個(gè)下標(biāo)中返回,不同的手柄必須不能使用其他手柄用過的下標(biāo)——即便前者已經(jīng)中斷連接。如果沒有檢測(cè)到任何游戲手柄,實(shí)測(cè)在 Firefox 中會(huì)返回一個(gè)空數(shù)組,而在 Chrome、Safari 中會(huì)返回 [null, null, null, null]

當(dāng)瀏覽器檢測(cè)到手柄后,navigator.getGamepads 就會(huì)返回包含該手柄對(duì)象的數(shù)組,每一個(gè)手柄對(duì)象都是 Gamepad 類型

實(shí)測(cè)筆者的 NS Pro 手柄在 Chrome、Safari 瀏覽器上有兼容性問題(不能識(shí)別左搖桿),所以下面測(cè)試均以 Firefox 為準(zhǔn)(Edge 也正常)。同事表示他的 PS4 手柄沒有問題。

Gamepad 類

Gamepad 類包含重要的屬性,這里只介紹最重要的幾個(gè):

id。字符串,包含了手柄驅(qū)動(dòng)的名稱信息。比如筆者的 NS Pro 返回的是 57e-2009-Pro Controller,可以用此字符串識(shí)別用戶的手柄提供默認(rèn)的按鍵映射。

connected。表示該 Gamepad 對(duì)象所表示的手柄是否還保持連接。

timestamp。手柄對(duì)象的最后更新時(shí)間。實(shí)測(cè)筆者雖然沒有動(dòng)手柄,這個(gè)值仍然在不斷增長(zhǎng)(可能是搖桿的數(shù)值在微小變化的緣故),用處不是很大。

mapping。表示瀏覽器是否可以識(shí)別手柄的布局。當(dāng)前瀏覽器只能識(shí)別 類似 PS4 手柄的標(biāo)準(zhǔn)布局。如果能識(shí)別,返回 standard,否則返回空字符串(筆者的 NS Pro 識(shí)別不了)。

axes。這個(gè)值表示手柄的搖桿的軸(一個(gè)搖桿有X、Y兩個(gè)軸)。其所有值都在 -1~1 之間。HTML使用向右、向下的坐標(biāo)系,所以正值表示右或上,負(fù)值表示左或下。標(biāo)準(zhǔn)規(guī)定,同一個(gè)搖桿的X、Y方向值必須相鄰,且先X后Y。標(biāo)準(zhǔn)同時(shí)建議,如果有多個(gè)搖桿同時(shí)存在,主搖桿應(yīng)該排在前面。所以如果有有左右兩個(gè)搖桿,axes 返回的數(shù)組值應(yīng)該表示:[左搖桿的X軸偏向, 左搖桿的Y軸偏向, 右搖桿的X軸偏向, 右搖桿的Y軸偏向]

buttons。這個(gè)值是一個(gè) GamepadButton 對(duì)象數(shù)組。標(biāo)準(zhǔn)建議數(shù)組的順序應(yīng)該按照主要按鍵優(yōu)先排列。實(shí)測(cè)對(duì)于我的 NS Pro 手柄來說順序是 [B, A, Y, X, L, R ...],而方向鍵排在最后四個(gè)。建議實(shí)際應(yīng)用中給用戶提供專門的界面映射按鍵。

GamepadButton 類

每一個(gè) GamepadButton 實(shí)例表示手柄上的一個(gè)按鍵(包括方向鍵),它包含三個(gè)屬性(MDN 上只寫了兩個(gè),實(shí)際按照標(biāo)準(zhǔn)返回了全部三個(gè)):

pressed。布爾值,表示當(dāng)前按鍵是否被按下。

value。表示按鍵的深度(完全按下還是按到一半),值為 0~1 之間。大多數(shù)按鍵不支持壓力感應(yīng),會(huì)直接返回0或1

touched。如果手柄支持觸摸,該值可表示當(dāng)前按鍵被觸摸但是沒有按下的狀態(tài)。如果不支持觸摸,該值和 pressed 一致。

連接事件

瀏覽器提供了兩個(gè)手柄相關(guān)的事件。

gamepadconnected。當(dāng)瀏覽器檢測(cè)到手柄連接時(shí)觸發(fā)。回調(diào)函數(shù)的事件參數(shù)中包含 gamepad 屬性,用戶獲得新連接的手柄對(duì)象

gampaddisconnected。當(dāng)瀏覽器檢測(cè)到手柄失去連接時(shí)觸發(fā)。

可以看到手柄沒有類似鍵盤鼠標(biāo)那樣的 keydown、keyup 等事件,如需獲取手柄的按鍵狀態(tài),需要在 raf 循環(huán)中使用 navigator.getGamepads 實(shí)時(shí)獲取。

筆者給自己的貪食蛇小游戲增加了手柄搖桿控制蛇頭方向功能:https://github.com/CarterLi/S...

之前筆者還寫過俄羅斯方塊之類的,代碼找不到了/(ㄒoㄒ)/~~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/94528.html

相關(guān)文章

  • 日本什么主機(jī)好-買什么游戲主機(jī)好?

    摘要:買什么游戲主機(jī)好距離上篇游戲主機(jī)選購(gòu)?fù)耆改弦呀?jīng)有了快兩年的時(shí)間,在這個(gè)不長(zhǎng)不短的時(shí)間里,游戲主機(jī)市場(chǎng)也出現(xiàn)了一些十分有趣的變化,索尼和微軟齊頭并進(jìn),先后發(fā)布了和,讓成了去年游戲領(lǐng)域的關(guān)鍵詞,完成了半個(gè)世代的更迭。想組裝一臺(tái)電腦,用迷你主機(jī)好還是用大主機(jī)好?一定先玩明確自己的使用要求。而不是先考慮哪種電腦好。迷你電腦優(yōu)點(diǎn)太多了,小巧美觀不占地方,日常應(yīng)用足夠,高清電影一般游戲辦公商務(wù)都可滿足...

    everfly 評(píng)論0 收藏0
  • 商城用什么主機(jī)-買什么游戲主機(jī)好?

    摘要:買什么游戲主機(jī)好距離上篇游戲主機(jī)選購(gòu)?fù)耆改弦呀?jīng)有了快兩年的時(shí)間,在這個(gè)不長(zhǎng)不短的時(shí)間里,游戲主機(jī)市場(chǎng)也出現(xiàn)了一些十分有趣的變化,索尼和微軟齊頭并進(jìn),先后發(fā)布了和,讓成了去年游戲領(lǐng)域的關(guān)鍵詞,完成了半個(gè)世代的更迭。買什么游戲主機(jī)好?距離上篇 《游戲主機(jī)選購(gòu)?fù)耆改稀?已經(jīng)有了快兩年的時(shí)間,在這個(gè)不長(zhǎng)不短的時(shí)間里,游戲主機(jī)市場(chǎng)也出現(xiàn)了一些十分有趣的變化,索尼和微軟齊頭并進(jìn),先后發(fā)布了 PS4 ...

    figofuture 評(píng)論0 收藏0
  • 游戲掛機(jī)用什么云主機(jī)-請(qǐng)問云服務(wù)器可以托管掛機(jī)游戲嗎?

    摘要:請(qǐng)問云服務(wù)器可以托管掛機(jī)游戲嗎如果是想在云主機(jī)上玩游戲的話,由于云主機(jī)沒有網(wǎng)卡,所以無法加載大型游戲,不過可以玩一些網(wǎng)頁游戲。請(qǐng)問云服務(wù)器可以托管掛機(jī)游戲嗎?如果是想在云主機(jī)上玩游戲的話,由于云主機(jī)沒有網(wǎng)卡,所以無法加載大型游戲,不過可以玩一些網(wǎng)頁游戲。如果主機(jī)提供商的物理機(jī)支持GPU透?jìng)鞴δ埽瑢⑽锢頇C(jī)GPU透?jìng)鞯皆浦鳈C(jī)上,這樣云主機(jī)就有了物理機(jī)的GPU功能,有了3D渲染和高清解碼的功能,玩...

    xorpay 評(píng)論0 收藏0
  • WebVR開發(fā)教程——交互事件(一)頭顯與手柄

    摘要:交互事件交互根據(jù)自由度可分為和,顯然,所有的頭顯都應(yīng)支持方向的追蹤。交互事件除了,現(xiàn)在大部分還搭配,用戶通過手持手柄可以與虛擬場(chǎng)景進(jìn)行交互。 showImg(https://segmentfault.com/img/remote/1460000011813767?w=880&h=471); 前兩期主要介紹了開發(fā)WebVR應(yīng)用的基本套路,不過開發(fā)出來的場(chǎng)景還只是可遠(yuǎn)觀而不可褻玩,缺乏交互...

    harriszh 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<