SDL_FINGERDOWN 没有正确注册
SDL_FINGERDOWN not registering correctly
我不知道为什么 SDL_FINGERDOWN
记录
即使是简单的触摸事件。顾名思义,它应该在 Sliding finger down 上注册,对吧?我使用 android N 进行测试。
这是我的代码
#include "SDL.h"
#include <SDL2/SDL.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
SDL_Init(SDL_INIT_EVERYTHING);
int r, g, b;
r = g = b = 0;
SDL_Window *window;
window = SDL_CreateWindow("S", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 720, 1320, SDL_WINDOW_RESIZABLE);
SDL_Surface *screen = SDL_GetWindowSurface(window);
Uint32 white = SDL_MapRGB(screen->format, 255, 255, 255);
SDL_FillRect(screen, NULL, white);
SDL_UpdateWindowSurface(window);
SDL_Event event;
bool running = true;
while (running)
{
while (SDL_PollEvent(&event))
{
if (event.type == SDL_FINGERDOWN)
{
running = false;
break;
}
//end if
} //end inner while
}
SDL_DestroyWindow(window);
SDL_Quit();
}
你误解了SDL_FINGERDOWN和SDL_FINGERUP的意思。
当您将手指放在触摸屏上时,这是 SDL_FINGERDOWN.When 类型的事件,您从触摸屏上抬起手指时,这是 SDL_FINGERUP.
类型的事件
我不知道为什么 SDL_FINGERDOWN
记录
即使是简单的触摸事件。顾名思义,它应该在 Sliding finger down 上注册,对吧?我使用 android N 进行测试。
这是我的代码
#include "SDL.h"
#include <SDL2/SDL.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
SDL_Init(SDL_INIT_EVERYTHING);
int r, g, b;
r = g = b = 0;
SDL_Window *window;
window = SDL_CreateWindow("S", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 720, 1320, SDL_WINDOW_RESIZABLE);
SDL_Surface *screen = SDL_GetWindowSurface(window);
Uint32 white = SDL_MapRGB(screen->format, 255, 255, 255);
SDL_FillRect(screen, NULL, white);
SDL_UpdateWindowSurface(window);
SDL_Event event;
bool running = true;
while (running)
{
while (SDL_PollEvent(&event))
{
if (event.type == SDL_FINGERDOWN)
{
running = false;
break;
}
//end if
} //end inner while
}
SDL_DestroyWindow(window);
SDL_Quit();
}
你误解了SDL_FINGERDOWN和SDL_FINGERUP的意思。 当您将手指放在触摸屏上时,这是 SDL_FINGERDOWN.When 类型的事件,您从触摸屏上抬起手指时,这是 SDL_FINGERUP.
类型的事件