Device Central CS5 - Accelerometer from Mark Doherty on Vimeo.
In this video we look at the Accelerometer API in Flash Player 10.1 and AIR and the integration with Device Central CS5
以下分享一下這個範例的原始碼及心得:
accelerometer就是我們常俗稱的g-sensor,用來測量重力的sensor。
一般來說這種accelerometer都會給三個軸向的數值,分別為x,y,z,且都會是正~負的一個範圍,例如1~-1, 100~-100這種的。
而Flash提供的是1~-1的範圍。以面對手機瑩幕來看,水平線為X,垂直線為Y,穿透瑩幕的縱向為z
在Flash中使用acceleration api其實沒什麼困難,設好update event後,就會持續收到訊號,訊號內容有三個值
accelerationX
accelerationY
accelerationZ
各別都是1 ~ -1的一個值,拿這些值來做應用即可
以下範例是做了一個小鋼珠在桌面滑來滑去的動態,除了用AccelerometerEvent外,另外多加了些摩擦力、慣性的模擬。
在電腦要測的話,可開啟Device Central CS5的3D模擬面板試玩。
最後有一點要注意,Accelerometer的靈敏度,甚至軸向,有時在不同的device上會有所不同,所以一些參數會需要因不同的機子調整,例如這個範例我在iPhone及Nexus One上測試,其X軸的正負值就完全相反,sensor回傳event的靈敏度也不太相同。
以下為範例code: