锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
]]>
濡傛灉浣犱嬌鐢℉GE寮鍙戞父鎴忥紝閭e氨瑕佹敞鎰忎簡銆?br>涓嬮潰鏄畠鐨刲icense璇存槑
BASS is free for non-commercial use. If you are a
non-commercial entity (eg. an individual) and you are not charging for
your product, and the product has no other commercial purpose, then you
can use BASS in it for free. Otherwise, you will require one of the
following licences.
Shareware
licence: 鈧?00
The "shareware" licence allows the usage of
BASS in an unlimited number of your shareware products, which must sell
for no more than 40 Euros each. If you're an individual (not a
corporation) making and selling your own software (and its price is
within the limit), this is the licence for you.
Single
Commercial licence: 鈧?50
The "single commercial" licence
allows the usage of BASS in a single commercial product.
Unlimited
Commercial licence: 鈧?450
The "unlimited commercial" licence
allows the usage of BASS in an unlimited number of your commercial
products. This licence applies to a single site/location.
note
that all prices are quoted in Euros, but payment can also be made in
several other currencies
These licences are on a per-platform basis.
There is a 20% reduction when purchasing a licence for both platforms,
eg. the Shareware licences are 鈧?60 instead of 鈧?00.
In all cases there are no royalties to pay and
you can use future BASS updates without further cost.
Reselling/sublicensing is not permitted. Your products must be end-user
products, eg. not components used by other products. Please note that
these licences only cover your own software, not the publishing of
other's software. If you have got any questions, please get in
touch.
]]>
]]>
]]>
]]>
鎬葷粨錛氱畝鍗曟湁鏁堬紝浣嗕篃榪囦簬綆鍗曚簡錛屼笅闈㈡槸System_Start鐨勬敞閲婏紒
bool CALL HGE_Impl::System_Start()
{
MSG msg;
POINT pt;
RECT rc;
if(!hwnd) //濡傛灉緋葷粺娌℃湁鍒濆鍖?/span>
{
_PostError("System_Start: System_Initiate wasn't called");
return false;
}
if(!procFrameFunc) //濡傛灉甯у嚱鏁幫紝娌℃湁瀹炵幇
{
_PostError("System_Start: No frame function defined");
return false;
}
bActive=true; //HGE榪涘叆媧誨姩鐘舵?/span>
for(;;)
{
if(!hwndParent) //濡傛灉娌℃湁鐖跺彞鏌?/span>
{
if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
{
if (msg.message == WM_QUIT) break;
// TranslateMessage(&msg);
DispatchMessage(&msg);
continue;
}
}
//鍙栧厜鏍囩殑浣嶇疆,榪欎釜鍏夋爣鏄睆
GetCursorPos(&pt);
//鍙栧鎴風鍖哄煙
GetClientRect(hwnd, &rc);
//褰撳厜鏍囧垏鎹負褰撳墠紿楀彛鎵瀵瑰簲鐨勫潗鏍?/span>
MapWindowPoints(hwnd, NULL, (LPPOINT)&rc, 2);
//鍒ゆ柇榧犳爣鏄惁鍦ㄥ綋鍓嶇獥鍙?/span>
if(bCaptured || (PtInRect(&rc, pt) && WindowFromPoint(pt)==hwnd)) bMouseOver=true;
else bMouseOver=false;
//
if(bActive || bDontSuspend)
{
do
{
dt = timeGetTime() - t0; //t0浠ユ潵緇忚繃鐨勬縐掓暟,瑕佺‘瀹氳瓚呰繃ms閫鍑?鐩稿綋浜庣瓑寰卪s)
}
while(dt < 1);
if( dt >= nFixedDelta ) //濡傛灉鍒頒簡甯х殑鏃墮棿
{
fDeltaTime = dt / 1000.0f;
if( fDeltaTime > 0.2f ) //濡傛灉瓚呰繃.2縐?/span>
{
if(nFixedDelta) fDeltaTime = nFixedDelta/1000.0f;
else fDeltaTime = 0.01f;
}
fTime += fDeltaTime; //绱娓告垙鐨勬椂闂?/span>
t0 = timeGetTime(); //褰撳墠甯у鐞嗙殑鏃墮棿
if( t0 - t0fps < 1000) cfps++; //灝忎簬姣鏃訛紝甯ф暟鍔?/span>
else //濡傛灉瓚呰繃姣鏃?/span>
{
nFPS = cfps; //璁劇疆褰撳墠縐掑撫璁℃暟
cfps = 0; //璁℃暟鍣ㄦ竻
t0fps = t0; //閲嶈璁℃暟鏃墮棿
}
if( procFrameFunc() ) break; //鎵у緱甯?/span>
if( procRenderFunc ) procRenderFunc(); //濡傛灉鏈夋覆鏌擄紝鍒欐墽寰楁覆鏌?/span>
if( hwndParent ) break;
_ClearQueue();
if(!bWindowed && nHGEFPS == HGEFPS_VSYNC) Sleep(1);
}
else
{
if(nFixedDelta && dt+3 < nFixedDelta) Sleep(1);
}
}
else Sleep(1);
}
_ClearQueue(); //娓呴櫎娌℃湁澶勭悊鐨勪簨浠?/span>
bActive=false;
return true;
}
鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛歨ttp://blog.csdn.net/zdhsoft/archive/2009/04/24/4106748.aspx
]]>