我有一个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. 带触摸手势的XCTest
- 7. 手机触摸屏的滑动手势
- 8. 翻译触控手势鼠标手势
- 9. OSX - 禁用全系统触摸手势
- 10. 用触摸手势旋转UIImageView - iphone dev
- 11. 在wxPython中使用触摸板手势?
- 12. 用触摸手势滑动视图
- 13. 同时使用触摸和触摸手势识别器
- 14. 使用位置查找手势触摸的坐标触摸
- 15. 触摸手势支持WPF应用程序中的WinForms控件
- 16. Flexslider的手动触摸控制
- 17. Android中的全局触摸手势?
- 18. as3触摸 - 分析长按手势
- 19. 多点触摸滑动手势
- 20. 面具触摸手势 - 安卓
- 21. Android多点触摸手势识别
- 22. 整个屏幕的触摸手势
- 23. 增加触摸手势区域为UILabel
- 24. WP7:有关触摸手势的问题
- 25. 检测简单的触摸手势
- 26. 在MKPolyline上检测触摸手势
- 27. WP7触摸屏手势处理
- 28. 移动,缩放和触摸手势
- 29. 重装的tableview和触摸手势
- 30. iOS - 将触摸手势添加到UITextField
你的意思是从用户拖动手指的地方发射粒子?另外,你有什么尝试? –
我对objective-c非常陌生,不知道如何通过手指触摸移动沿着路径引导动画(让它成为CAEmitterLayer或UIImageView或图层)。我会很高兴与每一个小暗示... 我试图使用掩模图像,我躺在路径告诉我的手指是或路径上,但除此之外粒子也发出的路径。 – headkit
为什么不通过设置位置属性来将发射层的位置更改为用户手指的位置?获得用户不难的位置。 –