天道酬勤,学无止境

如何在 Kivy 中记录多点触控手势?(How to record multitouch gestures in Kivy?)

问题

我使用基于提供的 Kivy 示例的手势代码来记录和识别单点触摸手势。 但是,我不确定如何扩展此代码以识别多点触控手势。 例如,让我们说,捏。

我的问题变得特别复杂,因为我使用的笔记本电脑具有零多点触控功能。 如何结合两个单一的手势? 有没有可用的例子?

回答1

从 1.9.0 开始,Kivy 集成了多点触控手势识别器:查看 kivy.multistroke。 我个人还没有时间来测试它。

如果您想根据手势进行映射或操作,您可能会对 Scatter 感兴趣。 捏合可以通过 2 到 N 次触摸完成,集成了旋转和平移。 您可以将变换限制为仅缩放而不是旋转/平移。 而且,当所有触摸都被释放时,您可以将比例设置为最接近的所需值。 您还可以设置最小刻度和最大刻度的限制。

使用很少的参数和代码,您可以捏合缩放、取消/取消捏合以取消缩放等。也许这就是您想要的 :)(例如捏合以放大图像,或将图像置于全屏模式)。

您也可以仅使用 Scatter 的比例参数或 Scale 的矩阵来做您自己的事情 :)

标签

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 如何使用鳍状肢启用多点触控缩放进行 webview 滑动手势检测(How to webview swipe gesture detect with multitouch zooming enabled withing a flipper)
    问题 那么有没有办法让 webview 控件在能够进行多点触控缩放并具有内置缩放控件的同时检测滑动? 回答1 是的!有一种方法可以通过实现 WebView 和创建自定义 Webview 来实现。这样,自定义 WebView 内置了滑动检测,同时具有多点触控和内置缩放控件。 //Declaring the custom Webview and put into a viewflipper MyWebView[] webview =new MyWebView[2]; flipper = (ViewFlipper) findViewById(R.id.ViewFlipper); webview[i] = new MyWebView(this); webview[i].setWebViewClient(new HelloWebViewClient()); webview[i].getSettings().setJavaScriptEnabled(false); webview[i].setInitialScale(60); webview[i].getSettings().setBuiltInZoomControls(true); flipper.addView(webview[0]); flipper.addView(webview[1]); 这是自定义的 webview public
  • Multitouch for Mac(多点触控手势增强神器)
    Multitouch Mac版是Mac平台上的一款可以增强你的多点触控手势的神器。Multitouch Mac版可以让你将一个自定义的动作绑定到一个特定的魔力轨迹板或魔术鼠标手势。您的电脑就像额外加了一个多侧键鼠标一般,而且只要您需要侧键是无限的。 Multitouch mac版安装教程 在本站下载完成.pkg安装包后,双击打开,按照提示即可完成安装。 多点触控手势增强工具特色介绍 Multitouch,轻松地将手势添加到macOS 多点触控可让您将自定义动作绑定到特定的魔术触控板或魔术鼠标手势。 例如,三指点击可以执行粘贴。 通过执行键盘快捷键,控制浏览器的选项卡,执行鼠标中键单击等等来改进您的工作流程。Multitouch(以前称为TouchOven)轻松向macOS添加更多多点触控手势,并自定义手势的功能。Multitouch苹果触控软件是利用Magic Trackpad和Magic Mouse强大功能的优雅方式。 multitouch mac 版下载亮点介绍 随着越来越多的手势和行动列表免费更新。 没有用户数据从应用程序收集。 不需要辅助功能即可运行。 轻量级,像是macOS的一部分。 更新日志 版本v1.24.5 修正了某些配置中包含不同轻击手势和双击配置的额外轻击手势执行的错误。 修复了两指一手势执行后可能执行的三指轻击错误。 来源:https://blog.csdn
  • vue 多点触控手势_Mac多重触控手势增强软件----Multitouch(支持10.15系统)
    Multitouch Mac版是Mac上一款可操控性非常的强大,您的电脑就像额外加了一个多侧键鼠标一般。Multitouch(以前称为TouchOven)轻松向macOS添加更多多点触控手势,并自定义手势的功能。Multitouch是利用Magic Trackpad和Magic Mouse强大功能的集合。 官方介绍 Multitouch(以前称为TouchOven)将自定义动作与特定魔术触控板或魔术鼠标手势联系起来。 例如,三指点击可以执行粘贴。 通过执行键盘快捷键,控制浏览器选项卡,执行鼠标中键等操作来改善您的工作流程。 Multitouch可以让您将自定义动作绑定到特定的魔术触控板或魔术鼠标手势。例如,三指点击可以执行粘贴。通过执行键盘快捷键,控制浏览器的选项卡,执行鼠标中键单击等等来改进您的工作流程。 软件特色 可免费更新手势和行动列表。 隐私:应用程序不会收集用户数据。 不需要辅助功能即可运行。 轻量级&不显眼,让它觉得它是macOS的一部分。 没有收集用户数据的应用程序。 不需要可访问权限就能运行。 功能介绍 轻松地将手势添加到macOS 多点触控可让您将自定义动作绑定到特定的魔术触控板或魔术鼠标手势中。 例如,三指点击可以执行粘贴。 通过执行键盘快捷键,控制浏览器的选项卡,执行鼠标中键单击等等来改进您的工作流程。Multitouch(以前称为TouchOven
  • 扩展Magic Mouse的功能:我需要kext吗?(Extending Functionality of Magic Mouse: Do I Need a kext?)
    问题 我最近购买了魔术鼠标。 这是梦幻般的,充满潜力。 不幸的是,它受到软件支持的严重阻碍。 我想解决这个问题。 我已经做了大量研究,到目前为止,这些是我对事件链的发现: 魔术鼠标将完整的多点触控事件发送到系统。 多点触控事件在MultitouchSupport.framework(Carbon)中进行处理事件在框架中进行解释,并作为正常事件发送到系统当您用一根手指滚动时,它将发送实际的滚轮事件。 当您用两根手指滑动时,会发送滑动事件。 没有NSTouch事件发送到系统。 您不能使用NSTouch API与鼠标进行交互。 发现以上所有内容之后,我对MultitouchSupport.framework文件进行了分解,并通过使用一些谷歌搜索方法,弄清楚了如何在链中插入我自己的回调,以便接收原始的触摸事件数据。 如果枚举设备列表,则可以为每个设备(触控板和鼠标)附加附件。 这一发现将使我们能够创建一个在鼠标上使用多点触控的框架,但只能在单个应用程序中使用。 在这里查看我的文章:Raw Multitouch Tracking。 我想为整个系统中的鼠标添加新功能,而不仅仅是一个应用程序。 为此,我想出了如何使用“事件抽头”来查看最低级别的事件抽头是否可以让我获取原始数据,对其进行解释并在自己的位置发送自己的事件。 不幸的是,这种情况并非如此。 即使在HID级别
  • 以编程方式查找多点触控 Android 设备支持的手指数量(Programmatically find how many fingers in multitouch Android device supports)
    问题 在 Android 上,可以通过 http://developer.android.com/reference/android/content/pm/PackageManager.html#FEATURE_TOUCHSCREEN_MULTITOUCH 以编程方式检查设备是否支持多点触控。 是否还可以准确检查设备在多点触控中可以识别的手指数量? 例如,据我所知,从 2.x 开始支持 2 指多点触控,但从 4.0 开始支持 3 指多点触控。 但是我们的客户报告说有一些 4.x 的新设备仍然不支持 3 指,这使得对 Android 操作系统版本的简单检查没有用。 一个可能的解决方案是在某个字典中为每个设备存储它支持的最大手指数,但是如果有 1k+ 设备并且不断出现新设备,这是不可行的。 有什么解决办法吗? 编辑:事实上,我刚刚发现客户报告的问题是 HTC One 系列的设备问题。 请参阅 http://www.mobiflip.de/htc-one-serie-multitouch-beschraenkung-aufheben-tipp/ 用户必须在设置中打开设备特定的手势识别才能让 5 个以上的手指工作。 因此,该设备甚至可能会显示 5 个以上的手指支持。 我想我们只会检查设备的型号并显示特殊的弹出窗口,告诉用户关闭特定于 HTC 的设置。 回答1 据我所知
  • 如何在Adobe AIR for iOS中同时听轻击和手势?(How to listen for both tap and gestures at the same time in Adobe AIR for iOS?)
    问题 我想提出的是iOS游戏,我需要两个简单的攻丝和手势(滑动等)同时检测。 在AIR中,我只能看到Multitouch输入模式的一种设置:TOUCH_POINT(适用于基本轻敲)和GESTURE。 但是我同时需要两者,因此无法更改模式。 如何同时收听两者? 谢谢,可以。 回答1 您可以使用标准鼠标事件进行点击。 这将保持手势多点触摸输入模式。 否则,可能会关注GitHub上用于鼠标,触摸和多点触摸AS3开发的Gestouch框架:NUI手势检测框架。 还要注意触摸/手势事件模型对性能的影响: 触摸和手势输入都可以是多点触摸输入,具体取决于用户的设备。 ActionScript提供了用于处理触摸事件,手势事件以及针对多点触摸输入的单独跟踪的触摸事件的API。 注意:侦听触摸和手势事件可能会消耗大量处理资源(相当于每秒渲染几帧),具体取决于计算设备和操作系统。 当您实际上不需要触摸或手势提供的额外功能时,通常最好使用鼠标事件。 当您确实使用触摸或手势事件时,请考虑减少可能发生的图形更改的数量,尤其是在可以快速分派此类事件(例如在平移,旋转或缩放操作期间)的情况下。 例如,您可以在组件内停止动画,而用户使用缩放手势调整其大小。 回答2 import flash.events.EventDispatcher; import flash.events.TouchEvent; import
  • 如何在iOS模拟器上模仿两指滚动/拖动手势?(How to mimic two-finger scroll/drag gesture on ios simulator?)
    问题 我有一个滚动页面,我至少指定了两个手指。 它可以在我的设备上运行,但不知道如何在Simulator上模仿此手势。 我可以毫无问题地模仿单指滚动。 我试过了option / ctrl / shift等,但无法正常工作。 也许我的组合是错误的。 有人知道吗? 谢谢。 回答1 按住“ Alt / Option”键并拖动可模拟多点触控缩放。 按住“ Alt / Option + Shift”并拖动可模拟多点触摸滚动。 回答2 Apple的《 iOS模拟器用户指南》中有一张不错的表格,其中包含所有受支持的手势。 这是两指拖动的摘录: 将指针放在您希望两指拖动发生的位置。 按住Option键。 将代表手指触摸的圆圈移动到开始位置。 按住Shift键,将圆圈移动到所需的中心位置,然后松开Shift键,以移动收缩目标的中心。 按住Shift键和鼠标按钮,沿要拖动的方向移动圆圈,然后释放Shift键和鼠标按钮。 希望能帮助到你。 回答3 在iPad模拟器中滚动的最佳方法是通过“三指”拖动,这是OS X的全局设置,而不是iOS模拟器的特定功能。 为了使用三根手指滚动,您需要在TrackPad>指向下打开“三根手指拖动”,然后在OS X的“设置”应用中单击。 并将“任务控制”和“ AppExposé”设置为使用四根手指(在OS X的“设置”应用程序中的“轨迹板”>“更多手势”中)
  • Android多点触控支持(Android multi-touch support)
    问题 我想知道Android多点触控支持是否可靠? 我读过它有一些问题。 我也想知道,如何定义自定义多点触摸手势? 如:3根手指旋转或3根手指保持静止,而第四根手指在移动。 我遇到过一些资源(developer.android.com上的手势或MotionEvent),但没有明确说明。 问候, 兹德内克 回答1 我在API中进行了深入研究,找到了一种执行诸如捏合/反向捏合之类的手势的方法,因此,我相信您所描述的手势是可能的-它只是弄清楚如何编写它们。 下面,我粘贴了一个实现的反向捏合的示例。 我希望捏只在它是水平方向时才注册。 它不是很干净或可重用的代码,但它应该可以帮助您前进。 它适用于Android2.0.x。 我读过多点触控可能在较早的版本上有问题。 该示例是一个类,我从活动的onTouchEvent调用onTouchEvent ,将事件转发给该类。 public class HorizontalReversePinchDetector { public boolean onTouchEvent(MotionEvent e) { int pointerCount = e.getPointerCount(); if(pointerCount != 2) { Log.d(GESTURE, "not pinching - exactly 2 fingers are needed
  • Windows 7触摸屏-禁用多点触摸手势不起作用(Windows 7 touch screen - disabling multi-touch gesture not working)
    问题 我有一台装有Windows 7的触摸屏计算机,我想禁用多点触摸手势: 但是,即使我禁用它并应用更改,当我重新打开窗口时,该选项也会再次启用... 您知道我可以永久禁用它吗? (也许在注册表中...) 上:仍然有问题。 回答1 如何禁用“多点触摸手势和墨水” 以管理员身份运行\ Windows \ System32 \ regedt32 导航到HKEY_USERS 查找以S-1-5-21-xxxxxxxx开头的条目请注意,可能有一些以S-1-5-21开头的GUIDS。 您需要一个可以钻到S-1-5-21xx \ Software \ Microsoft \ Wisp的对象在Wisp键下,应该有诸如Pen,Touch之类的键,以指示您位于正确的位置在Wisp键下,添加其他键MultiTouch 进入MultiTouch键,并创建DWORD设置为0的MultiTouchEnabled 重启
  • Sprite Kit中的多点触控手势(Multi-touch gesture in Sprite Kit)
    问题 我正在使用使用XCode 6的Sprite-Kit在Swift中工作,我有许多不同的节点,但是目前,我只能设法检测到一根手指并同时移动一个节点。 我想知道如何设法检测多个手指以便同时移动多个节点。 我的实际代码是: var location = CGFloat() // finger position var actualNode = -1 // node touched by the finger, -1 means no node touched override func touchesBegan(touches: NSSet, withEvent event: UIEvent) // when a finger touch the screen { for touch: AnyObject in touches { location = touch.locationInNode(self) // we detect the finger position } for var index = 0; index < colorNode.count; index++ { if nodeAtPoint(location) == colorNode[index].node { actualNode = index // the number of the node
  • 以编程方式启用/禁用多点触控手指输入?(Programmatically enable / disable multitouch finger input?)
    问题 我有一台运行Windows 7且具有多点功能的平板电脑。 但是,当使用手写笔并且离显示屏太远时,我经常不小心用手指敲击它,这会导致不必要的鼠标单击。 解决方案是导航到“控制面板-笔和手指输入-手指输入”,然后取消选中“将手指用作输入设备”复选框(所有标题均已翻译,因此在英语窗口中可能会有所不同)。 现在,我想知道是否也可以通过编程方式执行此操作,因此我将能够为此编写一个小任务栏应用程序。 我尝试使用Process Monitor找出注册表项,但是,没有找到与复选框具有相同效果的注册表项。 有谁知道如何访问此属性(不使用UI-Automation)? 回答1 This can be done by manipulating the MICROSOFT_TABLETPENSERVICE_PROPERTY flag set. #include <tpcshrd.h> BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { const DWORD_PTR dwHwndTabletProperty = TABLET_DISABLE_PRESSANDHOLD | // disables press and hold (right-click) gesture TABLET_DISABLE_PENTAPFEEDBACK | //
  • 跟踪多点触控中的接触点(Track touch points in Multitouch)
    问题 我正在做一个绘图项目,我想支持多点触控,我已经在线阅读了文档,该文档建议跟踪接触点,我做到了,但是我没有得到想要的行为。 我没有直线。 下面是我的代码 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. red = 0.0/255.0; green = 0.0/255.0; blue = 0.0/255.0; brush = 10.0; opacity = 1.0; self.view.multipleTouchEnabled = YES; touchPaths = [NSMutableDictionary dictionary]; } - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { for (UITouch *touch in touches) { NSString *key = [NSString stringWithFormat:@"%d", (int) touch]; lastPoint = [touch locationInView:self.view]; [touchPaths setObject
  • 为什么右键单击会在圆心创建一个橙色点?(Why does right-clicking create an orange dot in the center of the circle?)
    问题 为什么 kivy 中的第一个小部件示例在画布上单击鼠标右键时会导致黄色中间的橙色圆圈和左键单击时出现纯黄色圆圈? from kivy.app import App from kivy.uix.widget import Widget from kivy.graphics import Color, Ellipse class MyPaintWidget(Widget): def on_touch_down(self, touch): with self.canvas: Color(1, 1, 0) d = 30. Ellipse(pos=(touch.x - d/2, touch.y - d/2), size=(d, d)) class MyPaintApp(App): def build(self): return MyPaintWidget() if __name__ == '__main__': MyPaintApp().run() 回答1 要禁用多点触控仿真,请在导入任何其他 kivy 模块之前将其添加到包含 main 函数的源文件中: from kivy.config import Config Config.set('input', 'mouse', 'mouse,multitouch_on_demand') 回答2 这是多点触控仿真,您可以在此处查看如何禁用它
  • 如何禁用多点触控?(How to disable multitouch?)
    问题 我的应用程序有几个触发不同事件的按钮。 用户应该不能按住几个按钮。 无论如何,按住几个按钮会使应用程序崩溃。 因此,我试图在我的应用程序中禁用多点触控。 我在所有xib文件中都未选中“多点触摸”,据我所知,属性“ multipleTouchEnabled”和“ exclusiveTouch”控制视图是否使用多点触摸。 因此,在我的applicationDidFinishLaunching中,我输入了以下内容: self.mainViewController.view.multipleTouchEnabled = NO; self.mainViewController.view.exclusiveTouch = YES; 在每个视图控制器中,我都将其放入viewDidLoad self.view.multipleTouchEnabled = NO; self.view.exclusiveTouch = YES; 但是,它仍然接受多次触摸。 在发生触地事件后,我可以执行类似禁用其他按钮的操作,但这将是一个丑陋的破解。 当然有办法正确禁用多点触摸吗? 回答1 如果一次只希望一个按钮响应触摸,则需要为该按钮而不是父视图设置ExclusiveTouch。 另外,当一个按钮获得“ Touch Down”事件时,您可以禁用其他按钮。 这是后者的示例,在我的测试中效果更好。
  • 如何用Java开发多点触控应用程序?(How to develop multi-touch applications in Java?)
    问题 预见到多点触摸界面变得越来越普遍的日子,Java中是否有可用于开发触摸应用程序的库? 我正在寻找类似于MouseListener / MouseMotionListener / MouseWheelListener的接口。 回答1 MT4j项目提供了用Java开发多点触控应用程序所需的一切。 所有众所周知的多点触摸手势均已内置,并且可以像侦听鼠标事件一样简单地进行访问(例如:component.addGestureListener(..))。 它还具有类似于JavaFX的硬件加速场景图。 您甚至可以通过将一只或多只鼠标连接到计算机来模拟多点触控输入。 在http://www.mt4j.org上进行检查 回答2 自从我上次研究多点触控Java解决方案以来,Sparsh仍然在我的书签中。 尽管不像典型的鼠标侦听器或单击侦听器那样简单明了,但它仍然提供了合理的界面。 您需要您的侦听类来实现sparshui.client.Client ,这需要processEvent方法定义。 public void processEvent(int groupID, Event event) { if(event instanceof TouchEvent) { TouchEvent e = (TouchEvent)event; if(e.getState() == TouchState
  • 如何以多点触控顺序有效处理UITouch(How to effectively process UITouches in a multitouch sequence)
    问题 我在写作时正在使用多点触摸,所以基本上我在做的是在手支撑下进行写作,因为通常情况下,这是用户的书写方式,我点击了此链接如何忽略多点触摸序列中的某些UITouch点 只需触摸一下,一切都可以正常工作,但是当我用手触摸屏幕进行书写时,即多个UItouches,它们是一个问题,下面是我的代码 在接触开始时,我经历了所有接触,并找到了y位置最高的接触,以下是我的代码 下面是我的代码 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch* topmostTouch = self.trackingTouch; for (UITouch *touch in touches) { ctr = 0; touchStartPoint1 = [touch locationInView:self]; if(!topmostTouch || [topmostTouch locationInView:self].y > touchStartPoint1.y) { topmostTouch = touch; pts[0] = touchStartPoint1; } } self.trackingTouch = topmostTouch; } 在感动的触摸中,我只会使用self.trackingTouch
  • 多点触控跟踪问题(Multitouch tracking issue)
    问题 我在写作时正在使用多点触摸,所以基本上我正在做的是在手支撑下进行写作,因为通常情况下,这是用户权限的方式,我点击了此链接如何忽略多点触摸序列中的某些UITouch点 所以,我正在做的是,我正在touchesBegan中跟踪一个touch对象,并且仅在touchesMoved中使用它。 在上图中,您可以看到用我的手在屏幕上写字时突然出现的粗线 这是代码 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { NSLog(@"Touches began"); UITouch* topmostTouch = self.trackingTouch; for (UITouch *touch in touches) { bufIdx = 0; isFirstTouchPoint = YES; ctr = 0; pts[0] = [touch locationInView:self]; if(!topmostTouch || [topmostTouch locationInView:self].y > pts[0].y) { topmostTouch = touch; //touchStartPoint1 = pts[0]; } else { pts[0] = pts[3]; } } if (self
  • 在android中禁用多点触控[重复](Disabling multitouch in android [duplicate])
    问题 这个问题在这里已经有了答案: 在 Activity 中禁用或阻止多点触控(9 个回答) 7年前关闭。 如何通过清单或以编程方式在 android 中禁用多点触控? 回答1 您可以使用android:splitMotionEvents或android:windowEnableSplitTouch 回答2 为了防止这种情况,您应该关闭位于按钮所在位置的 ViewGroup 中的 splitMotionEvents 或 windowEnableSplitTouch 属性。 android:splitMotionEvents="false"
  • 如何为多点触控编码(How to code for multitouch)
    问题 所以我正在开发一个必须处理多点触控的应用程序。 基本上我想要单点触摸旋转(这没问题)。 和多点触控滚动。 我有基本的代码,但是当从单点触控到多点触控(反之亦然)发生转变时,我遇到了问题。 基本上移动会震动,因为多点触控的中间位置(两个手指)和单指的绝对位置相距很远。 所以如果我有两个手指在屏幕上,它们组成一个中间位置,然后抬起一根手指,就像从中间位置快速移动到绝对单指位置。 这将是我不想要的运动。 这是我的代码: @Override public boolean onTouchEvent( MotionEvent event ) { float xEvent[] = new float[ 2 ]; float yEvent[] = new float[ 2 ]; switch( event.getPointerCount() ) { case 1: xEvent[ 0 ] = event.getX( 0 ); yEvent[ 0 ] = event.getY( 0 ); switch( event.getAction() ) { case MotionEvent.ACTION_DOWN: camera.onTouchDown( xEvent[ 0 ], yEvent[ 0 ] ); return true; case MotionEvent.ACTION_MOVE
  • Mac上Multitouch触控板手势使用技巧
    Multitouch是Mac平台上一款触控板手势增强软件,各种不同的触控板手势,手指轻点、轻扫等就能快速进行操作,使用非常便捷,使用非常便捷,你可以在 trackpad、magic mouse 上定义一指、二指,三指,四指,五指,Force Touch 的各种动作,像:点击(Click)、轻拍(Tap)、轻扫(Swipe)及各种组合动作,通过这些动作你可以设定千奇百怪的功能,大致分为快捷键(shortcuts)、文本扩展(expander)、macOS 自带功能键、鼠标左右键点击、窗口管理、浏览器标签页管理、执行命令行等等任务,可谓是手势控制界的 Keyboard Maestro。 Multitouch 的设置非常 easy,打开界面,点击左下角的加号即可添加各种动作,建议你先从一指的动作慢慢熟悉,在添加动作的时候软件会提示你新建动作是否与 macOS 自带 trackpad 手势冲突,如果冲突建议你采取其他动作即可。 下面我们举几个例子: 两指从 trackpad 面板的左侧边缘向右滑动,同时可选设置 Fn 键,此时可以选择的任务有 app switch 切换、调整 Mac 音量、调整 Mac 屏幕亮度、调整键盘背光板亮度。 还是两指动作,左侧手指放置在 tracpad 面板,右侧手指轻拍 trackpad 面板,同时可选择是否连续两次连拍,这样成功率个人实测要比较大