转自 :http://tieba.baidu.com/p/4251800066

  • 只看楼主
  • 收藏

  • 回复
  • 简单aaaaaaa
  • 大名鼎鼎
    10

我不会告诉你们
我到现在还没解决
while(SDL_PollEvent(&event))
{
if(event.type==SDL_FINGERDOWN||
event.type==SDL_FINGERUP||
event.type==SDL_FINGERMOTION
)
{
//各手指状态
if(event.type==SDL_FINGERDOWN)
EVE_pos[event.tfinger.fingerId].state=1;
if(event.type==SDL_FINGERUP)
EVE_pos[event.tfinger.fingerId].state=3;
if(event.type==SDL_FINGERMOTION)
EVE_pos[event.tfinger.fingerId].state=2;
//各手指坐标
EVE_pos[event.tfinger.fingerId].x= event.tfinger.x*S_w;
EVE_pos[event.tfinger.fingerId].y = event.tfinger.y*S_h;
EVE_pos[event.tfinger.fingerId].id = event.tfinger.fingerId;
}
}

这种方法是不能获取各手指状态的

(0)
  • 回复
  • 1楼
  • 2016-01-05 17:27
  • 举报 |个人企业举报垃圾信息举报
  • 来自Android客户端

  • 雷神lyc
  • 大名鼎鼎
    10

唉,我不知道你是要多少个手指,在很久以前我写的个游戏框架,里面就涉及到屏幕缩放,需要两手指,不过我用的另外的方法 SDL_MultiGestureEvent,实现了缩放已经够了,现在我写了游戏引擎,很多方面比以前那个游戏框架都强太多了,不过我还没有发布,刚好遇到这个问题,我游戏里面涉及到拖动物体,这时候不允许另外的手指干涉,就得用到fingerId,这次我试了下 SDL_TouchFingerEvent中的fingerId,好像不是你那么用的
回复
  • 2楼
  • 2016-01-07 01:46
  • 举报 |个人企业举报垃圾信息举报
  • 来自Android客户端

  • 雷神lyc
  • 大名鼎鼎
    10

好吧,我说了一堆废话,请无视,你这个用法没错,是不是你之后调用的问题呢,注意不同先后顺序id会发生变化什么的,强制转换等等什么的,反正我这样试了没什么问题
收起回复
  • 3楼
  • 2016-01-07 06:35
  • 举报 |个人企业举报垃圾信息举报
  • 来自Android客户端
  • 简单aaaaaaa: 这样是可以获取各手指的坐标,但是各手指的按下状态是获取不了的。比如有一个手指是滑动状态,其他手机全都变成滑动状态了。

    2016-1-7 07:07回复

  • 一周休七日: 回复 @简单aaaaaaa :你手指的问题!你单指能保持住“按下”状态两秒算你厉害!

    2016-1-7 12:46回复

  • 雷神lyc: 回复 简单aaaaaaa :可以获取各手指状态的,这个过程非常快,我觉得你需要吧那个瞬间状态给储存起来以后判断使用,而且按下基本上都会有微小滑动的

    2016-1-7 13:52回复

  • 我也说一句

  • 我是_ID_
  • 高手寂寞
    11

SDL_TouchID device=SDL_GetTouchDevice(0);
for(int i=0;i<SDL_GetNumTouchFingers(device);++i)
{
SDL_Finger *finger = SDL_GetTouchFinger(device,i);
if(finger!=NULL)
{
multipos[i][0]=finger->x;
multipos[i][1]=finger->y;
}
}

Google

收起回复
  • 6楼
  • 2016-01-08 06:43
  • 举报 |个人企业举报垃圾信息举报
  • 来自Android客户端
  • 简单aaaaaaa: 我需要的是各个手指按下的状态,不是坐标

    2016-1-8 07:03回复

  • SONGAKY1: 回复 简单aaaaaaa :

    2016-1-22 19:28回复

  • 我也说一句

  • 5646789798798l
  • 哈啰沃德
    1

我建议你去搜一下思必达学院,里面有全套的编程和开放源码,有最新的兄弟连和传智视频教程, 搜 思必达学院
收起回复
  • 8楼
  • 2016-01-10 07:19
  • 举报 |个人企业举报垃圾信息举报
  • 5646789798798l: 自己学习,搜思必达学院,简单易学,一周让你不比话几千块钱找人做网站了。因为你自己就能用很短的时间做个漂亮完美的网站出来。百度搜索 思必达学院

    2016-1-11 03:44回复

  • 我自己188: 思必达学院根据学生学习曲线,设计课程难易度曲线,并强调难点问题,力求最佳的学习效果,让你学习起来更容易,思必达学院工作人员一直坚持不懈的努力获得更好的编程和资源,免费视频让你任性下载!

    2016-1-21 20:13回复

  • yxs_0131: 想要经典教程源码视频就来思必达学院,搜 思必达学院 来了不后悔

    2016-1-22 16:16回复

  • 茶留呈依: 史上最全编程全部是高清晰的视屏加配套素材 需要的去搜 思必达学院

    2016-1-23 10:11回复

  • 阳光的菲利亚: 这个教程资源现在在思必达学院有全套高清的,可以免费下载而且是百度网盘的资源可以一键转存,百度搜索思必达学院

    2016-1-24 10:37回复

  • 我也说一句

  • 贴吧游戏
听说来玩的都领了T豆! 贴吧用户专享福利,你领了么? 
  • 推荐 来自 贴吧游戏

  • xgh电3
  • 反人类
    8

http://www.tudou.com/programs/view/OpD1H9LXJlE
收起回复
  • 9楼
  • 2016-01-11 07:12
  • 举报 |个人企业举报垃圾信息举报
  • 来自Android客户端
  • xgh电3: 一点点sdl教程

    2016-1-11 07:12回复

  • 我也说一句

  • sahban
  • 反人类
    8

先取FingerId 再判断event.type
回复
  • 11楼
  • 2016-01-16 08:02
  • 举报 |个人企业举报垃圾信息举报
  • 来自Android客户端

  • qkqpttgf
  • 大名鼎鼎
    10

event.type不是手指按下fingerdown,这个event应该是multigesture。

if (event.type == SDL_MULTIGESTURE)
// 多指触屏事件
{
x = event.mgesture.x;
y = event.mgesture.y;
dg += event.mgesture.dTheta * 90;
// 旋转角度,值很小(*90后手感正常),而且dTheta只是每次的值,所以要累加起来
dd += event.mgesture.dDist * 10;
}

   ——水木逸清华,婉兮笙清扬。

收起回复
  • 13楼
  • 2016-01-24 22:17
  • 举报 |个人企业举报垃圾信息举报
  • 来自Android客户端
  • 简单aaaaaaa: 我要获得的是各个手指的按下类型。

    2016-1-24 22:54回复

  • qkqpttgf: 回复 简单aaaaaaa :你把event换用multi的   ——水木逸清华,婉兮笙清扬。

    2016-1-25 12:12回复

  • sahban: 回复 简单aaaaaaa :11楼

    2016-1-25 18:25回复

  • 我也说一句

  • sahban
  • 反人类
    8

while (SDL_Event(&e)){} 这个循环意思就是从事件队列一个一个抽取事件再判断,一直到抽完为止 你的每一个手指的按下都会依次储存进事件队列,所以若想要判断不同手指的DOWN UP MOVEMENT状态,要先判断fingerId 比如你用两根手指按在屏幕上, 两次循环会获得不同fingerid 所对应的触摸状态,坐标之类的也不同
收起回复
  • 14楼
  • 2016-01-25 18:38
  • 举报 |个人企业举报垃圾信息举报
  • 来自Android客户端
  • 简单aaaaaaa: 两根手指按在屏幕上,当有一个变为MOTION,其他的手指都会变成MOTION的

    2016-1-25 18:46回复

  • 简单aaaaaaa: 回复 简单aaaaaaa :并不是你说的会获得不同fingerid所对应的触摸状态

    2016-1-25 18:47回复

  • sahban: 回复 简单aaaaaaa :先试试 我试过。

    2016-1-25 19:00回复

  • 我也说一句

  • sahban
  • 反人类
    8

SDL_Point a,b;
while (SDL_PollEvent(&e))
{
if (e.type==SDL_FINGERUP || e.type==SDL_FINGERDOWN || e.typez=SDL_FINGERMOTION)
{
if (e.tfinger.fingerID==0)
{
if (e.type==SDL_FINGERDOWN)
{
a.x=e.tfinger.x;
a.y=e.tfinger.y;
}
}
else if (e.tfinger.fingerID==1)
{
if (e.type==SDL_FINGERDOWN)
{
b.x=e.tfinger.x;
b.y=e.tfinger.y
}
}
}
}

关于SDL多指触屏事件获取各手指状态的问题。相关推荐

  1. android 触摸 事件,Android触屏事件和MotionEvent详解

    Android屏幕操作 屏幕是用户和Android设备交互的主要媒介,屏幕分为触屏和非触屏.Android设备目前有四种类型:Android Phone,Android Tablet,Android ...

  2. 【iOS-Cocos2d游戏开发之六】对触屏事件追加讲解,解决无法触发ccTouchMoved事件[重要!]...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/453.html ...

  3. Unity Android手机触屏事件

    一: 下面先说经常用的三个事件 手指按下.手指移动.手指松开 1. 手指按下 if(input.touchCount==1) {if(input.touches[0].phase==TouchPhas ...

  4. 【iOS-Cocos2d游戏开发之五】多触点与触屏事件详解(单一监听、事件分发)

    李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/450.html------- ...

  5. HTML---JS移动端触屏事件touch详解

    1:触屏事件概述 移动端浏览器兼容性较好,我们不需要考虑以前 JS 的兼容性问题,可以放心的使用原生 JS 书写效果,但是移动端也有自己独特的地方.比如触屏事件 touch(也称触摸事件),Andro ...

  6. JavaScript18——触屏事件

    1.1. 触屏事件 1.1.1 触屏事件概述 移动端浏览器兼容性较好,我们不需要考虑以前 JS 的兼容性问题,可以放心的使用原生 JS 书写效果, 但是移动端也有自己独特的地方.比如触屏事件 touc ...

  7. Unity Android手机触屏事件

    一: 下面先说经常用的三个事件 手指按下.手指移动.手指松开 1. 手指按下 if(input.touchCount==1) {if(input.touches[0].phase==TouchPhas ...

  8. 【iOS-Cocos2d游戏开发之五】【1】多触点与触屏事件详解(单一监听、事件分发)...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/450.html ...

  9. WPF 触屏事件后触发鼠标事件的问题及 DataGrid 误触问题

    WPF 触屏事件后触发鼠标事件的问题及 DataGrid 误触问题 目录 一.触屏事件连带触发鼠标事件的问题 二.DataGrid 误触问题及解决方法 独立观察员 2021 年 10 月 10 日 一 ...

最新文章

  1. ffmpeg m4a 转pcm_FFmpeg提取视频音频python将音频转文字
  2. 树状数组 poj 2352
  3. linux mount 内核镜像,在Linux live system中创建loop设备并挂载镜像文件
  4. excel 某个单元格不是等于空值_这些稀奇古怪的符号,却是Excel高手们常玩的!...
  5. 如何截获打印机文件_打印、复印还不会,如何在办公室里混?全程详细教学
  6. Event Loop、计时器、nextTick
  7. yarn:hadoop YarnChild OutOfMemoryError Java heap space || GC Overhead limit
  8. python 数据结构与算法
  9. 【Spark笔记】Windows10 本地搭建单机版Spark开发环境
  10. 2019-05-22 Java学习日记 day12
  11. mac下git安装与使用
  12. 免费领取QQ音乐会员
  13. opencv图像灰度化
  14. python求三重积分_三重积分的Python数值计算
  15. 批处理创建隐秘的加密文件夹,是男人就把秘密藏起来
  16. 谷粒学院day9关于章节小节修改后无法添加的bug记录
  17. arduino 的 oled时钟简单显示
  18. 使用Visio画各种可视化的流程图之基本流程图和跨职能流程图
  19. 网络基础——牛客网刷题第五波
  20. 本版1年以内的所有 面经题目

热门文章

  1. Ventuz实现查询天气功能
  2. 三次卷积插值的进一步SSE优化
  3. 什么是 TGI ? Target Group Index(目标群体指数)
  4. 约瑟夫环(c语言程序完整版)
  5. 频率选择滤波器 线性时不变系统
  6. java走向_Java 程序员走向“人生巅峰”的20个建议
  7. 利用客服消息和模板消息实现微信群发(突破群发接口的上限)
  8. CSS实现点击选中效果
  9. 学习TestLink测试用例管理工具,史上最全总结,助你一臂之力!
  10. 中国人的操作系统---陈榕