|
为什么一运行就会退出呢?
class CGameMap
{
private:
LP_DISPLAY m_pDisplay;
LP_BITMAPX m_pBottomMap;
private:
LP_BITMAPX m_pTile; // 地图瓷砖
public:
CGameMap(void);
CGameMap( int x, int y, int MapID, LP_DISPLAY lp_display );
~CGameMap(void);
LP_BITMAPX GetBottomMap( void ); // 获取最底层地图
bool SetDisplay( LP_DISPLAY lp_display ); // 设置绘图核心
bool CreateMap( int x, int y, int MapID );
};
CGameMap::CGameMap( int x, int y, int MapID, LP_DISPLAY lp_display )
{
m_pBottomMap = NULL;
m_pMiddleMap = NULL;
m_pTopMap = NULL;
if( SetDisplay( lp_display ) )
CreateMap( x, y, MapID );
}
LP_BITMAPX CGameMap::GetBottomMap( void )
{
if( m_pBottomMap == NULL )
return m_pTile;
else
return m_pBottomMap;
}
bool CGameMap::SetDisplay( LP_DISPLAY lp_display )
{
m_pDisplay = lp_display;
if( m_pDisplay != NULL )
return true;
else
return false;
}
bool CGameMap::CreateMap( int x, int y, int MapID )
{
m_pTile = m_pDisplay->CreateBitmapFromJPG( "pic\\cover.jpg" );
m_pDisplay->DrawBitmapMMX( 0, 0, m_pTile, m_pBottomMap );
if( m_pDisplay == NULL )
return false;
else
return true;
}
以下是调用代码:
CGameMap* m_pgmMap;
m_pgmMap=new CGameMap(0,0,0,g_pDisplay)
...
...
GetGraphics()->DrawBitmapMMX( 0, 0, m_pgmMap->GetBottomMap(), SCREENBUFFER );
可以把g_pDisplay当参数传递,在另一个类里调用吗?怎么才能运行成功呢?我的主要目的就是想在地图类里将地图画好,返回LP_BITMAPX,然后在主程序中将地图画出来。 |
|