日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Swift - 加速传感器(CoreMotion)的用法,小球加速运动并反弹样例

發布時間:2024/3/12 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Swift - 加速传感器(CoreMotion)的用法,小球加速运动并反弹样例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1,加速傳感器可以監聽到x,y,z三個方向的加速度,使用步驟如下: (1)實例化CMMotionManager類 (2)向CMMotionManager的accelerometerUpdateInterval屬性中設置通知間隔時間值。
(3)使用NSOperationQueue.currentQueue()建立一個監聽隊列。
(4)使用startAccelerometerUpdatesToQueue方法更新監聽隊列,并設置回調函數用于接受加速度通知。在回調函數中使用accelerometerData.acceleration相關屬性可以獲取x、y、z各個方向的加速度。

2,通知頻率設置建議
accelerometerUpdateInterval表示通知頻率,表示間隔多少秒通知一次。iPhone開發文檔中推薦使用的通知間隔如下:
(1)檢測設備朝向:1/10 ~ 1/20
(2)在游戲中需要實時使用加速傳感器時:1/30 ~ 1/60
(3)檢測敲擊設備或者劇烈搖動設備的情況下:1/70 ~ 1/100

3,x,y,z軸
(1)對于iphone手機來說,畫面上下為y軸,左右為x軸,貫穿屏幕為z軸。
(2)向上,向右,手機的前面分別是各軸的正方向。

4,加速度(原始加速度)
加速度不僅受震動手機時施加的作用力的影響,還會持續受到重力的影響。因此iphone手機如果垂直拿在手上的話,Y軸負方向將受重力作用,加速度y屬性將一直為負值(最小值為-1.0)
5,Gravity和UserAcceleration 網友cruise_H問:motionManager.deviceMotion.userAcceleration.x和motionManager.accelerometerData!.acceleration.x兩個獲取的acceleration有什么區別? 上面提到的原始的加速度(即通過startAccelerometerUpdates獲取的那個值)實際上是由兩種加速度合成而來的。一個是重力加速度(Gravity),一個是用戶對手機施加的加速度(UserAcceleration)(當然我們也可以分別獲取這兩種加速度)。 所以當手機垂直靜止時,雖然UserAcceleration是0,但由于有重力加速度,所以兩個合成后加速度y屬性便是為負值。

6,測試樣例
該應用運行后,將在畫面正中央顯示一個球體。傾斜手機時,球體將向著傾斜的方向運動。碰撞到四壁后反彈回來。 (注意:由于需要用到設備的重力感應器,所以要使用真機調試,模擬器運行小球不會動。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 import?UIKit import?CoreMotion class?ViewController:?UIViewController,UIAccelerometerDelegate?{ ????? ????var?ball:UIImageView! ????var?speedX:UIAccelerationValue=0 ????var?speedY:UIAccelerationValue=0 ????var?motionManager =?CMMotionManager() ????? ????override?func?viewDidLoad() { ????????super.viewDidLoad() ????????//放一個小球在中央 ????????ball=UIImageView(image:UIImage(named:"ball")) ????????ball.frame=CGRectMake(0,0,50,50) ????????ball.center=self.view.center ????????self.view.addSubview(ball) ????????? ????????motionManager.accelerometerUpdateInterval = 1/60 ????????? ????????if(motionManager.accelerometerAvailable) ????????{ ????????????let?queue =?NSOperationQueue.currentQueue() ????????????motionManager.startAccelerometerUpdatesToQueue(queue!, withHandler: ????????????????{ (accelerometerData :?CMAccelerometerData?, error:?NSError?) ->?Void?in ????????????????? ????????????????//動態設置小球位置 ????????????????self.speedX += accelerometerData!.acceleration.x ????????????????self.speedY +=? accelerometerData!.acceleration.y ????????????????var?posX=self.ball.center.x +?CGFloat(self.speedX) ????????????????var?posY=self.ball.center.y -?CGFloat(self.speedY) ????????????????//碰到邊框后的反彈處理 ????????????????if?posX<0 { ????????????????????posX=0; ????????????????????//碰到左邊的邊框后以0.4倍的速度反彈 ????????????????????self.speedX *= -0.4 ????????????????????? ????????????????}else?if?posX >?self.view.bounds.size.width { ????????????????????posX=self.view.bounds.size.width ????????????????????//碰到右邊的邊框后以0.4倍的速度反彈 ????????????????????self.speedX *= -0.4 ????????????????} ????????????????if?posY<0 { ????????????????????posY=0 ????????????????????//碰到上面的邊框不反彈 ????????????????????self.speedY=0 ????????????????}?else?if?posY>self.view.bounds.size.height{ ????????????????????posY=self.view.bounds.size.height ????????????????????//碰到下面的邊框以1.5倍的速度反彈 ????????????????????self.speedY *= -1.5 ????????????????} ????????????????self.ball.center=CGPointMake(posX,posY) ????????????}) ????????} ????} }

總結

以上是生活随笔為你收集整理的Swift - 加速传感器(CoreMotion)的用法,小球加速运动并反弹样例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本草草影院 | av导航站 | 加勒比不卡视频 | 国产精品视频一区二区三区不卡 | av高清在线 | 韩国黄色大片 | 五月天综合久久 | 国产欧美一区二区三区沐欲 | 超污网站在线观看 | 国产精品18久久久 | 国产欧美一区二区三区精品酒店 | 成人影片网址 | 久久亚洲网| 久久精品网址 | 女女互慰吃奶互揉调教捆绑 | 97人妻精品一区二区三区软件 | 少妇学院在线观看 | 曰本丰满熟妇xxxx性 | 亚洲午夜一区 | 在线视频一区二区三区四区 | 岳睡了我中文字幕日本 | 日韩资源 | 加勒比在线一区 | 欧美鲁| 涩涩片影院| 日韩欧美国产精品综合嫩v 国产小毛片 | 91香蕉国产| 欧美日韩中文字幕在线视频 | 三男一女吃奶添下面 | 亚洲午夜精品一区 | 高清一区在线观看 | 亚洲热在线 | 久久夜色精品国产欧美乱 | 成人欧美一区二区 | 日本三级韩国三级美三级91 | 日日日日干 | 色综合视频在线 | 国产超碰精品 | 91久操| 色国产在线 | www.99视频 | 欧美视频免费看 | 摸大乳喷奶水www视频 | 亚洲天堂岛 | 久久九九99 | 黄片毛片av | 精品少妇一区 | 国语对白真实视频播放 | 丰满肥臀噗嗤啊x99av | 天堂在线一区 | 久久精品7| 一级片视频在线观看 | 亚洲精品亚洲人成人网 | 国产精品三 | 国产aⅴ一区二区三区 | 丰满大乳少妇在线观看网站 | 大地资源在线观看免费高清版粤语 | 欧美精品一区视频 | 日韩少妇一区二区 | 麻豆婷婷 | 91影院在线免费观看 | 国产精品老牛影视 | 男人操女人的网站 | 在线免费观看黄色小视频 | 欧美日韩一区二区区别是什么 | 午夜精品久久久久久毛片 | 成人拍拍拍 | 爱上av | 日韩一级欧美 | 亚洲春色一区二区三区 | 亚一区 | 天天都色 | 国产人妖ts重口系列网站观看 | www.五月激情 | 激情另类视频 | 亚洲黄网站在线观看 | 中文亚洲欧美 | 污视频免费看 | 少妇人妻偷人精品一区二区 | 精品人妻一区二区三区日产乱码卜 | 99国产精品久久久 | 午夜欧美日韩 | 亚洲精品日韩在线观看 | 天天操天天操天天操天天操 | 91成人短视频在线观看 | xxxxx色| 中文幕无线码中文字夫妻 | 天天夜夜啦啦啦 | 中文字幕在线视频一区二区三区 | 激情五月视频 | 国产亚洲高清视频 | 亚洲精品一区二区三区蜜臀 | 亚洲看片网 | 成人免费视频国产在线观看 | 青青草老司机 | 九七超碰在线 | 天堂在线中文 | 日韩欧美中文字幕一区 | 在线视频激情小说 |