示例#1
0
        /// <summary>
        /// Allows the game to run logic such as updating the world,
        /// checking for collisions, gathering input, and playing audio.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            if (sProgrammStatus == eProgrammStatus.Anleitung_anzeigen)
            {
                tastatur.syncTastaturEingabeZeile();
                if (tastatur.fertig())
                {
                    sProgrammStatus = eProgrammStatus.Dateinamen_einlesen;
                    tastatur.resetEingabe();
                }
            }


            if (sProgrammStatus == eProgrammStatus.Dateinamen_einlesen ||
                sProgrammStatus == eProgrammStatus.Dateinamen_einlesen_falsch)
            {
                tastatur.syncTastaturEingabeZeile();
            }


            if (sProgrammStatus == eProgrammStatus.Dauerschleife)
            {
                // Mausklick + Bewegung: Rotiert.
                mState = Mouse.GetState();
                yRot  -= altMState.X - mState.X;


                // Mausrad-Zoom
                int dif = altMState.ScrollWheelValue - mState.ScrollWheelValue;
                if (dif != 0)
                {
                    zoomfaktor *= (float)Math.Pow(0.5, 120f / dif);
                }
                //Window.Title = Convert.ToString(szeneSphereGLOB.Center)+"  //  "+Convert.ToString(szeneSphereGLOB.Radius) ;
                //"zoomf = " + Convert.ToString(((float)zoomfaktor));


                altMState = mState;
            }

            base.Update(gameTime);
        }
示例#2
0
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            if (sProgrammStatus == eProgrammStatus.Anleitung_anzeigen)
            {
                // SaveState ist wichtig, damit es nicht das 3D-Rendern zerfickt.
                spriteBatch.Begin(SpriteBlendMode.None, SpriteSortMode.Immediate, SaveStateMode.SaveState);
                spriteBatch.Draw(Hinweisbildschirm, new Rectangle(0, 0, 800, 600), Color.White);
                spriteBatch.End();
            }



            if (sProgrammStatus == eProgrammStatus.Dateinamen_einlesen ||
                sProgrammStatus == eProgrammStatus.Dateinamen_einlesen_falsch)
            {
                if (tastatur.fertig())
                {
                    // Dateinamen prüfen
                    if (File.Exists(".\\..\\Data\\" + tastatur.getEingabe() + ".xnb"))
                    {
                        LadeModell(tastatur.getEingabe());
                        SetupRenderer();
                        //Window.Title = Convert.ToString(modOffset);
                        sProgrammStatus = eProgrammStatus.Dauerschleife;
                    }
                    else
                    {
                        sProgrammStatus = eProgrammStatus.Dateinamen_einlesen_falsch;
                        tastatur.resetEingabe();
                    }
                }
                else
                {
                    if (sProgrammStatus == eProgrammStatus.Dateinamen_einlesen)
                    {
                        GraphicsDevice.Clear(Color.LightBlue);
                    }
                    else
                    {
                        GraphicsDevice.Clear(Color.Red);
                    }

                    spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.SaveState);
                    spriteBatch.DrawString(eingabeFont, "Dateinamen (ohne '.xnb') eingeben:", new Vector2(0, 0), Color.Black);
                    spriteBatch.DrawString(eingabeFont, ">" + tastatur.getEingabe(), new Vector2(0, 26), Color.Black);
                    spriteBatch.End();
                    //Window.Title = Convert.ToString(resetCount);
                }
            }



            if (sProgrammStatus == eProgrammStatus.Dauerschleife)
            {
                GraphicsDevice.Clear(Color.White);
                SetupRenderer();
                DrawModel(geladenesMod.isKw);
            }



            base.Draw(gameTime);
        }
示例#3
0
		/// <summary>
		/// This is called when the game should draw itself.
		/// </summary>
		/// <param name="gameTime">Provides a snapshot of timing values.</param>
		protected override void Draw(GameTime gameTime)
		{
			


			if (sProgrammStatus == eProgrammStatus.Anleitung_anzeigen)
			{
				// SaveState ist wichtig, damit es nicht das 3D-Rendern zerfickt.				
				spriteBatch.Begin(SpriteBlendMode.None, SpriteSortMode.Immediate, SaveStateMode.SaveState);
				spriteBatch.Draw(Hinweisbildschirm, new Rectangle(0, 0, 800, 600), Color.White);
				spriteBatch.End();
			}




			if (sProgrammStatus == eProgrammStatus.Dateinamen_einlesen
				|| sProgrammStatus == eProgrammStatus.Dateinamen_einlesen_falsch)
			{

				if (tastatur.fertig())
				{
					// Dateinamen prüfen
					if (File.Exists(".\\..\\Data\\" + tastatur.getEingabe() + ".xnb")) {
						LadeModell(tastatur.getEingabe());
						SetupRenderer();
						//Window.Title = Convert.ToString(modOffset);
						sProgrammStatus = eProgrammStatus.Dauerschleife;}
					else
					{
						sProgrammStatus = eProgrammStatus.Dateinamen_einlesen_falsch;
						tastatur.resetEingabe();
					}

				}
				else
				{
					if (sProgrammStatus == eProgrammStatus.Dateinamen_einlesen)
						GraphicsDevice.Clear(Color.LightBlue);
					else GraphicsDevice.Clear(Color.Red);
					
					spriteBatch.Begin(SpriteBlendMode.AlphaBlend, SpriteSortMode.Immediate, SaveStateMode.SaveState);
					spriteBatch.DrawString(eingabeFont, "Dateinamen (ohne '.xnb') eingeben:", new Vector2(0, 0), Color.Black);
					spriteBatch.DrawString(eingabeFont, ">" + tastatur.getEingabe(), new Vector2(0, 26), Color.Black);
					spriteBatch.End();
					//Window.Title = Convert.ToString(resetCount);
				}
			}



			if (sProgrammStatus == eProgrammStatus.Dauerschleife)
			{
				GraphicsDevice.Clear(Color.White);
				SetupRenderer();
				DrawModel(geladenesMod.isKw);


			}




			base.Draw(gameTime);
		}
示例#4
0
		/// <summary>
		/// Allows the game to run logic such as updating the world,
		/// checking for collisions, gathering input, and playing audio.
		/// </summary>
		/// <param name="gameTime">Provides a snapshot of timing values.</param>
		protected override void Update(GameTime gameTime)
		{

			if (sProgrammStatus == eProgrammStatus.Anleitung_anzeigen)
			{
				tastatur.syncTastaturEingabeZeile();
				if (tastatur.fertig())
				{
					sProgrammStatus = eProgrammStatus.Dateinamen_einlesen;
					tastatur.resetEingabe(); 
				}
			}


			if (sProgrammStatus==eProgrammStatus.Dateinamen_einlesen
				|| sProgrammStatus==eProgrammStatus.Dateinamen_einlesen_falsch)
				tastatur.syncTastaturEingabeZeile();


			if (sProgrammStatus == eProgrammStatus.Dauerschleife)
			{

				// Mausklick + Bewegung: Rotiert.
				mState = Mouse.GetState();
				yRot -= altMState.X - mState.X;


				// Mausrad-Zoom
				int dif = altMState.ScrollWheelValue - mState.ScrollWheelValue;
				if (dif != 0)
					zoomfaktor *= (float) Math.Pow(0.5, 120f / dif);
				//Window.Title = Convert.ToString(szeneSphereGLOB.Center)+"  //  "+Convert.ToString(szeneSphereGLOB.Radius) ;
					//"zoomf = " + Convert.ToString(((float)zoomfaktor));


				altMState = mState;

			}

			base.Update(gameTime);
		}