标签: uiaccelerometer

如何在IOS中获取加速度计数据?

我正在使用该UIAccelerotmeterDelegate方法,accelerometer:didAccelerate:但最近该方法已在iOS 5.0中弃用.那么获取加速度计数据的另一种方法是什么?文档没有提到我们应该使用的替代方案.

accelerometer uiaccelerometer ios

11
推荐指数
2
解决办法
2万
查看次数

将当前设备位置识别为平坦

所以我有这个应用程序我正在努力你可以通过倾斜设备(加速度计)在屏幕上滚动球.我怎样才能改变下面的代码,这样我就不必将手机保持平衡,并将其作为我的中立平衡点.我想要的是,无论你在应用程序加载时对设备的任何倾斜,这都是神经平衡点.从当前角度来看,您握住设备即中性点.中立平衡点意味着球几乎仍然存在的点.希望这清楚我想要什么.该应用程序也只是landscapeRight.

注意下面的代码100%正常工作,就像它需要它为我的应用程序工作.我需要保持手机平放滚动球...

CGRect screenRect;
CGFloat screenHeight;
CGFloat screenWidth;
double currentMaxAccelX;
double currentMaxAccelY;
@property (strong, nonatomic) CMMotionManager *motionManager;

-(id)initWithSize:(CGSize)size {

     //init several sizes used in all scene
        screenRect = [[UIScreen mainScreen] bounds];
        screenHeight = screenRect.size.height;
        screenWidth = screenRect.size.width;

    if (self = [super initWithSize:size]) {

        self.motionManager = [[CMMotionManager alloc] init];
        self.motionManager.accelerometerUpdateInterval = .2;

       [self.motionManager startAccelerometerUpdatesToQueue:[NSOperationQueue currentQueue]
                                                 withHandler:^(CMAccelerometerData  *accelerometerData, NSError *error) {
                                                    [self outputAccelertionData:accelerometerData.acceleration];
                                                     if(error)
                                                     {
                                                         NSLog(@"%@", error);
                                                     }
                                                 }];
    }

    return self;

}

-(void)outputAccelertionData:(CMAcceleration)acceleration{

    currentMaxAccelX = 0;
    currentMaxAccelY = 0;

    if(fabs(acceleration.x) …
Run Code Online (Sandbox Code Playgroud)

uiaccelerometer ios core-motion ios7 sprite-kit

10
推荐指数
2
解决办法
1266
查看次数

iOS检测用户的移动

我想创建一个简单的应用程序,当我在Y轴上从起点到终点移动手机时,在屏幕上绘制一条简单的线,例如从点a(0,0)到点b(0,10)请帮忙

演示:

在此输入图像描述

objective-c uiaccelerometer ios core-motion

9
推荐指数
1
解决办法
7828
查看次数

加速度计低通滤波

还在BigNerdRanch iOS开发书上.

在Accelerometer章节中,他们首先实现加速度计跟踪,但它相当跳跃.然后,他们建议通过更改原始代码对其应用低通滤波器:

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
    HypnosisView *hv = (HypnosisView *)[self view];

    [hv setXShift:10.0 * [acceleration x]];
    [hv setYShift:10.0 * [acceleration y]];

    [hv setNeedsDisplay];
}
Run Code Online (Sandbox Code Playgroud)

对此:

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
    HypnosisView *hv = (HypnosisView *)[self view];

    float xShift = [hv xShift] * 0.8 + [accel x] * 2.0;
    float yShift = [hv yShift] * 0.8 + [accel y] * 2.0;

    [hv setXShift:xShift];
    [hv setYShift:yShift];

    [hv setNeedsDisplay];
}
Run Code Online (Sandbox Code Playgroud)

相当简单的问题:他们从哪里获得这些价值?我一直在查看文档,我发现了一些关于低通滤波器的东西,它建议使用以下代码:

   #define kFilteringFactor 0.1

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration …
Run Code Online (Sandbox Code Playgroud)

iphone accelerometer uiaccelerometer ios4 ios

8
推荐指数
1
解决办法
1万
查看次数

是否有iOS库可帮助我检测更高级别的加速度计手势?

例如,假设我想检测用户是否做了圆圈手势,这样我就可以在游戏中触发某些内容.是否有一个图书馆可以让我只听一些"circleDectected"事件?

如果没有,如果我开发它,有人会发现这样的东西有价值吗?谢谢!

iphone mobile accelerometer uiaccelerometer

7
推荐指数
1
解决办法
390
查看次数

使用Android的线性加速与应用低通滤波器

我试图确定利用Android的线性加速数据的好处,而不是简单地应用Androids API参考中提供的低通滤波器,并在此其他stackoverflow问题中讨论.

我问我正试图获得一个记录线性加速的免费应用程序(以及我的其他要求(采样率,将数据写入文件等等)).我找不到一个,所以我考虑使用一个使用标准加速度计记录的应用程序然后我只是将低通滤波器应用于数据.或者,我可以编写自己的应用程序来完成我需要的工作 - 但我在Android开发方面没有太多经验,这需要一些时间.

android filtering accelerometer uiaccelerometer

6
推荐指数
1
解决办法
4619
查看次数

使用PyObjC访问iPhone加速度计

我想通过PyObjC访问我的iPhone的Accelerometer.这是我的代码:

@objc.signature("v@:@@")
def accelerometer_didAccelerate_(self, accelerometer, acceleration):
    msgBox = UIAlertView.alloc().initWithTitle_message_delegate_cancelButtonTitle_otherButtonTitles_("Acceleration", str(acceleration.x), self, "OK", None)
    msgBox.show()
    msgBox.release()

@objc.signature("v@:@")
def applicationDidFinishLaunching_(self, unused):
    self.accelerometer = UIAccelerometer.sharedAccelerometer()
    self.accelerometer.setUpdateInterval_(1)
    self.accelerometer.setDelegate_(self)
    #...
Run Code Online (Sandbox Code Playgroud)

问题是str(accelleration.x)返回"<native-selector x of <UIAcceleration: 0x.....>>".我能做什么?

iphone pyobjc accelerometer uiaccelerometer

5
推荐指数
1
解决办法
857
查看次数

iOS 5转换UIAccelerometer

我正在使用xcode 4.2(并将很快升级)和这些代码行

[[UIAccelerometer sharedAccelerometer] setUpdateInterval:(1.0 / kAccelerometerFrequency)];
[[UIAccelerometer sharedAccelerometer] setDelegate:self];
Run Code Online (Sandbox Code Playgroud)

代码工作,但我有一个黄色警告说代码是deprecated,我看了新的参考,CoreMotion现在做加速度计.我想知道什么是写上面的东西的新方法..?

uiaccelerometer core-motion ios-simulator ios5

4
推荐指数
1
解决办法
2420
查看次数

CMMotionManager与UIAccelerometer效率

我一直在研究AR框架一段时间,我正在尝试从UIAccelerometer(已弃用)更新到CMMotionManager,但是遇到了一些效率问题?

基本上看起来CMMotionManager比UIAccelerometer更大更慢.有没有人以前遇到过CMMotionManager的性能问题?


正如你在这里看到的,我有这个:

accelerometer = [UIAccelerometer sharedAccelerometer];
accelerometer.updateInterval = 0.01;
[accelerometer setDelegate:self];
Run Code Online (Sandbox Code Playgroud)

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
    rollingZ  = (acceleration.z * kFilteringFactor) + (rollingZ  * (1.0 - kFilteringFactor));
    rollingX = (acceleration.y * kFilteringFactor) + (rollingX * (1.0 - kFilteringFactor));

    if (rollingZ > 0.0)      currentInclination = inc_avg(atan(rollingX / rollingZ) + M_PI / 2.0);
    else if (rollingZ < 0.0) currentInclination = inc_avg(atan(rollingX / rollingZ) - M_PI / 2.0);
    else if (rollingX < 0)   currentInclination = …
Run Code Online (Sandbox Code Playgroud)

math performance uiaccelerometer ios cmmotionmanager

4
推荐指数
1
解决办法
5568
查看次数

检测设备颠倒

检测设备颠倒的正确值是什么?

我有以下内容,它开始检测用户何时在其背面标题设备.

我使用以下值

float xx = -[acceleration x];
    float yy = [acceleration y];
    float angle = atan2(yy, xx);

    if(angle >= 0.75 && angle <= 2.25)
    {
        NSLog(@"Upside down");
    }
Run Code Online (Sandbox Code Playgroud)

iphone uiaccelerometer

2
推荐指数
1
解决办法
1768
查看次数

UIBackgroundModes和UIAccelerometer

我正在开发一个可以在后台运行的导航应用程序.由于设置UIAccelerometer为,这工作正常location.但我也想使用加速度计,以获得有关用户正在做什么的一些额外信息.但是,在后台,UIAccelerometer它不会调用其委托.

有什么办法可以在后台获得当前的加速度吗?

iphone uiaccelerometer ios

2
推荐指数
1
解决办法
866
查看次数

iPad有加速度计还是陀螺仪?

我有一个使用这些的iPhone应用程序(通过UIAccelerometer) - 它可以在iPad上运行吗?

iphone uiaccelerometer ipad ios

1
推荐指数
1
解决办法
2323
查看次数

找出iPhone中的力量

我必须开发一个应用程序.要求如下.

我必须在自行车上放一个像速度计这样的指示器.

iPhone放在汽车的角落里.

iPhone放置在汽车中,不能放在任何地方,甚至无法移动.(用户放置iPhone的车有特殊的地方)

现在,汽车正在顺利进行.

指标表示零 - 这是平滑的方式.

假设汽车经过了一个碰撞.

这些动作应该由iPhone跟踪.如果撞击很大,

  • iPhone应该显示 - 巨大的凹凸 - 最大指标

如果碰撞很低

  • iPhone应显示 - 正常凹凸 - 中间指标

其他

  • iPhone应该显示 - 平滑的道路 - 零指示器

我知道如何添加抖动处理程序,如下面的链接所示


iPhone中的加速度计范围

但这里iPhone不会动摇吗?它在固定的地方.

应该是什么解决方案?

谢谢你提前帮助我.

iphone objective-c uiaccelerometer

0
推荐指数
1
解决办法
446
查看次数