Web游戏开发编程:最神奇的“触觉振动”
談起“觸覺反饋”,大家可能從字面上并不能理解它是如何工作的。觸覺反饋是指在一些支持觸摸電子設備中嵌入的技術。如果你手里剛好有一個觸摸屏手機,你會經常碰到這種體驗。觸覺反饋機制響應觸摸、模擬鍵入靈敏度高。通過輕微的質感振動可以觸發這種響應。而且這種響應不受真實的設備操作干擾。
????? Vibration API為宿主設備提供“觸覺反饋式”編程機制。Vibration API常用于Web游戲開發人員,處理一些與游戲相關的觸覺操作。
Vibration 接口定義如下:
Navigator implements Vibration;
所有Navigator類型的實例均實現Vibration接口。
Vibration 接口方法定義如下:
interface Vibration {
void vibrate (unsigned long time) raises (NotSupportedError);
void vibrate (unsigned long[] pattern) raises (NotSupportedError);
};
1.vibrate (unsigned long time)方法說明
參數: time
參數類型: unsigned long
參數是否為NULL:否
參數必選/可選:必選
參數描述: 振動時間(毫秒)
異常:NotSupportedError
描述:當time參數超過規定時間,則拋出異常
返回值:Void
2.vibrate (unsigned long[] pattern)方法說明
參數: pattern
參數類型: unsigned long[]
參數是否為NULL:否
參數必選/可選:必選
參數描述: 時間數組。數組偶數下標表示振動時間(毫秒),奇數下標表示間隔時間(毫秒)。
異常:NotSupportedError
描述:當pattern數組長度超過規定數值,或者數組超過規定時間,則拋出異常。
返回值:Void
vibrate (unsigned long[] pattern)方法算法如下:
1. Pattern數組長度為0,則程序退出。
2. 如果pattern數組長度超過規定數值,或者數組超過規定時間,則拋出異常。
3. 保證pattern數組長度為偶數,否則去掉最后一個元素。
4. 遍歷pattern數組長度,遇到奇數,則該時間為振動時間(毫秒),遇到偶數,則該時間為間隔時間(毫秒).
實例分析
實例1 —— 觸屏設備振動1秒鐘
???????? // vibrate for 1 second
navigator.vibrate(1000);
// or alternatively
navigator.vibrate([1000]);
實例2 —— 觸屏設備振動1秒鐘,靜止0.5秒后,再次振動2秒鐘。
navigator.vibrate([1000, 500, 2000]);
實例3 —— 觸屏設備不振動。
?? navigator.vibrate(0);
// or alternatively
navigator.vibrate([]);
??????? 總之,觸覺反饋可以激起設備的振動,所謂的觸覺播放軟件實際上重在控制執行器振動的激烈程度以及何時振動。許多觸摸屏手機支持觸覺反饋,因此用戶能夠準確知道何時觸碰了屏幕。有些游戲控制器可以使用觸覺反饋來增強球員與視頻游戲的互動。
?
轉載于:https://blog.51cto.com/wws5201985/784570
總結
以上是生活随笔為你收集整理的Web游戏开发编程:最神奇的“触觉振动”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二十年后的回眸(4)——离奇的邂逅
- 下一篇: LNMPA(LNMP0.7)安装出现50