Приставки
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
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

В листинге 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));


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

Горяченькое

Друзья

Hosted by uCoz