仅在按住按钮时移动动画角色

Posted

技术标签:

【中文标题】仅在按住按钮时移动动画角色【英文标题】:Move an animated character only while a button is held down 【发布时间】:2014-03-11 18:36:04 【问题描述】:

我试图让屏幕上的角色用四个箭头移动:上、右、左和下,就像一个 Game Boy。

我这样做了:

    - (IBAction) moveDown
    
        Image.center = CGRectPointMake ( Image.center.x , Image.center.y + 1);
    

但是角色每次触摸只移动一次,这不是我想要的。

所以我试着做一个计时器:

    -(IBAction) timerSet 
        // Timer = [ecc..] selecting (moveDown) every 0.1 seconds repeat:YES.

这一次角色开始移动,但没有停下来。

如何让角色仅在按下按钮时移动?

【问题讨论】:

你应该看看Sprite Kit。 你希望用户按住向上键然后向上移动吗? 您的计时器是一个好的开始。您只需要在用户将手指从按钮上移开时停止它。 @Caleb 谢谢我去看看。 @InderKumarRathore 是的,非常接近,但我的本意是:想象一下旧的口袋妖怪游戏。你用箭头移动角色。如果您按下向上箭头,角色将向上移动,直到您释放该按钮。这就是我想要做的,但我不知道如何编码。 【参考方案1】:

将动作附加到按钮的 touch down inside 事件。在该代码中,启动动画。

然后附加第二个动作以进行内部修饰和外部修饰,并在该方法中停止动画。

【讨论】:

我做了 // timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(moveBack) userInfo:nil repeats:YES] FOR START and [timer invalidate];计时器=无; FOR END 无论如何它仍在继续并且不会停止。 :)

以上是关于仅在按住按钮时移动动画角色的主要内容,如果未能解决你的问题,请参考以下文章

Action Script 3. 如何播放一次动画?

Pygame - 运动加速

已解决:在瓷砖地图中移动角色时锚控制按钮?

与按键相关的角色移动,随着角色速度的提高而提高动画速度

unity 手指旋转角色的功能

检测触摸并按住屏幕iPhone(Xcode)[重复]