<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數據加載中……

    Android教程之實現動作感應技術

        今天有個公司說需要動作感應的幾個小游戲!也接觸android很久了,但是以前沒有看過關于動作感應技術的教程,到google上也沒搜索到類似教程!只有自己看API了,加上就其他平臺的動作感應試試吧!就在這里記錄下收獲吧!
    1.發現Android提供了SensorListener接口
    2.要使用還得有個動作感應管理器SensorManager
    Java代碼

       1. //取得SensorManager  
       2. SensorManager sensorMgr = (SensorManager)getSystemService(SENSOR_SERVICE);    

    //取得SensorManager
    SensorManager sensorMgr = (SensorManager)getSystemService(SENSOR_SERVICE);  

    3.注冊我們獲得的SensorManager
    Java代碼

       1. //返回true表示注冊成功,flase則反之  
       2. sensorMgr.registerListene(this,SensorManager.SENSOR_ACCELEROMETER,SensorManager.SENSOR_DELAY_GAME);  

    //返回true表示注冊成功,flase則反之
    sensorMgr.registerListene(this,SensorManager.SENSOR_ACCELEROMETER,SensorManager.SENSOR_DELAY_GAME);

    如果注冊SensorManager不成功就調用
    Java代碼

       1. sensorMgr.unregisterListener(this,SensorManager.SENSOR_ACCELEROMETER); 

    sensorMgr.unregisterListener(this,SensorManager.SENSOR_ACCELEROMETER);

    4.SensorListener必須實現兩個方法
    Java代碼

       1. public void onAccuracyChanged(int arg0, int arg1) {}  
       2. public void onSensorChanged(int sensor, float[] values) {}  

    public void onAccuracyChanged(int arg0, int arg1) {}
    public void onSensorChanged(int sensor, float[] values) {}

    5.自己定義一個3D的坐標
    Java代碼

       1. class Pos3D  
       2. {  
       3.     float x;  
       4.     float y;  
       5.     float z;  
       6. }  
       7. Pos3D cur,last;  

    class Pos3D
    {
        float x;
        float y;
        float z;
    }
    Pos3D cur,last;

     在方法中這樣課可以獲得數據

     
    Java代碼

       1. cur.x = values[SensorManager.DATA_X];  
       2. cur.y = values[SensorManager.DATA_Y];  
       3. cur.z = values[SensorManager.DATA_Z];  
       4. float speed = Math.abs((cur.x+cur.y+cur.z)-(last.x+last.y+last.z))/ 間隔的時間 

    cur.x = values[SensorManager.DATA_X];
    cur.y = values[SensorManager.DATA_Y];
    cur.z = values[SensorManager.DATA_Z];
    float speed = Math.abs((cur.x+cur.y+cur.z)-(last.x+last.y+last.z))/ 間隔的時間

    下面就是判斷這個speed大于自己定義的一個數值時,進行處理
    Java代碼

       1. if(speed > 1000)  
       2. {  
       3.     //這里來進行處理  
       4. }  

    if(speed > 1000)
    {
        //這里來進行處理
    }

     
    就這樣最基本的實現了動作感應,,但是大家肯定能感覺得到這個方法的不足之處,
    我也還在研究更好的方法,希望一起討論

    原文:http://www.eoeandroid.com/viewthread.php?tid=879&extra=&page=1




    Android開發完全講義(第2版)(本書版權已輸出到臺灣)

    http://product.dangdang.com/product.aspx?product_id=22741502



    Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


    新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

    posted on 2009-08-17 10:32 銀河使者 閱讀(929) 評論(0)  編輯  收藏 所屬分類: java 、 原創 、移動(mobile)

    主站蜘蛛池模板: 成人免费午夜在线观看| 亚洲综合色丁香婷婷六月图片| 成人免费淫片在线费观看| 在线播放免费人成毛片乱码| 婷婷国产偷v国产偷v亚洲| 亚洲国产夜色在线观看| 亚洲av永久无码精品秋霞电影影院 | 国产亚洲中文日本不卡二区| 亚洲av无码精品网站| 免费又黄又爽的视频| 成年女性特黄午夜视频免费看| 久久国产乱子伦免费精品| 中文字幕无线码免费人妻| 特级毛片全部免费播放| 亚洲区日韩精品中文字幕| 亚洲一级毛片免费看| 亚洲综合久久久久久中文字幕| 久久精品国产亚洲麻豆| 久久亚洲av无码精品浪潮| 免费国产在线观看| 国产精品免费一级在线观看| 成人毛片免费观看视频大全| 中文字幕乱码免费视频| 国产成人精品免费视频动漫| 最近免费中文字幕大全免费版视频| 久别的草原电视剧免费观看| 女同免费毛片在线播放| 中文字幕免费人成乱码中国| 国产精品午夜免费观看网站| rh男男车车的车车免费网站| 香蕉国产在线观看免费| 免费国产在线精品一区| 一级特黄色毛片免费看| 一区二区3区免费视频| 一个人看的免费观看日本视频www| 四虎精品免费永久免费视频| 一级毛片免费视频网站| 中文字幕视频在线免费观看| 免费萌白酱国产一区二区三区| 色www永久免费网站| 国产精品免费AV片在线观看|