反弹小球和加速度传感器的使用

本文介绍如何利用加速度传感器实现一个反弹小球的互动应用。通过在UIViewController子类中添加UIAccelerometerDelegate协议,当手机倾斜时,小球会朝倾斜方向移动并反弹。核心代码涉及小球对象的创建和加速度值的获取。
摘要由CSDN通过智能技术生成


反弹小球和加速度传感器的使用(UIAccelerometer)

序言:

       我们都见过人家做的小球运动,现在我们一起也做一个自己的小球运动。

今天的小球的效果是:程序运行后,将在画面中间,有一个小球,然后,你倾斜手机,小球将向着手机倾斜的方向飞移动,碰到四壁的时候将会反弹回来。


正文:

首先,我们要讲一下思路;

第一: 在UIViewController的子类里追加UIAccelerometerDelegate的协议,只有这样画面才能接收到速度的通知。接着我们创建小球的对象,和两个方向的加速度值;

代码如下:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIAccelerometerDelegate>

{
   //我们创建3个对象
    
    UIImageView*_imageView;
    
    //小球X方向的速度
    
    UIAccelerationValue  _speedX;
    
     //小球Y方向的速度
    
    UIAccelerationValue  _speedY;

    
    
}
@end

第二:在-(void)viewDidLoad中创建小球的对象并实现。代码

-(void)viewDidLoad{
     [super viewDidLoad];
    [self makeUI];
 }

-(void)makeUI
{
     self.view.backgroundColor=[UIColor greenColor];
     //追加球体
     UIImage * image=[UIImage imageNamed:@"qiu.png"];
     _imageView=[[UIImageView alloc]initWithImage:image];
     _imageView.center=self.view.center;
    //让小球自适应
    _imageView.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleBottomMargin|UIViewAutoresizingFlexibleTopMargin;
     [self.view addSubview:_imageView];
 }

第三:我们在-(void)viewWillAppear:(BOOL)animated中开始加速度传感器的使用。首先用UIAccelerometer中的定义的sharedAccelerometer方法获取UIAccelerometerd的单一实例;设置次实例的updateInterval属性设置未SELF ,这样-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acce
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值