Предыдущая Следующая
В листинге 18.1 представлен полный исходный код класса Gamel. Сам проект вы найдете на компакт-диске в папке Code\Chapter18\BallArray.
Случайный выбор позиции на экране 307
//=========================================================================
/// <summary>
/// Листинг 18.1
/// Исходный код к книге:
/// «Программирование игр для приставки Xbox 360 в XNA Game Studio Express»
/// Автор книги: Горнаков С. Г.
/// Глава 18
/// Проект: BallArray
/// Класс Game1
/// Загружаем в игру три мячика /// <summary>
//=========================================================================
#region Using Statements using System;
using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; #endregion
namespace BallArray {
public class Game1 : Microsoft.Xna.Framework.Game
{
private enum CurentGameState
{
}
CurentGameState gameState = CurentGameState.GameScreen;
GraphicsDeviceManager graphics;
ContentManager content;
int screenWidth, screenHeight;
Matrix view; Matrix proj; Matrix world;
static float aspectRatio;
static float FOV = MathHelper.PiOver4;
static float nearClip = 1.0f;
static float farClip = 1000.0f;
private ModelClass[] ball = new ModelClass[3];
Random rand = new Random();
/// <summary> /// Конструктор /// <summary> public Game1()
{
308 Движение моделей в пространстве
graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1280; graphics.PreferredBackBufferHeight = 720; screenWidth = graphics.PreferredBackBufferWidth; screenHeight = graphics.PreferredBackBufferHeight; for (int i = 0; ball.Length > i; {
ball[i] = new ModelClass();
}
}
/// <summary> /// Инициализация /// <summary>
protected override void Initialize() {
aspectRatio = (float)screenWidth / (float)screenHeight; base.Initialize();
}
/// <summary>
/// Загрузка компонентов игры /// <summary>
protected override void LoadGraphicsContent(bool loadAllContent)
{
if (loadAllContent)
{
ball[0].Load(content, «Content\\Models\\Soccerball»); ball[1].Load(content, «Content\\Models\\SoccerballGreen»); ball[2].Load(content, «Content\\Models\\SoccerballRed»); for (int i = 0; ball.Length > i; i++)
{
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)); Предыдущая Следующая
|