亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ownship.cs

?? Introduction to 3d game engine design一書的源代碼!
?? CS
字號:
using System;
using System.Diagnostics;
using Microsoft.DirectX;
using GameEngine;
using GameAI;
using VehicleDynamics;
using Microsoft.DirectX.DirectInput;

namespace SampleGame
{
	/// <summary>
	/// Summary description for Ownship.
	/// </summary>
	public class Ownship : Car
	{
		#region Attributes
		private float ownship_speed = 0.0f;
		private float wheel = 0.0f;
		private float gas = 0.0f;
		private Listener ears = null;
		private SoundEffect engine_sound = null;
		private SoundEffect thump = null;
		private SoundEffect crash = null;
		private bool first_pass = true;
		private bool m_bUsingJoystick = false;
		private bool m_bUsingMouse = false;
		private bool m_bUsingKeyboard = false;
		#endregion

		#region Properties
		public bool UseJoystick { set { m_bUsingJoystick = value; } }
		public bool UseMouse { set { m_bUsingMouse = value; } }
		public bool UseKeyboard { set { m_bUsingKeyboard = value; } }
		#endregion

		public Ownship(System.Windows.Forms.Form form, string name, string meshFile, Vector3 offset, Attitude adjust ) 
			: base (name, meshFile, offset, adjust)
		{
			ears = new Listener(form, this);
			engine_sound = new SoundEffect(@"..\..\Resources\car_idle.wav");
			engine_sound.Looping = true;
			engine_sound.MinFreq = 9700;
			engine_sound.MaxFreq = 13500;
			thump = new SoundEffect(@"..\..\Resources\thump.wav");
			crash = new SoundEffect(@"..\..\Resources\crash.wav");
		}
		public override void Update( float DeltaT )
		{
			float delta_x_velocity;
			float delta_y_velocity;
			float delta_z_velocity;
			float delta_x_position;
			float delta_y_position;
			float delta_z_position;

			if ( first_pass )
			{
				first_pass = false;

				engine_sound.PlaySound();
			}

			ears.Update();

//			System.Diagnostics.Debug.WriteLine("ownship update");
//			North = North + ownship_speed * (float)Math.Cos(Heading) * DeltaT;
//			East  = East + ownship_speed * (float)Math.Sin(Heading) * DeltaT;

			if ( m_bUsingJoystick )
			{
				Steering = (CGameEngine.Inputs.GetJoystickNormalX()-1.0f);
				gas = (1.0f - (float)CGameEngine.Inputs.GetJoystickNormalY());
			}
			else if ( m_bUsingMouse )
			{
				try
				{
					gas += (float)CGameEngine.Inputs.GetMouseZ() * 0.1f;
					if ( CGameEngine.Inputs.IsKeyPressed(Key.DownArrow) )
					{
						gas -= 0.1f;
					}
					else if ( CGameEngine.Inputs.IsKeyPressed(Key.UpArrow) )
					{
						gas += 0.1f;
					}
					if ( gas > 1.0 )
					{
						gas = 1.0f;
					}
					else if ( gas < -1.0f )
					{
						gas = -1.0f;
					}
					float x = (float)CGameEngine.Inputs.GetMouseX();
					wheel += (x * .10f)*DeltaT;
					if ( wheel > 1.0 )
					{
						wheel = 1.0f;
					}
					else if ( wheel < -1.0f )
					{
						wheel = -1.0f;
					}

					Steering = wheel;
				}
				catch ( Exception e )
				{
					GameEngine.Console.AddLine("Exception");
					GameEngine.Console.AddLine(e.Message);
				}
			}
			else if ( m_bUsingKeyboard )
			{
				if ( CGameEngine.Inputs.IsKeyPressed(Key.LeftArrow) )
				{
					Heading = Heading - .50f * DeltaT;
				}
				else if ( CGameEngine.Inputs.IsKeyPressed(Key.RightArrow) )
				{
					Heading = Heading + .50f * DeltaT;
				}
				if ( CGameEngine.Inputs.IsKeyPressed(Key.DownArrow) )
				{
					ownship_speed -= 0.1f;
				}
				else if ( CGameEngine.Inputs.IsKeyPressed(Key.UpArrow) )
				{
					ownship_speed += 0.1f;
				}
			}

			if ( gas >= 0.0f ) 
			{
				Gas = gas;
				Brake = 0.0f;
			}
			if ( gas <= 0.0f )
			{
				Gas = 0.0f;
				Brake = -gas;
			}
//			GameEngine.Console.AddLine("Steering " + wheel + " gas " + gas );
			engine_sound.Frequency = Gas;
			engine_sound.Update();

			foreach ( Object3D test_obj in CGameApplication.Engine.Objects )
			{
				if ( test_obj !=  this )
				{
					if ( Collide(test_obj) )
					{
						delta_x_velocity = test_obj.VelocityX - VelocityX;
						delta_y_velocity = test_obj.VelocityY - VelocityY;
						delta_z_velocity = test_obj.VelocityZ - VelocityZ;
						delta_x_position= test_obj.Position.X;
						delta_y_position= test_obj.Position.X;
						delta_z_position= test_obj.Position.X;
						//						GameEngine.Console.AddLine( Name + " collided with " + test_obj.Name);
						if ( test_obj.Name.Substring(0,3) == "red"  ||
							test_obj.Name.Substring(0,4) == "blue" ||
							test_obj.Name.Substring(0,6) == "cactus" )
						{
							thump.PlaySound();
							Dynamics.MinorCollision();
						}
						else
						{
							crash.PlaySound();
							Dynamics.MajorCollision(delta_x_velocity, delta_y_velocity, delta_z_velocity, delta_x_position, delta_y_position, delta_z_position);
						}
					}
				}
			}
			foreach ( Object3D test_obj in GameEngine.BillBoard.Objects )
			{
				if ( test_obj !=  this )
				{
					if ( Collide(test_obj) )
					{
						delta_x_velocity = test_obj.VelocityX - VelocityX;
						delta_y_velocity = test_obj.VelocityY - VelocityY;
						delta_z_velocity = test_obj.VelocityZ - VelocityZ;
						delta_x_position= test_obj.Position.X;
						delta_y_position= test_obj.Position.X;
						delta_z_position= test_obj.Position.X;
						//						GameEngine.Console.AddLine( Name + " collided with " + test_obj.Name);
						if ( test_obj.Name.Substring(0,3) == "red"  ||
							 test_obj.Name.Substring(0,4) == "blue" ||
							 test_obj.Name.Substring(0,6) == "cactus" )
						{
							thump.PlaySound();
							Dynamics.MinorCollision();
						}
						else
						{
							crash.PlaySound();
							Dynamics.MajorCollision(delta_x_velocity, delta_y_velocity, delta_z_velocity, delta_x_position, delta_y_position, delta_z_position);
						}
					}
				}
			}
			base.Update( DeltaT );
//			Height = CGameEngine.Ground.HeightOfTerrain(Position) + Offset.Y;
			Height = (float)Dynamics.Height;
//			GameEngine.Console.AddLine( " height " + Height);
//			Attitude = CGameEngine.Ground.GetSlope(Position, Heading );
		}

		public override void Dispose()
		{
			Debug.WriteLine(" disposing of " + Name + " in Ownship");
			base.Dispose();
		}

	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色2019综合网| 国内一区二区视频| 亚洲码国产岛国毛片在线| 久久久一区二区| 久久综合狠狠综合久久综合88| 91精品欧美综合在线观看最新 | 精彩视频一区二区| 天天操天天色综合| 日日摸夜夜添夜夜添亚洲女人| 亚洲最新在线观看| 午夜亚洲福利老司机| 午夜伦欧美伦电影理论片| 日本午夜一区二区| 国产在线日韩欧美| 粉嫩av一区二区三区在线播放| 99精品视频在线观看免费| 欧美日韩中文一区| 日韩视频在线一区二区| 久久久久久99精品| 亚洲免费观看高清完整版在线观看 | 国产99久久久国产精品免费看| 国产精品综合网| 91同城在线观看| 在线亚洲一区二区| 日韩精品中文字幕一区二区三区| 久久久美女毛片| 一区二区三区在线视频观看58| 午夜精品久久久久久久久久久 | 久久精品一区二区三区不卡 | 亚洲国产裸拍裸体视频在线观看乱了 | 国产精品久久三| 一级日本不卡的影视| 免费成人av资源网| av在线这里只有精品| 欧美日韩电影在线| 国产精品热久久久久夜色精品三区 | 欧美激情一区二区三区全黄| 中文字幕亚洲电影| 毛片不卡一区二区| 色综合久久中文综合久久牛| 日韩欧美色电影| 亚洲视频你懂的| 国产老妇另类xxxxx| 欧美色涩在线第一页| 中文字幕乱码日本亚洲一区二区| 日韩精品一级二级 | 国产一区欧美一区| 91首页免费视频| 久久精品视频在线看| 亚洲国产视频a| 白白色亚洲国产精品| 欧美mv日韩mv国产网站| 亚洲妇熟xx妇色黄| 97成人超碰视| 欧美韩国日本一区| 国内精品自线一区二区三区视频| 欧洲另类一二三四区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 日韩一级大片在线| 夜夜嗨av一区二区三区中文字幕 | 亚洲国产aⅴ成人精品无吗| 国产精品自在在线| 欧美岛国在线观看| 日本 国产 欧美色综合| 欧美精品久久99久久在免费线| 国产精品乱码一区二三区小蝌蚪| 久久精品久久久精品美女| 欧美日韩久久久久久| 亚洲一区二区三区在线看| 成a人片亚洲日本久久| 国产日产精品一区| 懂色av一区二区在线播放| 欧美一卡二卡在线| 日本成人在线网站| 制服丝袜在线91| 精品亚洲欧美一区| 国产亚洲欧美日韩日本| 高清不卡在线观看| 国产农村妇女毛片精品久久麻豆| 欧美中文字幕不卡| 久久亚洲综合色一区二区三区 | 国产成人av电影在线观看| 久久久久久一级片| 国产电影精品久久禁18| 国产精品久久久久婷婷二区次| 粉嫩aⅴ一区二区三区四区五区| 久久精品欧美日韩精品| 国产乱码精品一品二品| 综合电影一区二区三区 | 日韩av不卡在线观看| 欧美一区二区三区色| 九色|91porny| 中文字幕中文字幕在线一区| 99精品视频一区| 亚洲一区二区五区| 制服丝袜激情欧洲亚洲| 国产在线麻豆精品观看| 欧美激情一区在线观看| 色综合婷婷久久| 日韩电影在线看| 26uuu国产一区二区三区| www.日本不卡| 偷拍日韩校园综合在线| 久久精子c满五个校花| 色婷婷精品大在线视频| 久久精品免费观看| 亚洲美女淫视频| 日韩久久精品一区| eeuss鲁一区二区三区| 调教+趴+乳夹+国产+精品| 精品国产百合女同互慰| 91免费版在线| 精品一区二区在线看| 亚洲精品免费在线| 精品国产第一区二区三区观看体验| 99视频一区二区三区| 美女视频黄免费的久久| 亚洲视频在线一区二区| 日韩亚洲欧美在线观看| 一本在线高清不卡dvd| 久久精品国产77777蜜臀| 一区二区三区国产精华| 久久久99精品免费观看| 91精品国产91综合久久蜜臀| 91色porny| 国产精品一区二区在线观看不卡| 亚洲超丰满肉感bbw| 国产精品国产三级国产普通话99 | 国产日韩欧美亚洲| 欧美另类变人与禽xxxxx| 99国内精品久久| 国产一区二区三区免费看| 亚洲午夜国产一区99re久久| 国产精品久久久久久久第一福利 | 制服丝袜亚洲精品中文字幕| zzijzzij亚洲日本少妇熟睡| 精久久久久久久久久久| 日本在线观看不卡视频| 亚洲永久精品国产| 樱花草国产18久久久久| 国产精品精品国产色婷婷| 国产婷婷色一区二区三区| 欧美成人a∨高清免费观看| 91精品国产综合久久香蕉的特点| 精品视频色一区| 欧美性色aⅴ视频一区日韩精品| www.日本不卡| 99久久婷婷国产| 99r精品视频| 色婷婷精品大视频在线蜜桃视频| 91性感美女视频| 一本一道久久a久久精品| 色欧美88888久久久久久影院| www.色精品| 色婷婷av一区二区三区大白胸| 91美女视频网站| 91官网在线观看| 欧美三级电影在线观看| 欧美性videosxxxxx| 制服丝袜一区二区三区| 精品国产区一区| 国产亚洲精品7777| 国产精品盗摄一区二区三区| 亚洲精品视频一区| 亚洲va韩国va欧美va精品| 日韩成人午夜精品| 国产自产2019最新不卡| 国产成人精品免费网站| 99精品视频在线免费观看| 欧美日韩成人在线| 精品日韩一区二区三区免费视频| 精品欧美一区二区在线观看| 久久久久国产精品人| 亚洲欧洲制服丝袜| 五月激情综合婷婷| 国产盗摄一区二区三区| 在线亚洲免费视频| 日韩欧美国产综合在线一区二区三区| 久久一留热品黄| 亚洲综合另类小说| 另类中文字幕网| 99riav久久精品riav| 欧美一区二区三区电影| 国产精品国产自产拍高清av | 精品国产91亚洲一区二区三区婷婷| 久久久亚洲高清| 亚洲成av人片www| 国产成人8x视频一区二区| 欧美午夜电影网| 国产亚洲精品中文字幕| 亚洲丶国产丶欧美一区二区三区| 麻豆免费精品视频| 91视视频在线观看入口直接观看www| 欧美精品在线观看一区二区| 中文无字幕一区二区三区| 日韩电影在线观看网站| 色综合天天综合网天天狠天天| 精品国产免费视频| 亚洲麻豆国产自偷在线| 国产成人亚洲精品青草天美|