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

6.3.2. Класс Game1 проекта DrawSpriteClass

Исходный код класса Game1 представлен в листинге 6.3.

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

/// <summary>

/// Листинг 6.3

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

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

/// Проект: DrawSpriteClass

Проект DrawSpriteClass 135

/// Класс: Gamel

/// Создаем класс Sprite

/// <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 DrawSpriteClass {

public class Gamel : Microsoft.Xna.Framework.Game

{

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

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

{

graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1280; graphics.PreferredBackBufferHeight = 720; sprite = new Sprite();

}

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

protected override void Initialize()

{

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

base.Initialize();

}

/// <summary>

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

protected override void LoadGraphicsContent(bool loadAllContent)

{

if (loadAllContent)

{

136 Работа с двухмерной графикой

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

}

}

/// <summary>

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

/// <summary>

protected override void UnloadGraphicsContent(bool unloadAllContent)

{ }

/// <summary>

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

protected override void Update(GameTime gameTime)

{ }

/// <summary>

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

/// <summary>

protected override void Draw(GameTime gameTime)

{

graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

spriteBatch.Begin(SpriteBlendMode.AlphaBlend); sprite.DrawSprite(spriteBatch);

spriteBatch.End();

base.Draw(gameTime);

} }

}

Заметьте, что код из предыдущего примера по загрузке спрайта в классе Gamel был удален, потому что загрузка изображения теперь происходит через класс Sprite. В глобальных переменных класса Gamel добавляется объявление нового объекта sprite класса Sprite.


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

Горяченькое

Друзья

Hosted by uCoz