void D_ShotObj::Draw()
{
	
	if (CurrentVPMode == VP_GAME)
		OFFSET = D3DXVECTOR2(GAME_OFFSETX + Position.x, GAME_OFFSETY + Position.y);
	else if (CurrentVPMode == VP_SCREEN)
		OFFSET = D3DXVECTOR2(0 + Position.x, 0 + Position.y);
	
	if (!InDelay && !Deleting)
		DrawShot();
}
示例#2
0
文件: window.c 项目: you-chan/Game
/*****************************************************************
関数名 : DrawMain
機能	: メイン画面の描画
引数	: なし
出力	: なし
*****************************************************************/
void DrawMain()
{
	SDL_FillRect(gMainWindow,NULL,0x101010);
	if(mState == MAIN_RESULT) //結果画面
		DrawResult();
	else
		DrawShip();

	if(mState == MAIN_COMMAND) //コマンド入力
		DrawCommand();
	else if(mState == MAIN_MOVE){ //コマンド適用
		DrawShot();
		boxColor(gMainWindow, 0, 0, F_WIDTH, HEIGHT, 0x00000040);
	}
	SDL_Flip(gMainWindow);
}
示例#3
0
//renders one frame
void Render(void)
{
   LIST * cur;

   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

   DrawStarfield(&g_starfield);

   for(cur = g_asteroid_list; cur; cur = cur->next)
      DrawAsteroid(cur->d);

   if(g_ships)
      DrawPlayer(&g_player);
   else
   {
      RenderText(15.2858f, 27.0f, 50.0f, 1.0f, 0.75f, 0.0f, 0.0f, "GAME OVER");

      if(!g_hisct_delay)
      {
         RenderText(13.1906f, 26.0f, 50.0f, 0.5f, 0.75f, 0.5f, 0.5f, "hit F2 to start a new game");
         DrawHiScoreTable(&g_hisct);
      }
   }

   for(cur = g_alien_list; cur; cur = cur->next)
      DrawAlien(cur->d);

   for(cur = g_shot_list; cur; cur = cur->next)
      DrawShot(cur->d);

   for(cur = g_explosion_list; cur; cur = cur->next)
      DrawExplosion(cur->d);

   for(cur = g_burst_list; cur; cur = cur->next)
      DrawBurst(cur->d);

   for(cur = g_powerup_list; cur; cur = cur->next)
      DrawPowerup(cur->d);

   if(g_paused)
   {
      RenderText(0.011792f, 6.0f, 50.0f, 6.36f, 1.0f, 0.5f, 0.5f, "paused");
      RenderText(11.0954f, 4.0f, 50.0f, 1.0f, 1.0f, 0.5f, 0.5f, "(hit p to resume)");
   }

   RenderText(29.3f, 28.7f, 50.0f, 1.0f, 0.75f, 0.75f, 0.75f, "%10d", g_score);
   RenderText(0.1f, 28.7f, 50.0f, 1.0f, 0.75f, 0.75f, 0.75f, "%d", (g_ships ? g_ships - 1 : 0));
   if(g_level < 1000)
   {
      if(g_time_to_reset)
         RenderText(7.9526f, 0.5f, 50.0f, 1.0f, 0.25f, 0.25f, 0.25f, "warping to level %03d...", g_level + 1);
      else if(g_level)
         RenderText(15.2858f, 0.5f, 50.0f, 1.0f, 0.25f, 0.25f, 0.25f, "level %03d", g_level);
   }
   else
      RenderText(13.1906f, 0.5f, 50.0f, 1.0f, 1.0f, 1.0f, 1.0f, "you are a god");

   if(g_ships && g_time_to_reset)
   {
      RenderText(15.2858f, 15.0f, 50.0f, 1.0f, 0.0f, 0.75f, 0.0f, "GOOD JOB!");
      RenderText(14.5001f, 14.0f, 50.0f, 0.5f, 0.5f, 0.75f, 0.5f, "completion bonus: %3d", (g_level > 99 ? 999 : g_level * 10));
   }

   RenderText(0.1f, 0.2f, 0.0f, 0.5f, 0.5f, 0.0f, 0.5f, "%.1ffps", g_fps);

   glFlush();
   glutSwapBuffers();
}