Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

}

}

}

/// <summary>

/// Освобождаем ресурсы

/// <summary>

protected override void UnloadGraphicsContent(bool unloadAllContent)

{

if (unloadAllContent == true)

{

content.Unload();

}

}

/// <summary>

/// Обновляем состояние игры /// <summary>

Случайный выбор позиции на экране 309

protected override void Update(GameTime gameTime) {

switch (gameState)

{

case CurentGameState.SplashScreen:

{

break;

}

case CurentGameState.MenuScreen:

{

break;

}

case CurentGameState.HelpScreen:

{

break;

}

case CurentGameState.AboutScreen:

{

break;

}

case CurentGameState.GameScreen:

{

if(GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit();

MoveBall(); GamePadClick();

break;

}

case CurentGameState.GameOverScreen:

{

break;

}

case CurentGameState.VictoryScreen:

{

break;

}

}

base.Update(gameTime);

310 Движение моделей в пространстве

}

/// <summary>

/// Рисуем на экране

/// <summary>

protected override void Draw(GameTime gameTime)

{

graphics.GraphicsDevice.Clear(new Color(159, 147, 207)); switch (gameState)

{

case CurentGameState.SplashScreen:

{

break;

}

case CurentGameState.MenuScreen:

{

break;

}

case CurentGameState.AboutScreen:

{

break;

}

case CurentGameState.GameScreen:

{

graphics.GraphicsDevice.RenderState.DepthBufferEnable = true; view = Matrix.CreateLookAt(new Vector3(0.0f, 0.0f, 150.0f), Vector3.Zero, Vector3.Up);

proj = Matrix.CreatePerspectiveFieldOfView(FOV, aspectRatio, nearClip, farClip);

for (int i = 0; ball.Length > i; i++)

{

world = Matrix.CreateTranslation(ball[i].position); ball[i].DrawModel(world, view, proj);

}

break;

}

case CurentGameState.GameOverScreen:

{

break;

}

case CurentGameState.VictoryScreen:

{

Случайный выбор позиции на экране 3]]

break;

}

}

base.Draw(gameTime);

}

/// <summary> /// Движение мячей /// <summary> void MoveBall() {

for (int i = 0; ball.Length > i;

{

ball[i].position.Y -= ball[i].speed;

}

}

/// <summary> /// Прицел /// <summary> void GamePadClick()

{

GamePadState currentState = GamePad.GetState(Playerlndex.One); for (int i = 0; ball.Length > i;

{

if (currentState.Triggers.Right > 0.5f)

{

ball[i].position.X = rand.Next(-(rand.Next(0, 60)), rand.Next(0, 60)); ball[i].position.Y = rand.Next(50, 80); ball[i].position.Z = -(rand.Next(20, 100));

} }

}

} }

Глава 19

Стреляем по целям

Наша задача на данном этапе заключается в добавлении в игру прицела и создании механизма обработки попаданий в цель. Как обычно, продолжаем усовершенствовать пример из предыдущей главы, и наш новый проект носит название CursorBall. На компакт-диске этот проект находится в папке Code\Chapter19. Открываем проект CursorBall и приступаем к изучению исходного кода примера.


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz