📄 gameclientengine.cpp
字号:
// GameClientEngine.cpp: implementation of the GameClientEngine class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "GameClientEngine.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GameClientEngine::GameClientEngine()
{
m_enableBackgroundActive = TRUE;
idr_command_updatemode = IDC_UPDATEMODE;
idr_choose_mode = IDC_CHANGEDEVICE;
m_isOperating = TRUE;
m_isWantZBuffer = FALSE;
m_is_show_help = TRUE;
m_is_show_fps = TRUE;
m_font16 = NULL;
}
GameClientEngine::~GameClientEngine()
{
}
HRESULT GameClientEngine::OnCreate()
{
m_font16 = CGsFunc::Font_QuickCreateFont(16);
return S_OK;
}
HRESULT GameClientEngine::OnFinalCleanup()
{
DeleteObject(m_font16);
return S_OK;
}
LRESULT GameClientEngine::MsgProc( UINT uMsg, WPARAM wParam, LPARAM lParam )
{
switch(uMsg)
{
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_HELP_TIP:
m_is_show_help ^= 1;
return 0;
case IDC_SHOW_FPS:
m_is_show_fps ^= 1;
return 0;
default:
break;
}
break;
default:
break;
}
return CGsEngine::MsgProc(uMsg, wParam, lParam);
}
ID GameClientEngine::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// switch(nChar) {
// case '0':
// break;
// case '':
// break;
// default:
// }
return CGsEngine::OnKeyUp(nChar, nRepCnt, nFlags);
}
HRESULT GameClientEngine::OnRender()
{
HRESULT hr = CGsEngine::OnRender();
if(m_is_show_help)
{
GRECT rc(170, 150, 630, 430);
PreparePaint();
Render_DrawRect(&rc, TRUE, D3DRGBA(0.0f, 0.0f, 0.0f, 0.3f));
Render_DrawRect(&rc, FALSE, D3DRGBA(1.0f, 0.7f, 0.2f, 0.3f));
}
return hr;
}
HRESULT GameClientEngine::OnDraw(CGsSurface* pBackSurface)
{
char str_tip[555];
int y = 30;
{
sprintf(str_tip, "F9 Help");
pBackSurface->DrawTextDirect(NULL, str_tip, GetRenderWidth() - 220, y, RGB(255,255,255), RGB(0,0,0));
y+=20;
sprintf(str_tip, "F10 Show FPS");
pBackSurface->DrawTextDirect(NULL, str_tip, GetRenderWidth() - 220, y, RGB(255,255,255), RGB(0,0,0));
y+=20;
sprintf(str_tip, "F11 Switch screen mode");
pBackSurface->DrawTextDirect(NULL, str_tip, GetRenderWidth() - 220, y, RGB(255,255,255), RGB(0,0,0));
y+=20;
sprintf(str_tip, "F12 Switch GDI draw mode");
pBackSurface->DrawTextDirect(NULL, str_tip, GetRenderWidth() - 220, y, RGB(255,255,255), RGB(0,0,0));
y+=20;
}
if(m_is_show_fps)
{
pBackSurface->DrawTextDirect(NULL, g_strInfo, GetRenderWidth() - 220, y, RGB(255,255,255), RGB(0,0,0));
}
if(m_is_show_help)
{
y=-20;
sprintf(str_tip, "《混乱竞技场》测试版本1.0");
pBackSurface->DrawTextDirect(m_font16, str_tip, 270, 200+y, RGB(255,200,55), RGB(0,0,0));
sprintf(str_tip, "功能键表:");
pBackSurface->DrawTextDirect(NULL, str_tip, 250, 230+y, RGB(155,255,155), RGB(0,0,0));
sprintf(str_tip, "游戏简介:");
pBackSurface->DrawTextDirect(NULL, str_tip, 450, 230+y, RGB(155,255,155), RGB(0,0,0));
sprintf(str_tip, "复活:");
pBackSurface->DrawTextDirect(NULL, str_tip, 200, 250+y, RGB(255,255,255), RGB(0,0,0));
sprintf(str_tip, "空格键");
pBackSurface->DrawTextDirect(NULL, str_tip, 300, 250+y, RGB(200,175,35), RGB(0,0,0));
sprintf(str_tip, "自动攻击:");
pBackSurface->DrawTextDirect(NULL, str_tip, 200, 270+y, RGB(255,255,255), RGB(0,0,0));
sprintf(str_tip, "Q 键");
pBackSurface->DrawTextDirect(NULL, str_tip, 300, 270+y, RGB(200,175,35), RGB(0,0,0));
sprintf(str_tip, "攻击:");
pBackSurface->DrawTextDirect(NULL, str_tip, 200, 290+y, RGB(255,255,255), RGB(0,0,0));
sprintf(str_tip, "A 键");
pBackSurface->DrawTextDirect(NULL, str_tip, 300, 290+y, RGB(200,175,35), RGB(0,0,0));
sprintf(str_tip, "停止攻击:");
pBackSurface->DrawTextDirect(NULL, str_tip, 200, 310+y, RGB(255,255,255), RGB(0,0,0));
sprintf(str_tip, "S 键");
pBackSurface->DrawTextDirect(NULL, str_tip, 300, 310+y, RGB(200,175,35), RGB(0,0,0));
sprintf(str_tip, " 魔法与力量的共存冲斥着整个混乱的世界,魔神诅咒了一切,在这里已经没有任何事物可以停止战斗,选择你的英雄,投入无尽的战斗……");
GRECT rc(400, 250, 600, 350);
pBackSurface->DrawTextInRect(NULL, str_tip, 400, 250+y, 200, 200+y, RGB(200,175,35), RGB(0,0,0));
sprintf(str_tip, "作者:");
pBackSurface->DrawTextDirect(NULL, str_tip, 300, 340+y, RGB(255,155,255), RGB(0,0,0));
sprintf(str_tip, "不夜人");
int x = this->ValueCycle(350, 450);
pBackSurface->DrawTextDirect(NULL, str_tip, x, 340+y, RGB(255,225,65), RGB(0,0,0));
sprintf(str_tip, "QQ");
pBackSurface->DrawTextDirect(NULL, str_tip, 300, 360+y, RGB(255,155,255), RGB(0,0,0));
sprintf(str_tip, "38874907");
x = this->ValueCycle(0, 255);
pBackSurface->DrawTextDirect(NULL, str_tip, 370, 360+y, RGB(x,x,x), RGB(0,0,0));
sprintf(str_tip, "MSN");
pBackSurface->DrawTextDirect(NULL, str_tip, 300, 380+y, RGB(255,155,255), RGB(0,0,0));
sprintf(str_tip, "jin_ke@hotmail.com");
pBackSurface->DrawTextDirect(NULL, str_tip, 350, 380+y, RGB(255,225,65), RGB(0,0,0));
sprintf(str_tip, "E-Mail");
pBackSurface->DrawTextDirect(NULL, str_tip, 300, 400+y, RGB(255,155,255), RGB(0,0,0));
sprintf(str_tip, "chenjinke@21cn.com");
pBackSurface->DrawTextDirect(NULL, str_tip, 350, 400+y, RGB(255,225,65), RGB(0,0,0));
sprintf(str_tip, "按F9关闭面板");
pBackSurface->DrawTextDirect(NULL, str_tip, 350, 420+y, RGB(155,125,65), RGB(0,0,0));
}
return CGsEngine::OnDraw(pBackSurface);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -