关于SDL怎么实现图像移动的问题
c4droid吧
全部回复
仅看楼主
level 8
梦想家275 楼主
这个在贴吧的教程里没有,我想通过循环让一个矩形的坐标变化,然后再刷新,就像用c写贪吃蛇一样,可是如果每次加的坐标如果太小,那帧速就大画质好,但移动速度慢,如果加的大那速度快,但是帧速就小,怎么能吧他俩分开控制啊
2017年01月14日 12点01分 1
level 8
梦想家275 楼主
#include "SDL2/SDL.h"
int main(int args, char **argv) {
SDL_Window *win = NULL;
SDL_Surface *sur = NULL;
SDL_Renderer *ren = NULL;
SDL_Rect rec = { 10, 10, 10, 10 }, darea;
win = SDL_CreateWindow("win", 0, 0, 0, 0, 0);
sur = SDL_GetWindowSurface(win);
ren = SDL_CreateSoftwareRenderer(sur);
SDL_SetRenderDrawColor(ren, 0, 0xFF, 0xFF, 0xFF);//背景颜色
SDL_RenderClear(ren);
SDL_RenderGetViewport(ren, &darea);//取到屏幕的大小
rec = {
darea.w / 2 - 100, darea.h / 2 - 100, 200, 200};//用来移动的方块大小位置
SDL_SetRenderDrawColor(ren, 0xFF, 0, 0, 0xFF);//方块的颜色
int i = 0;
for (; i < 200; i--) {
SDL_RenderFillRect(ren, &rec);
SDL_UpdateWindowSurface(win);
rec.y -= 5;//移动速度
SDL_SetRenderDrawColor(ren, 0, 0xFF, 0xFF, 0xFF);
SDL_RenderClear(ren);
SDL_SetRenderDrawColor(ren, 0xFF, 0, 0, 0xFF);
}//方块移动
SDL_Delay(10000);
return 0;
}
这个是我写的
2017年01月14日 12点01分 2
level 8
梦想家275 楼主
急啊急啊,在线等啊~~~
2017年01月14日 12点01分 3
level 12
控制帧率
2017年01月14日 12点01分 4
咋控制啊
2017年01月14日 12点01分
@梦想家275 SDL_CreateRenderer渲染器模式里不是可以设置成60fps吗
2017年01月14日 12点01分
@简单aaaaaaa 咋设置[惊哭]
2017年01月14日 12点01分
大佬sdl怎么循环播放音乐
2017年01月18日 08点01分
level 8
梦想家275 楼主
话说我要自学SDL要在哪学啊
2017年01月14日 12点01分 5
1