Exemple #1
0
INT CGpApp::Render()
{
	if(8>m_nSkip)
		return 0;

	m_pDev->SetRenderState(LC_RS_CLEAR_COLOR, 0xFF006699);
	
	m_pDev->BeginScene();	// Prepare Rendering...
	m_pDev->Clear(LC_CLEAR_COLOR_BUFFER | LC_CLEAR_DEPTH_BUFFER);	// Clear Backbuffer

	
	m_pSpt->Begin();				// Sprite Begin

	// Draw Game Play

	DrawBackground();
	DrawMissile();
	DrawShield();
	DrawPlayer();
	DrawEnergyBar();
	DrawPlayerLife();

	m_pFontScore->DrawTxt();

	if(m_bShowSt)
		m_pFont->DrawTxt();




//	LCXRECT	rc;
//	LCXVECTOR2 vcPos;
//
//	vcPos = m_pFont->GetPosition();
//	m_pFont->GetAttrib(LC_FONT_RECT_SCALEUP, &rc);
//	vcPos.x += rc.w;
//
//	m_pFont->GetRect(&rc, 10);
//	vcPos.x = rc.x;
//	vcPos.y = rc.y;
//	m_pFont->DrawTxt(NULL, 0, -1, &vcPos);


	m_pSpt->End();				// Sprite End

	m_pDev->EndScene();			// Post Rendering...


	return LC_OK;
}
Exemple #2
0
/**
**	Draw all missiles on map.
*/
global void DrawMissiles(void)
{
    int missile;
    int x;
    int y;

    for( missile=0; missile<NumMissiles; ++missile ) {
        if( Missiles[missile].Type==MissileFree ) {
            continue;
        }
        // FIXME: is this correct???
        x=Missiles[missile].X-MapX*TileSizeX+MAP_X;
        y=Missiles[missile].Y-MapY*TileSizeY+MAP_Y;
        if( x<MAP_X || x>MAP_X+TileSizeX*MapWidth
                || y<MAP_Y || y>MAP_Y+TileSizeY*MapHeight ) {
            continue;
        }
        DrawMissile(Missiles[missile].Type,Missiles[missile].Frame,x,y);
    }
}