我正在尝试使用SpriteKit模拟一个眼睛。
当用户手指在屏幕上移动时,眼睛的瞳孔会跟随手指移动,但必须保持在眼睛的范围内。
我曾尝试使用SKConstraint来解决这个问题,但未成功。 编辑 我的想法是对瞳孔应用SKConstraints以限制其边界为眼睛。任何触摸(例如touchesMoved()等)都将以SKAction.moveTo()的形式应用于瞳孔,SpriteKit负责维护瞳孔在眼睛范围内。
当用户手指在屏幕上移动时,眼睛的瞳孔会跟随手指移动,但必须保持在眼睛的范围内。
我曾尝试使用SKConstraint来解决这个问题,但未成功。 编辑 我的想法是对瞳孔应用SKConstraints以限制其边界为眼睛。任何触摸(例如touchesMoved()等)都将以SKAction.moveTo()的形式应用于瞳孔,SpriteKit负责维护瞳孔在眼睛范围内。
let touchPoint = CGPoint()
SKAction.moveTo( touchPoint, duration: 2)
视频的代码可供使用:https://gist.github.com/anonymous/f2356e07d1ac0e67c25b1940662d72cb
一张图片胜过千言万语......
想象瞳孔是小的、白色的、填充的圆圈。蓝色框模拟用户在屏幕上移动手指。
理想情况下,瞳孔会跟随蓝色框在屏幕上移动,并沿着黄色圆圈定义的路径移动。
iOS 10 | Swift 3 | Xcode 8