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

{

break;

}

case CurentGameState.AboutScreen:

{

break;

}

case CurentGameState.GameScreen:

{

graphics.GraphicsDevice.RenderState.DepthBufferEnable = true;

296 Загружаем в игру модель

DrawModel(model);

break;

}

case CurentGameState.GameOverScreen:

{

break;

}

case CurentGameState.VictoryScreen:

{

break;

}

}

base.Draw(gameTime);

}

/// <summary> /// Рисуем модель /// <summary>

private void DrawModel(Model m) {

Matrix[] transforms = new Matrix[m.Bones.Count]; m.CopyAbsoluteBoneTransformsTo(transforms);

world = Matrix.CreateTranslation(positionModel);

view = Matrix.CreateLookAt(new Vector3(0.0f, 0.0f, 150.0f), Vector3.Zero, Vector3.Up);

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

foreach (ModelMesh mesh in m.Meshes)

{

foreach (BasicEffect effect in mesh.Effects)

{

effect.EnableDefaultLighting();

effect.World = transformsfmesh.ParentBone.Index] * world; effect.View = view; effect.Projection = proj;

}

mesh.Draw();

}

}

} }

17.2. Класс Mode/Class

В шестой главе, когда мы только начинали работать с двухмерной графикой, был создан один общий класс для работы со спрайтами. В этой главе мы также создадим такой класс, но уже для представления трехмерных моделей. Для реализации

Класс ModelClass 297

этой задачи формируем новый проект LoadingModelClass на базе предыдущего примера, а в проект добавляем дополнительный класс ModelClass (См. листинг 17.2).

//=========================================================================

/// <summary>

/// Листинге 17.2

/// Исходный код к книге:

/// «Программирование игр для приставки Xbox 360 в XNA Game Studio Express» /// Автор книги: Горнаков С. Г. /// Глава 17

/// Проект: LoadingModelClass /// Класс: ModelClass

/// Загружаем в игру модель через класс /// <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 LoadingModelClass

{

class ModelClass

{

public Model model; public Vector3 position;

public ModelClass()

{

position = new Vector3(0, 0, 0);

}

/// <summary>

/// Загрузка модели в игру /// <summary>

public void Load(ContentManager content, String stringModel)

{

model = content.Load<Model>(stringModel);


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

Горяченькое

Друзья

Hosted by uCoz