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

switch (state) {

case 1:

spriteBatch.Draw(cursor, new Vector2(x / 2 - cursor.Width / 2, y / 2 — 115), Color.White); break;

case 2:

spriteBatch.Draw(cursor, new Vector2(x / 2 - cursor.Width / 2, y / 2 — 65), Color.White); break;

case 3:

spriteBatch.Draw(cursor, new Vector2(x / 2 - cursor.Width / 2, y / 2 — 15), Color.White); break;

case 4:

spriteBatch.Draw(cursor, new Vector2(x / 2 - cursor.Width / 2, y / 2 + 30), Color.White);

break; case 5:

spriteBatch.Draw(cursor, new Vector2(x / 2 - cursor.Width / 2, y / 2 + 80), Color.White); break; }

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

spriteBatch.Draw(screen, new Vector2(x / 2 - screen.Width / 2, y / 2 — screen.Height / 2), Color.White); for (int i = 0; hole.Length > i; {

spriteBatch.Draw(hole[i], position[i], Color.White);

}

spriteBatch.End();

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

proj = Matrix.CreatePerspectiveFieldOfView(FOV, aspectRatio, nearClip,

farClip);

angle += (float)(gameTime.ElapsedGameTime.TotalSeconds * 1.0f); rotationMatrixY = Matrix.CreateRotationY((float)angle); rotationMatrixZ = Matrix.CreateRotationZ((float)angle); for (int i = 0; ball.Length > i;

{

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

}

} } }

22.5. Смена игровых состояний в классе Gamel

Для смены игровых состояний в классе Game1 мы применяем структуру CurentGameState и структурную переменную gameState. До этого момента эта переменная нас «выкидывала» сразу в игровой процесс. Теперь пришла пора изменить ее значение, которое теперь будет запускать титульную заставку.

CurentGameState gameState = CurentGameState.SplashScreen;

С титульной заставки по нажатии клавиши Enter и смены значения переменной gameState с CurentGameState.SplashScreen на значение Curent-GameState.GameScree, в игре включится показ меню. В дальнейшем для смены состояний игры нам достаточно присвоить переменной gameState необходимое

348 Последние штрихи

Смена игровых состояний в классе Game1

349

значение, и мы выберем то или иное игровое состояние. Теперь поговорим о механизме смены состояний и показа заставок.

22.5.1. Создаем объекты для меню и заставок


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

Горяченькое

Друзья

Hosted by uCoz