当前位置: 主页> 游戏下载>

奈何在游戏中完成脚本抑制

时间:2010-08-22 09:09 点击:

作者:Kylinx(吴振华) 一个游戏引擎做好了,最严重的是缺什么?剧本。打个比如,游戏引擎是一部电脑,则剧本便是电脑的软件。既然剧本这么严重,那该若何完毕呢?下面我就来说说我的做法。 首先默契一下新闻腾讯qq游戏 下载轮回 一个好的游戏离不开好的新闻轮回。它是游戏完毕很严重的一部门。下面我就来说说我的游戏《宿命传奇》的做法。 首先,我定义了一个全局变量extern int GameState; 在游戏中定义了很多目前的游戏情况比如 #define GAME_STATE_CUSTOM 0 //这代表在战斗中玩家不妨抑制游戏#define GAME_STATE_TALKING 1 等等。 好了,下面在WinMain内里的while(1)轮回中有个UpdateScreen()函数 原型为void UpdateScreen(){ 延时 switch(GameState) { case GAME_STATE_CUSTOM: 画出地图 画出所有精灵 画出天色(假使有的话) 假使玩家选中了仇家的话(打个比如DrawFlag=DrawEnemyState)就再现仇家的挪动范畴和仇家情况 break; case GAME_STATE_TALKING: GameDialogProc(); break; case GAME_STATE_SCRIPTCONTROLLING: ScriptControlProc(); break; ….//其他的讯息在这边办理 } 将缓冲方法的图象表示到屏幕;} 每个游戏处境都必要一个独立的函数来写。如此在每次切换游戏处境时都不会展现无法办理的处境。在办理键盘讯息的时候我也用一个个独立的函数来写,如办理回车键我用腾讯qq2010免费下载了 KeyReturnProc()来抑制。在这个函数里同样也少不了switch(GameState)这一句,为什么?答案很简略单纯,比如说在精灵行走时回车键就没有效,这是我没有办理精灵行走这个处境的键盘讯息。而在战斗场景里按下回车键,要是有精灵在挑选框里的话,就会办理反应的器械。 譬喻挑选了雠敌则使DrawFlag=DrawEnemyState;如此在更新屏幕时就会画出雠敌的挪动规模和处境。 懂得了吗?好了,要是你懂得了讯息循环的真理,下面的器械就很方便理解了。


(转载请注明出处:http://www.meirenyuwang.com/youxixiazai/20100822/404.html)
------分隔线----------------------------
推荐内容