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

{

sprite[i].UpdateFrame(elapsed);

}

MoveSprite(); base.Update(gameTime);

}

Для обновления анимационной последовательности методом UpdateFrame() используется цикл. Точно такой же цикл мы применяем и в методе Draw() для рисования спрайтов на экране. Полный исходный код класса Game1 приведен в листинге 8.2, а полный код проекта находится на компакт-диске в папке Code\Chapter8\MoveSpriteArray.

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

/// <summary>

/// Листинг 8.2

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

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

/// Проект: MoveSpriteArray /// Класс: 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 MoveSpriteArray {

public class Gamel : Microsoft.Xna.Framework.Game

{

GraphicsDeviceManager graphics;

Проект MoveSpriteArray 165

ContentManager content; SpriteBatch spriteBatch; Sprite[] sprite = new Sprite[5];

private Texture2D background; Random rand = new Random(); int screenWidth, screenHeight; int j = 0;

/// <summary> /// Конструктор /// <summary> public Game1() {

graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1280; graphics.PreferredBackBufferHeight = 720; screenWidth = graphics.PreferredBackBufferWidth; screenHeight = graphics.PreferredBackBufferHeight; for (int i = 0; sprite.Length > i; {

sprite[i] = new Sprite(12, 10);

}

}

/// <summary> /// Инициализация /// <summary

protected override void Initialize()

{

j = 0;

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

{

sprite[i].spritePosition = new Vector2(rand.Next(10, screenWidth - 150), j = j - 300);

}

base.Initialize();

}

/// <summary>

/// Загрузка компонентов игры /// <summary>

protected override void LoadGraphicsContent(bool loadAllContent)

{

if (loadAllContent)

{

spriteBatch = new SpriteBatch(graphics.GraphicsDevice);

background = content.Load<Texture2D>(«Content\\Textures\\background»); sprite[0].Load(content, «Content\\Textures\\0»); sprite[1].Load(content, «Content\\Textures\\1»); sprite[2].Load(content, «Content\\Textures\\2»); sprite[3].Load(content, «Content\\Textures\\3»); sprite[4].Load(content, «Content\\Textures\\4»);


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

Горяченькое

Друзья

Hosted by uCoz