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

namespace Background

{

public class Game1 : Microsoft.Xna.Framework.Game

{

GraphicsDeviceManager graphics; ContentManager content; KeyboardState keyboardState; SpriteBatch spriteBatch; Sprite sprite;

private Texture2D background1; private Texture2D background2;

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

{

graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1024;

106 Спрайтовая анимация

Проект Background 107

graphics.PreferredBackBufferHeight = 7 68; graphics.PreferMultiSampling = false; graphics.IsFullScreen = true; sprite = new Sprite(12, 10);

}

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

protected override void Initialize()

{

sprite.spritePosition = new Vector2(300, 200);

base.Initialize();

}

/// <summary>

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

protected override void LoadGraphicsContent(bool loadAllContent)

{

if (loadAllContent)

{

spriteBatch = new SpriteBatch(graphics.GraphicsDevice); sprite.Load(content, "Content\\Textures\\sprite");

background1 = content.Load<Texture2D>("Content\\Textures\\background1"); background2 = content.Load<Texture2D>("Content\\Textures\\background2");

} }

/// <summary>

/// Освобождаем ресурсы

/// <summary>

protected override void UnloadGraphicsContent(bool unloadAllContent)

{

if (unloadAllContent == true)

{

content.Unload();

}

}

/// <summary>

/// Обновляем состояние игры /// <summary>

protected override void Update(GameTime gameTime)

{

keyboardState = Keyboard.GetState(); if (keyboardState.IsKeyDown(Keys.Escape)) this.Exit();

double elapsed = gameTime.ElapsedGameTime.TotalSeconds; sprite.UpdateFrame(elapsed);

base.Update(gameTime);

}

/// <summary>

/// Рисуем на экране

/// <summary>

protected override void Draw(GameTime gameTime)

{

graphics.GraphicsDevice.Clear(Color.CornflowerBlue); spriteBatch.Begin(SpriteBlendMode.AlphaBlend);

spriteBatch.Draw(background1, new Vector2(0, 0), Color.White);

sprite.DrawAnimationSprite(spriteBatch);

spriteBatch.Draw(background2, new Vector2(0, 0), Color.White);

spriteBatch.End();

base.Draw(gameTime);

} }

}

В исходном коде класса Game1 в области глобальных переменных происходит объявление двух объектов background1 и background2. Эти объекты представляют в игре фоновое изображение.

private Texture2D background1; private Texture2D background2;

Затем в методе LoadGraphicsContent() происходит загрузка фона в игру из файла backgroundl.png и backgroundl.png. В данном случае механизм загрузки фона идентичен механизму загрузки простого спрайта без создания дополнительного класса Sprite. Этот механизм мы изучали в начале главы 6.


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

Горяченькое

Друзья

Hosted by uCoz