SDL2学习笔记03:事件驱动编程

今天看教程的时候注意到了教程里声明了“禁止翻译转载”,本着拿人手短的原则,这就是最后一篇公开的博文了
这一节讲了SDL里的事件驱动

//主循环标识
bool quit = false;

//事件控制器
SDL_Event e;

在初始化并载入完图片后,定义了一个标识用来记录用户是否请求退出程序,开始的时候设为false。
还定义了一个事件控制器,SDL里的按键,鼠标点击等都可以看做事件。

//当程序正在运行
while( !quit )
{

之前的两节里程序运行一会儿会自动退出,这一节里如果用户不退出,程序将一直循环运行。
很多程序里都叫这个东西为主循环,有的游戏程序里称之为游戏循环,这也是所有游戏程序的核心。

	//控制事件呈队列结构排布
	while( SDL_PollEvent( &e ) != 0 )
	{
		//用户请求退出
		if( e.type == SDL_QUIT )
		{
			quit = true;
		}
	}

SDL里的控制事件呈队列结构排布,通过SDL_PollEvent可以检查一个事件。对于这个循环来讲,只要队列里还有事件没有处理完就会一直运行下去
当队列为空时,SDL_PollEvent()返回0.

	
	SDL_BlitSurface( gXOut, NULL, gScreenSurface, NULL );

	//渲染图片
	SDL_UpdateWindowSurface( gWindow );
}

在这个程序里,不点×号程序就不会停止运行。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值