Я хочу, чтобы точка перемещалась по сетке от плитки к плитке. Плитки имеют размер 16x16.
Это моя игра l oop:
int nextMoveTime = 0;
while (!quit) //gameloop
{
//Handle events on queue
while (SDL_PollEvent(&e) != 0)
{
//User requests quit
if (e.type == SDL_QUIT)
{
quit = true;
}
//Handle input for the dot
dot.handleEvent(e);//adjusts velocity in increments of 16
}
if (nextMoveTime <= SDL_GetTicks())
{
dot.move(tileSet);//applies velocity
nextMoveTime = SDL_GetTicks() + 100;
}
//and some render stuff:
dot.setCamera(camera);
//Clear screen
SDL_SetRenderDrawColor(gRenderer, 0xFF, 0xFF, 0xFF, 0xFF);
SDL_RenderClear(gRenderer);
//Render level
for (int i = 0; i < TOTAL_TILES; ++i)
{
tileSet[i]->render(camera);
}
//Render dot
dot.render(camera,frame);
//Update screen
SDL_RenderPresent(gRenderer);
}
Мне кажется, что это плохой подход, так как скорость увеличивается на 16, поэтому движение по сетке 16x16 делает не выглядит гладко, я хотел бы сделать точку один раз между плитками.