📄 spr_view.cpp
字号:
#include "spr_view.h"
SPR_VIEW::SPR_VIEW()
{
psurSpr = NULL;
}
SPR_VIEW::~SPR_VIEW()
{
Release();
}
VOID SPR_VIEW::Release()
{
}
VOID SPR_VIEW::ReleaseDeviceObj()
{
SAFE_RELEASE(psurSpr);
}
BOOL SPR_VIEW::Init(SPR_VIEW_INIT *pViewInit)
{
psurSpr = GetSurfaceFromSurFile16(pViewInit->strSprFileName);
if(psurSpr==NULL)
{
Out("ERR : %s\n" , "Load Spr View File Failed!");
}
SetSurfaceColorKey(psurSpr , 0);
return TRUE;
}
VOID SPR_VIEW::DrawSpr(SPR_CHARACTER *pCha)
{
int x , y; pCha->GetAtWorldXY(&x , &y);
DrawChaSurface(psurSpr , x - g_iViewAtWorldX ,
y - g_iViewAtWorldY ,
DirToViewDir[pCha->GetDire()]);
}
VOID SPR_VIEW::DrawSprPath(GAME_SCENE *pScene , SPR_CHARACTER *pCha)
{
PATH_LINK *pTempPathLink = pCha->pCurrentPathLink;
int iNextGridX = pCha->m_iNextGridX;
int iNextGridY = pCha->m_iNextGridY;
while(pTempPathLink!=NULL)
{
int d = pTempPathLink->dire;
iNextGridX = iNextGridX + DirToGrid[d][0];
iNextGridY = iNextGridY + DirToGrid[d][1];
int iWorldX , iWorldY;
pCha->GridToWorld(pScene , iNextGridX , iNextGridY , &iWorldX , &iWorldY);
OutputText(iWorldX - g_iViewAtWorldX - 4 + 32 ,
iWorldY - g_iViewAtWorldY + pScene->gridWorld.GetGridSizeY() / 2 - 4 + 75,
"*" , RGB(0 , 255 , 0));
pTempPathLink = pTempPathLink->next_path_ptr;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -