标签: multi-touch

应用,提高触摸事件的性能

基本上,我有一个8000px到8000px的应用程序.我们可以放大以查看特定部分,例如收音机,或者我们可以缩小以查看所有内容.

汽车的每个部件都是一个控制器,我们可以用手指操作,双触摸或多点触控显示器.

我的问题是:对于操作控件,例如音量按钮,用户需要像现实生活中一样移动鼠标,因此使用圆形运动.使用鼠标,一切都很完美,它可以毫不拖延地立即响应.我使用OnMouseLeftButtonDown,OnMouseMove等.通过触摸,计算机似乎很难获得触摸位置并且存在巨大的延迟,尤其是当用户同时用2个手指移动2个不同的按钮时.我使用OnTouchDown,OnTouchMove等...

鼠标和触摸之间的唯一区别是当我们需要获取位置时,使用鼠标:(e是MouseButtonEventArgs)

Point currentPosition = e.GetPosition(this);
Run Code Online (Sandbox Code Playgroud)

使用Touch我使用:(e是TouchEventArgs)

Point currentPosition = e.GetTouchPoint(this).Position;
Run Code Online (Sandbox Code Playgroud)

在此之后的一切都是一样的.

我不知道是不是因为我在我的应用程序中有太多的控制权(超过5000我们可以操作,但当我们只放大2控制它是同样的事情)或因为它真的很难让计算机得到触摸事件的位置....

有人可以帮我弄这个吗?我需要找到一个消除滞后的解决方案.

我在NEC 2490WUXi2屏幕上使用Visual Studio 2010,Blend 4,.NET 4.0 Windows 7 64位7 Gb RAM Xeon 2.13 Ghz,2核,8线程屏幕:ELO技术

c# wpf performance multi-touch touch

13
推荐指数
1
解决办法
4435
查看次数

与Multi-Touch Manipulations相关的未记录的.NET代码抛出异常

一个有利的结果是防止这种例外,最好是,或至少优雅地处理它.

Microsoft代码中抛出一个异常.最重要的是,抛出异常的方法是System.Windows.Input.Manipulations.ManipulationSequence.ProcessManipulators我在Microsoft Reference Source中找不到的.

抛出异常时,我可以在它引用的Call Stack窗口中看到一行Windows.Input.Manipulations.ManipulationProcessor2D.ProcessManipulators,这在Microsoft Reference Source中确实存在.

但正如您所看到的,它没有一个名为的兄弟类ManipulationSequence.

至于异常本身,它System.Argument.OutOfRangeException的值是Timestamp values must not decrease. Parameter name: timestamp Actual value was 6590630705479.

抛出异常的方法的完全限定签名是 System.Windows.Input.Manipulations.ManipulationSequence.ProcessManipulators(long timestamp, System.Collections.Generic.IEnumerable<System.Windows.Input.Manipulations.Manipulator2D> manipulators, System.Windows.Input.Manipulations.ManipulationSequence.ISettings settings)

似乎宇宙中的另一个人遇到了这个问题,但根据唯一的评论它无法复制.

MediaElement在画布上有6个对象在操作时都运行视频,所以我觉得它可能与CPU被征税和减速有关,可能会使时间戳无序地发送到方法中(尽管使用Image而不是MediaElement)时会出现同样的问题.异常偶然发生,有时它会在几秒钟之后乱搞对象,有时可能需要几分钟或更长时间来操作对象.

我在其中执行实际操作的代码ManipulationDelta 如下所示:

//Get current values to manipulate
TransformGroup group = (TransformGroup)element.RenderTransform.Clone();
TranslateTransform translate = (TranslateTransform)group.Children[0].Clone();
ScaleTransform scale = (ScaleTransform)group.Children[1].Clone();
RotateTransform rotate = (RotateTransform)group.Children[2].Clone();

//...does manipulations on each by …
Run Code Online (Sandbox Code Playgroud)

.net c# windows wpf multi-touch

13
推荐指数
1
解决办法
591
查看次数

新款iPhone 6和6 Plus支持多少个同步多点触控点?

我在市场上有一个应用程序,我想为新手机更新它.旧的iPhone只支持5个同时触摸,而iPad支持10个.我想知道新手机现在是否也支持10个.我搜索了Google的文档,但我找不到具体的数据.

iphone xcode multi-touch ios

13
推荐指数
1
解决办法
1285
查看次数

多点触控不适用于iPhone的cocos2D

我对cocos2D非常熟悉(已经使用它超过1年了)我遇到了一个问题multitouch- 我的游戏 - multitouch.

我拥有的:
[glView setMultipleTouchEnabled:YES] 在我的代表中.一个playscene不实现触摸的.
添加到playcene的许多对象(我自己的,继承CCLayer).
这些对象实现了触摸并且是目标协议的委托.
[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];

在cocos2D的触摸测试中使用了相同的架构并且它正在工作.唯一的区别是它们使用CCSprite而不是CCLayer作为对象的父类.

有没有人有任何想法?

iphone multi-touch cocos2d-iphone

12
推荐指数
1
解决办法
765
查看次数

如何设置电子UserAgent

我需要在电子中设置UserAgent以包含touch标志,因为我正在编写触摸屏应用程序,它似乎不会自动检测到它在触摸屏上运行.

任何帮助都会很好,我已经尝试在BrowserWindow.loadURL选项参数中设置它.

javascript multi-touch touch chromium electron

12
推荐指数
3
解决办法
1万
查看次数

如何在iPhone上进行捏合手势?

如何在iPhone上实现捏合手势?我熟悉在iPhone上使用触摸事件,但我非常懒,并且不想重新发明像PINCH手势那样普遍的东西...源代码或其链接会有所帮助.

iphone gesture-recognition multi-touch pinch

11
推荐指数
3
解决办法
3万
查看次数

Android/webOS设备是否支持多点触控Javascript事件?

在iPhone,iPod touch和(可能是)iPad上,Apple 通过Mobile Safari中的JavaScript提供多点触控事件处理功能.我知道Nexus One最近通过更新添加了多点触控支持,我相信webOS也支持多点触控.Android 2.1和/或webOS是否可以在浏览器中访问多点触控,或者这是Apple目前独有的设备?

javascript iphone android multi-touch webos

11
推荐指数
2
解决办法
1万
查看次数

Android测试,如何使用乐器模拟多点触控(放大/缩小)?

我可以简单地模拟单个触摸 - 在我的测试中点击,滑动,按住等,但完全坚持使用Android 2.2在HTСDesire上模拟多点触控.

请问您能告诉我,如何重现事件链以测试多点触摸?

我想我需要使用一些棘手的MotionEvent,如MASK或类似的东西,但不知道如何做到这一点.

我在这里找到了转载缩放事件的转储:http: //www.zdnet.com/blog/burnette/how-to-use-multi-touch-in-android-2-part-3-understanding-touch- ?事件/ 1775 =标签mantle_skin;内容

 1. event ACTION_DOWN[#0(pid 0)=135,179]
 2. event ACTION_MOVE[#0(pid 0)=135,184]
 3. event ACTION_MOVE[#0(pid 0)=144,205]
 4. event ACTION_MOVE[#0(pid 0)=152,227]
 5. event ACTION_POINTER_DOWN(pid 1)[#0(pid 0)=153,230;#1(pid 1)=380,538]
 6. event ACTION_MOVE[#0(pid 0)=153,231;#1(pid 1)=380,538]
 7. event ACTION_MOVE[#0(pid 0)=155,236;#1(pid 1)=364,512]
 8. event ACTION_MOVE[#0(pid 0)=157,240;#1(pid 1)=350,498]
 9. event ACTION_MOVE[#0(pid 0)=158,245;#1(pid 1)=343,494]
 10. event ACTION_POINTER_UP(pid 0)[#0(pid 0)=158,247;#1(pid 1)=336,484]
 11. event ACTION_MOVE[#0(pid 1)=334,481]
 12. event ACTION_MOVE[#0(pid 1)=328,472]
 13. event ACTION_UP[#0(pid 1)=327,471]
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

  1. 事件ACTION_POINTER_DOWN(pid 1)[#0(pid 0)= 153,230;#1(pid 1)= 380,538] …

testing android multi-touch instruments

11
推荐指数
1
解决办法
6205
查看次数

MotionEvent.getPointerCount()始终为1

我试图在我的应用程序中实现多点触控时,我以某种方式得到意想不到的结果.我永远不会获得多个指针的数据.我的手机上的多点触控确实有效,因为我可以使用GestureDetector捏缩放浏览器并检测捏合手势,但action=0 pointers=1无论我用多少手指触摸屏幕,下面的样本都会打印出来.

我需要在配置/ AndroidManifest或Activity创建中有什么东西

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    findViewById(R.id.ll1).setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            Log.d("TAG","onTouch action="+event.getAction()+" pointers="+event.getPointerCount());
            return false;
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ll1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android multi-touch android-gesture

11
推荐指数
1
解决办法
5165
查看次数

Android Webview多点触控touchstart事件无法使用超过2个手指

请考虑以下代码:

canvas.addEventListener('touchstart', function(event) {
    console.log('start');
});
Run Code Online (Sandbox Code Playgroud)

当我同时用两根手指敲击时,我有以下输出(因为打印两次很酷):

I/SnapScrollController(26508): setSnapScrollingMode case-default no-op
I/chromium(26508): [INFO:CONSOLE(69)] "start", source: file:///android_asset/index.html (69)
I/chromium(26508): [INFO:CONSOLE(69)] "start", source: file:///android_asset/index.html (69)
Run Code Online (Sandbox Code Playgroud)

但是当我同时使用两个以上的手指时,我的结果相同,我做错了什么?我被期待的日志"开始"与我使用的手指一样多次.

在另一边touchmove,touchend效果很好.

我在这里上传了代码

javascript android multi-touch webview

11
推荐指数
1
解决办法
930
查看次数