OGeek|极客世界-中国程序员成长平台

标题: ios试图左右拖动图像 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:38
标题: ios试图左右拖动图像

我有一个游戏,在屏幕底部绘制了一排卡片。我希望这样,如果用户触摸屏幕并将手向右移动,卡片将向右移动,直到他抬起手为止。然后如果他将手在触摸屏上向左移动,卡片将向左移动,直到他抬起手为止。

我的第一个想法是使用滑动事件。但是在手指松开之前滑动不会给出消息,我希望卡片在手移动并触摸屏幕时移动。

我的想法是获取触摸位置的 x 坐标,如果它大于前一个 x,则将卡片向左移动,否则向右移动。

我开始使用这段代码,但有点坚持下一步该做什么,或者我做错了

- (void) touchesMovedNSSet *)touches withEventUIEvent *)event {
    NSUInteger touchCount = [touches count];
    NSUInteger tapCount = [[touches anyObject] tapCount];
}



Best Answer-推荐答案


您将需要一些其他的触摸委托(delegate)方法

实现 -(void)touchesBeganNSSet *)touches withEventUIEvent *)event 并在该方法中获取触摸的初始 x 和 y 坐标。将它们保存到类范围的实例变量中。

然后在触摸移动时,将新触摸的x坐标与触摸开始时的原始坐标进行比较,如果x<则向左移动,否则如果x>则向右移动。

请注意,touchesMoved:withEvent 仅在触摸移动时调用,因此如果用户触摸并向右移动,然后手指保持静止,则不会报告触摸。

您需要实现 -touchesEnded:withEvent:-touchesCancelled:withEvent: 以在触摸结束时拾取。

关于ios试图左右拖动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18789425/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4