SDL如何多触屏(一次获取全部触点坐标)
c4droid吧
全部回复
仅看楼主
level 10
昵称君😂 楼主
[惊哭][惊哭]求教
2017年03月31日 10点03分 1
level 10
昵称君😂 楼主
多触屏[不高兴]怎么做
2017年03月31日 11点03分 2
level 10
昵称君😂 楼主
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;
}
}
别人的,看不懂,这个有用吗
2017年03月31日 11点03分 3
level 10
昵称君😂 楼主
2017年03月31日 11点03分 4
level 10
昵称君😂 楼主

2017年03月31日 11点03分 5
level 14
应该不是瞎编的,楼主你就用吧
2017年03月31日 12点03分 6
可是用不了... 可能是我不会用
2017年03月31日 14点03分
@昵称君😂 可能是吧
2017年03月31日 14点03分
level 10
昵称君😂 楼主
来人啊
2017年03月31日 15点03分 7
level 10
昵称君😂 楼主
SDL_GetTouchDevice(0)
有返回值
为什么
SDL_GetNumTouchFingers(device)
会等于0
2017年03月31日 16点03分 8
level 10
昵称君😂 楼主
啊啊啊啊啊啊啊,快疯了
2017年03月31日 16点03分 9
level 10
昵称君😂 楼主
SDL的教程太少了
2017年03月31日 16点03分 10
level 13
多点触屏我现在没法调试,不过理论上应该没问题。
2017年04月01日 04点04分 16
level 10
昵称君😂 楼主
问题解决了,首先感谢贴吧里的大神(不记得是谁了)
多点触屏的作者
2017年04月01日 05点04分 17
level 10
昵称君😂 楼主
下面是代码
std::vector<SDL_Finger> fingerpos;
//多触屏
void func()
{
SDL_Event event;
while (SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_FINGERDOWN:
{
SDL_Finger finger;
SDL_FingerID index = event.tfinger.fingerId;
finger.id = index;
finger.x = event.tfinger.x;
finger.y = event.tfinger.y;
fingerpos.push_back(finger);
}break;
case SDL_FINGERUP:
{
SDL_FingerID id = event.tfinger.fingerId;
std::vector < SDL_Finger >::iterator it;
for (it = fingerpos.begin(); it != fingerpos.end();)
{
if (it->id == id)
{
fingerpos.erase(it);
it = fingerpos.begin();
}
else
it++;
}break;
}
case SDL_FINGERMOTION:
{
SDL_FingerID id = event.tfinger.fingerId;
for (int i = 0; i < fingerpos.size(); i++)
if (id == fingerpos[i].id)
{
fingerpos[i].x = event.tfinger.x;
fingerpos[i].y = event.tfinger.y;
}
}
}
}
}
2017年04月01日 05点04分 18
level 7
顶顶,正好不会,有空再看看
2017年04月01日 06点04分 20
level 11
马克
2017年06月02日 02点06分 21
1 2 尾页