西西河

主题:初到贵宝地,灌一点游戏开发的东东 -- foundera

共:💬23 🌺4
全看分页树展 · 主题 跟帖
家园 游戏Loading画面的实现

游戏Loading画面的实现

当游戏在必须调入大量的资源或者复杂的初始化时,这就需要用到Loading画面和用户耐心的等待...

实现思路如下,当开始等待时,起动一个线程接管画面的绘制,同时用一个全局变量控制绘制的百分比,至于绘出来的是一个弹匣在装子弹(命运战士的load画面)还是一个被点燃导火索的炸弹(盟军敢死队III)就完全由你决定了,设全局变量 g_iPrecent的最大值为100,如果你够有耐心的话,你可以load完一幅图片替他++一次,这就完全靠你的感觉,或者你可以先TimeGetTime在调试框内输出Load这些资源需要的时间...然后分配这个分成了100份的时间段...

下面演示一个很简单的颜色块进度条

UINT ThreadProc(LPVOID param )

{

SHAREDATA *pData=(SHAREDATA*)param;//从参数里选择数据指针

while(g_bShowLoadPrecent)//此变量判断是否load完毕

{

(*(pData->pDisplay))->DrawRect(CRect(262,370,762,398));//方块

(*(pData->pDisplay))->FillColorRect(CRect(262,370,pData->iLoadPrecent*5+100,398),RGB(0,255,0));//显示load的百分比

(*(pData->pDisplay))->PrintText(480,375,"LOADING???",RGB(255,0,0));

(*(pData->pDisplay))->Present();

Sleep(10);

}

return 0;

}

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河