在上一节中介绍了定时器的概念,本节基于上节只是制作一个扔箱子的抛物线小游戏。
游戏说明:
1、单击鼠标左键生成一个矩形箱子;
2、箱子以随机的方式生成水平初始速度,可左可右;
3、箱子的垂直方向初速度为500,方向向上;
4、箱子受到重力大小是750
5、箱子在屏幕上显示时间为5秒,会落到底部或飞出窗口;
定义结构体
struct square {
float x, y, w, h, xvelocity, yvelocity;
Uint32 born, lastUpdate;
};
x,y, w, h表示矩形的位置和宽高;
xvelocity, yvelocity 表示x,y方向的速度;
born 表示矩形的产生时间;
lastUpdate 表示上次矩形的刷新时间;
代码讲解:
实现鼠标event处理:
vector<square> squares; //定义矩形vector
while ( SDL_PollEvent( &e ) != 0 ) {
switch (e.type) {
case SDL_QUIT:
running = false;
break;
case SDL_MOUSEBUTTONDOWN: