iOS 重力感应 学习1 陀螺仪 水平仪 指南针
小球可以随着重力感应 四处乱撞。 放大了坐标位移 就可以看见小球动了。
然后规定小球的路径 当滑到中间时候 弹出一张图片 作为提示。 我做了一个小demo 效果不错哦
CMMotionManager *motionManager = [[CMMotionManager alloc]init]; if (!motionManager.accelerometerAvailable) { // fail code // 检查传感器到底在设备上是否可用 } motionManager.accelerometerUpdateInterval = 0.01; // 告诉manager,更新频率是100Hz /* [motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *latestAcc, NSError *error) { //2. Gravity 获取手机的重力值在各个方向上的分量,根据这个就可以获得手机的空间位置,倾斜角度等 CMAccelerometerData *newestAccel = motionManager.accelerometerData; double accelerationX = newestAccel.acceleration.x; double accelerationY = newestAccel.acceleration.y; imageView.frame=CGRectMake(accelerationX*100 , accelerationY*100, 40, 40); NSLog(@"%f==%f\n",accelerationY,accelerationY); //通过陀螺仪模块可以实现模拟赛车,模拟射击等。 [self.view addSubview:imageView]; }]; //*/ NSLog(@"%f", Height); /* 加速度传感器开始采样,每次采样结果在block中处理 */ // 开始更新,后台线程开始运行。 [motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) { CMAccelerometerData *newestAccel = motionManager.accelerometerData; double accelerationX = newestAccel.acceleration.x; double accelerationY = newestAccel.acceleration.y; f.origin.x += (accelerationX * SIZE) * 1; f.origin.y += (accelerationY* SIZE) * -1; if(f.origin.x < 0) f.origin.x = 0; if(f.origin.y < 0) f.origin.y = 0; if(f.origin.x > (self.view.frame.size.width - f.size.width)) f.origin.x = (self.view.frame.size.width - f.size.width); if(f.origin.y > (self.view.frame.size.height - f.size.height)) f.origin.y = (self.view.frame.size.height - f.size.height); NSLog(@"%f==%f\n",f.origin.x ,f.origin.y); /* 运动动画 */ [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:0.1]; if(f.origin.y>=Height-40) { f.origin.y=Height-40; } imageView.frame=CGRectMake(140 ,f.origin.y, 40, 40); //通过陀螺仪模块可以实现模拟赛车,模拟射击等。 [self.view addSubview:imageView]; if(f.origin.y>=(Height-40)/2&&f.origin.y<=(Height+40)/2) { [self.view addSubview:baby]; // [NSThread sleepForTimeInterval:5.0]; // } else { [baby removeFromSuperview]; } [UIView commitAnimations]; }];![]()
分类:
IOS Theroy
posted on 2014-03-07 17:22 ACM_Someone like you 阅读(4306) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)