菜鸟教程小白 发表于 2022-12-12 22:18:13

ios - ios中如何实现基于加速度计的摆锤动画


                                            <p><p>大家好,我正在实现基于加速度计的钟摆动画。
但它给出了奇怪的行为。下面是我的代码。
请帮我找出我错的地方。</p>

<pre><code>#import &#34;DemoViewController.h&#34;

@interface DemoViewController ()

@end

@implementation DemoViewController

- (void)viewDidLoad
{
    ;
    // Do any additional setup after loading the view, typically from a nib.
    UIAccelerometer* theAccel=;
    theAccel.updateInterval=1/50.0f;
    theAccel.delegate=self;
}

- (void)didReceiveMemoryWarning
{
    ;
    // Dispose of any resources that can be recreated.
}
-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration{
    CGFloat x= acceleration.x;
    self.imPendulum.transform=CGAffineTransformRotate(self.imPendulum.transform,-x);
}
@end
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>嗯,首先,您需要为钟摆的支点创建一个 anchor ,使其摆动而不是旋转。</p>

<p>先试试。然后,我想您需要创建一个系数(或更细微的公式)来将Acceleration.x 转换为CGFloat x。 </p>

<p>也许最重要的是,您不是在这里制作动画,而是在执行变换,这是非常不同的。它只是将一个项目移动到一个新位置,它不会将它从 A 点轻轻移动到 B 点。为此,您需要将变换放在动画 block 中。 </p>

<p>如果你尝试了以上 3 件事,你应该在路上很热,然后就是细节。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - ios中如何实现基于加速度计的摆锤动画,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23767066/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23767066/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - ios中如何实现基于加速度计的摆锤动画