⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tutorial_21.htm

📁 如果你相信它就好好学学吧,同样这里也只是个入门
💻 HTM
📖 第 1 页 / 共 5 页
字号:
		glVertex2d( 5, 5);						
		glVertex2d( 5,-5);						
		glVertex2d(-5, 5);						
	glEnd();								</font></pre>
<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/tl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/tc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/tr.png" height="28" width="28"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td background="Tutorial_21_files/l.png"><img src="Tutorial_21_files/l.png"></td>
    <td valign="top" width="100%"> 绘制玩家的显示效果,让它看起来更好看些(其实没用)</td>
    <td background="Tutorial_21_files/r.png"><img src="Tutorial_21_files/r.png"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/bl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/bc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/br.png" height="28" width="28"></td></tr></tbody></table><font color="#aaffaa" size="3">
<pre>	glRotatef(player.spin*0.5f,0.0f,0.0f,1.0f);
	glColor3f(0.0f,0.75f,0.0f);						
	glBegin(GL_LINES);							
		glVertex2d(-7, 0);						
		glVertex2d( 7, 0);						
		glVertex2d( 0,-7);						
		glVertex2d( 0, 7);						
	glEnd();							</pre>
</font><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/tl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/tc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/tr.png" height="28" width="28"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td background="Tutorial_21_files/l.png"><img src="Tutorial_21_files/l.png"></td>
    <td valign="top" width="100%">接下来绘制追击玩家的敌人</td>
    <td background="Tutorial_21_files/r.png"><img src="Tutorial_21_files/r.png"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/bl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/bc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/br.png" height="28" width="28"></td></tr></tbody></table><font color="#aaffaa" size="3">
<pre>	for (loop1=0; loop1&lt;(stage*level); loop1++)
	{
		glLoadIdentity();						
		glTranslatef(enemy[loop1].fx+20.0f,enemy[loop1].fy+70.0f,0.0f);
		glColor3f(1.0f,0.5f,0.5f);					
		glBegin(GL_LINES);						
			glVertex2d( 0,-7);					
			glVertex2d(-7, 0);					
			glVertex2d(-7, 0);					
			glVertex2d( 0, 7);					
			glVertex2d( 0, 7);					
			glVertex2d( 7, 0);					
			glVertex2d( 7, 0);					
			glVertex2d( 0,-7);					
		glEnd();							</pre>
</font><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/tl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/tc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/tr.png" height="28" width="28"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td background="Tutorial_21_files/l.png"><img src="Tutorial_21_files/l.png"></td>
    <td valign="top" width="100%"> 下面的代码绘制敌人的显示效果,让其更好看。</td>
    <td background="Tutorial_21_files/r.png"><img src="Tutorial_21_files/r.png"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/bl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/bc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/br.png" height="28" width="28"></td></tr></tbody></table><font color="#aaffaa" size="3">
<pre>		glRotatef(enemy[loop1].spin,0.0f,0.0f,1.0f);			
		glColor3f(1.0f,0.0f,0.0f);					
		glBegin(GL_LINES);						
			glVertex2d(-7,-7);					
			glVertex2d( 7, 7);					
			glVertex2d(-7, 7);					
			glVertex2d( 7,-7);					
		glEnd();							
	}
	return TRUE;								
}
</pre>
</font><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/tl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/tc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/tr.png" height="28" width="28"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td background="Tutorial_21_files/l.png"><img src="Tutorial_21_files/l.png"></td>
    <td valign="top" width="100%">KillGLWindow函数基本没有变化,只在最后一行添加KillFont函数</td>
    <td background="Tutorial_21_files/r.png"><img src="Tutorial_21_files/r.png"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/bl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/bc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/br.png" height="28" width="28"></td></tr></tbody></table><font color="#aaffaa" size="3">
<pre>GLvoid KillGLWindow(GLvoid)							
{
	if (fullscreen)							
	{
		ChangeDisplaySettings(NULL,0);					
		ShowCursor(TRUE);						
	}

	if (hRC)								
	{
		if (!wglMakeCurrent(NULL,NULL))					
		{
			MessageBox(NULL,"Release Of DC And RC Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);
		}

		if (!wglDeleteContext(hRC))					
		{
			MessageBox(NULL,"Release Rendering Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);
		}
		hRC=NULL;							
	}

	if (hDC &amp;&amp; !ReleaseDC(hWnd,hDC))					
	{
		MessageBox(NULL,"Release Device Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);
		hDC=NULL;							
	}

	if (hWnd &amp;&amp; !DestroyWindow(hWnd))					
	{
		MessageBox(NULL,"Could Not Release hWnd.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);
		hWnd=NULL;							
	}

	if (!UnregisterClass("OpenGL",hInstance))				
	{
		MessageBox(NULL,"Could Not Unregister Class.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);
		hInstance=NULL;							
	}

	KillFont();								<font color="#ffffaa">// 删除创建的字体</font>
}
</pre>
</font><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/tl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/tc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/tr.png" height="28" width="28"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td background="Tutorial_21_files/l.png"><img src="Tutorial_21_files/l.png"></td>
    <td valign="top" width="100%"> <p>函数CreateGLWindow() and WndProc() 没有变化。</p>
      <p>游戏控制在WinMain中完成的</p></td>
    <td background="Tutorial_21_files/r.png"><img src="Tutorial_21_files/r.png"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/bl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/bc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/br.png" height="28" width="28"></td></tr></tbody></table><font color="#aaffaa" size="3">
<pre>int WINAPI WinMain(	HINSTANCE	hInstance,				
			HINSTANCE	hPrevInstance,				
			LPSTR		lpCmdLine,				
			int		nCmdShow)				
{
	MSG	msg;								
	BOOL	done=FALSE;							

	
	if (MessageBox(NULL,"Would You Like To Run In Fullscreen Mode?", "Start FullScreen?",MB_YESNO|MB_ICONQUESTION)==IDNO)
	{
		fullscreen=FALSE;						
	}
</pre>
</font><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/tl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/tc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/tr.png" height="28" width="28"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td background="Tutorial_21_files/l.png"><img src="Tutorial_21_files/l.png"></td>
    <td valign="top" width="100%"> 在创建完OpenGL窗口后,我们添加如下的代码,它用来创建玩家和敌人,并初始化时间计时器</td>
    <td background="Tutorial_21_files/r.png"><img src="Tutorial_21_files/r.png"></td></tr></tbody></table><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/bl.png" height="28" width="28"></td><td width="100%"><img src="Tutorial_21_files/bc.png" height="28" width="100%"></td><td><img src="Tutorial_21_files/br.png" height="28" width="28"></td></tr></tbody></table><font color="#aaffaa" size="3">
<pre>	if (!CreateGLWindow("NeHe's Line Tutorial",640,480,16,fullscreen))	
	{
		return 0;							
	}

	ResetObjects();								<font color="#ffffaa">// 重置玩家和敌人</font>
	TimerInit();								<font color="#ffffaa">// 初始化时间计时器</font>

	while(!done)								
	{
		if (PeekMessage(&amp;msg,NULL,0,0,PM_REMOVE))			
		{
			if (msg.message==WM_QUIT)				
			{
				done=TRUE;					
			}
			else							
			{
				TranslateMessage(&amp;msg);				
				DispatchMessage(&amp;msg);				
			}
		}
		else								
		{
</pre>
</font><table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td><img src="Tutorial_21_files/tl.png" height="28" width="28"></td><td width="100%"><img src="T

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -