我有一个CAEmitterLayer
动画沿bezier路径(封闭的形式,如'8',四个控制点之一)与CAKeyframeAnimation
。现在我想通过沿着(但不一定是)路径上的触摸手指滑动来控制动画。这怎么可能,这甚至有可能?如何用触摸手势控制CAKeyframeAnimation?
6
A
回答
1
做一个CGpoint click;
变量来记住您最初的“拖”点,然后创建一个本地NSEvent
处理器...
[NSEvent addLocalMonitorForEventsMatchingMask: NSMouseMovedMask
| NSLeftMouseDownMask
handler:^(NSEvent *e) {
if (e.type == NSLeftMouseDown) click = e.locationInWindow;
else "yourDelta" = click - e.locationInWindow; // pseudoCode
return e;
}];
“yourDelta”是从当前位置即初始位置的偏移...您还可以通过监视NSEventScrollWheelMask
...并查看e.deltaX
和e.deltaY
值来实现滚动事件的类似结果。
编辑:我不熟悉iOS上的事件处理..但同样的技术可以应用于普通事件处理程序...即。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent*)e {
click = [e locationInView:_yourView];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent*)e {
"yourDelta" = click - [e locationInView:_yourView]; // pseudoCode
}
至于“求是”动画..一种可能的方式是简单地[layer addAnimation:theNewAnimation]
,使用“但而不是基础的fromValue
S” 0,或者你的模型layer
...使用。你以前toValue
你的layer.presentationLayer
值呢?没有看到您的CAKeyframeAnimation
的完整内容很难说。
+0
这被标记为'cocoa-touch'我假设OP正在寻找一种方法在iOS设备上执行此操作。 有没有办法根据增量值“寻找”CAKeyframeAnimation? – Marc
相关问题
- 1. 持续的手势/控制触摸
- 2. 在CALayer上触摸手势
- 3. 传递触摸手势
- 4. 触摸手势的定义
- 5. 手机触摸屏的滑动手势
- 6. 在wxPython中使用触摸板手势?
- 7. 用触摸手势旋转UIImageView - iphone dev
- 8. 用触摸手势滑动视图
- 9. 使用位置查找手势触摸的坐标触摸
- 10. 触摸手势支持WPF应用程序中的WinForms控件
- 11. 面具触摸手势 - 安卓
- 12. Android中的全局触摸手势?
- 13. 重装的tableview和触摸手势
- 14. 增加触摸手势区域为UILabel
- 15. 检测简单的触摸手势
- 16. WP7触摸屏手势处理
- 17. WP7:有关触摸手势的问题
- 18. 移动,缩放和触摸手势
- 19. iOS - 将触摸手势添加到UITextField
- 20. 如何在SciSurface修饰符上禁用触摸手势
- 21. 用手势控制视频
- 22. 多点触控:当手指触摸屏幕用一根手指触摸已经
- 23. 手势识别器完成后将触摸传递给父视图控制器
- 24. Silverlight 4:支持手势和触摸事件的任何触摸库?
- 25. 如何识别从UITouch触摸手势里面
- 26. 如何避免UIView触摸手势重叠
- 27. 如何手势识别和触摸优先在一个UIView
- 28. 服务如何监听触摸手势/事件?
- 29. 如何在Google VR iOS Pod上添加触摸手势?
- 30. 如何处理UIButton上的触摸事件和手势事件?
你的意思是从用户拖动手指的地方发射粒子?另外,你有什么尝试? –
我对objective-c非常陌生,不知道如何通过手指触摸移动沿着路径引导动画(让它成为CAEmitterLayer或UIImageView或图层)。我会很高兴与每一个小暗示... 我试图使用掩模图像,我躺在路径告诉我的手指是或路径上,但除此之外粒子也发出的路径。 – headkit
为什么不通过设置位置属性来将发射层的位置更改为用户手指的位置?获得用户不难的位置。 –