草庐IT

touchesMoved

全部标签

ios - 如何在 iOS 9 中使用 3D Touch?当压力变化时它会触发事件吗?

我想知道我是否可以检测到iPhone6s上用户输入的连续变化压力。通过简单的触摸很明显,从UIResponder你可以Hook到touchesBegan和TouchesMoved每次当用户触摸屏幕和移动他/她的手指时你都会有坐标,你可以在每个更新。但是,我不确定新的:force属性是如何工作的。如果您读取touchesBegan中的“force”,您是否会得到一些在触摸开始时检测到的最小压力值?有没有办法在力值变化时获取更新,就像touchesMoved一样?也许有像“forceChanged”这样的方法? 最佳答案 来自iOS9.

ios - touchesMoved 在 iPhone 6s 及以后的设备上被调用

我有一个自定义UIButton并且我在自定义按钮类中实现了触摸委托(delegate)。在iPhone6Plus之前一切正常。它上面的所有设备,如iPhone6s和7都在制造问题。当我单击一个按钮时,touchesBegan会按预期调用,但touchesMoved也会被调用,这会在我的代码中产生问题。-(void)touchesBegan:(NSSet*)toucheswithEvent:(UIEvent*)event{_firstTouch=[[touchesanyObject]locationInView:self];_isTapped=YES;[self.nextResponde

swift - TouchesMoved swift 滞后

我正在使用SpriteKit中的Swift在Xcode6Beta6中编写代码。在代码中,当用户移动手指时,我需要一张图片来跟随手指。touchesMoved有效但有小故障。如果我慢慢移动手指,一切都很好。如果我从右向左快速移动手指,那么一切都很好。如果我从左到右快速移动手指,那么图片只会跟随手指几分之一秒。如果我在当前位置点击并按住图片大约半秒钟,那么当我从右到左或从左到右快速移动它时,一切都很好。总之,除非我点击并按住图片大约半秒钟,否则我无法从左到右快速移动图片。有人知道为什么会这样吗?谢谢你的时间。下面是代码。我正在移动SKSPriteNodefollow2overridefun

ios - SpriteKit : what causes touchesMoved to stop getting called?

GameScene.swift中的touchesMoved在几次调用后不会被调用,通常是三四次,即使我们一直在屏幕上滑动手指(即,从不将手指从屏幕上移开)。我们创建了一个简单的项目,只有打印touchesMoved的代码,没有问题。换句话说,touchesMoved按预期工作,在我们滑动手指时继续被调用。显然,项目中有一些代码/配置导致touchesMoved在几次调用后停止被调用(并且没有调用touchesEnd)。什么事情会导致这种情况?touchesMoved未被调用的代码:overridefunctouchesMoved(touches:NSSet,withEventevent

Swift SpriteKit 3D Touch 和触摸移动

我最近将我的游戏版本发送到TestFlight进行内部测试。我的friend注意到他的iPhone6SPlus上的拍摄控件无法正常工作。控件如下1)屏幕左半边=跳跃2)屏幕右半边=射击3)滑动并按住屏幕的右半边=开始慢动作现在,在我的touchesbegin方法中,我的拍摄有轻微的延迟,因此如果调用touchesmoved,它会取消拍摄并开始慢动作。这似乎是支持3DTouch的手机出现问题的原因。进一步深入研究,我发现了这篇文章iOS9SpritekitDoubleTapNotWorkingoniPhone6S它基本上指出在支持3DTouch的设备上,touchesmoved方法会自动

ios - SpriteKit - touchesMoved 调用不够频繁 - 快速移动

我正在用Swift编写一个基于SpriteKit的游戏。SKScene包含一个SKSpriteNode,它包含SKShapeNodes。其中一种形状是“玩家”。用户应该能够拖放播放器。我实现了不同的方法来让这个工作用户touchesBegan、touchesMoved、touchesCanceled和touchesEnded。基本上一切正常,只要用户以正常速度拖动“播放器”。但是,如果用户拖动“播放器”非常快,则touchesMoved方法调用的次数不够多。我认为这可能是因为我使用了SKShapeNodes但基于输出(下方)似乎并非如此。代码:overridefunctouchesBe

ios - SpriteKit touchesMoved 在 SKSpritenode 的子类中使用时不稳定

我将SKSpritenode(在Swift中)子类化以创建彩色block,然后可以在场景中拖动这些block。子类是SoundNode。importSpriteKitclassSoundNode:SKSpriteNode{init(){super.init(texture:nil,color:UIColor.blue,size:CGSize(width:100,height:100))self.isUserInteractionEnabled=true}requiredinit?(coderaDecoder:NSCoder){fatalError("init(coder:)hasnot

swift - 我应该如何使用 touchesMoved 函数正确更新曲线?

我想做一条曲线,当用户移动手指时,曲线会改变弧度,但我做的代码似乎有问题,当我移动手指时有很多曲线:(下面是我的代码,并遵循了糟糕构建的屏幕截图。其实我也想知道如何用UIPanGestureRecognizer实现这个功能。importSpriteKitimportAVFoundationimportUIKitclassHome:SKScene{varhappiness:CGFloat{returncurrentPoint.y}varcurrentPoint=CGPoint(x:0,y:1024)overridefuncdidMoveToView(view:SKView){backgr

ios - 响应链 - touchesMoved 与 touchesBegan 的不同行为?

假设您创建了两个ViewController,A和B。A有一个segue到B(我认为具体哪个segue在这里并不重要,因为结果似乎是相同的。我将使用push作为示例。).A有以下实现:classA:UIViewController{overridefunctouchesBegan(_touches:Set,withevent:UIEvent?){print("Areceivedabegintouch")}overridefunctouchesMoved(_touches:Set,withevent:UIEvent?){print("Areceivedamovetouch")}}在B中,

Swift Sprite Kit 开启触控功能

我在搞一个xcode项目,我试图让一个红球SKShapeNode在我触摸它时四处移动。我自己在触摸开始类中的源代码没有做到这一点。我的代码有什么缺陷,我需要做什么才能修复它。importSpriteKitclassGameScene:SKScene{//RectangleSkeletionsvarleftWallRect=CGRect(x:0,y:0,width:40,height:1000)varball=SKShapeNode(circleOfRadius:25);overridefuncdidMoveToView(view:SKView){//DeclaretheSpritesi