• Авторизация


Прилепляем GameComponent. 30-06-2008 13:37 к комментариям - к полной версии - понравилось!




Компоненты способ обеспечить модульное добавление функционала.
Класс содержит те же методы, что и Game:
public override void Initialize()
public override void Update(GameTime gameTime)
public override void Draw(GameTime gameTime) //DrawableGameComponent
protected override void LoadContent()
protected override void UnloadContent()

Правый щелчёк мышью на проекте в Solution Explorer->add->new item->GameComponent.
Получаем cs файл с компонентом унаследованным от Microsoft.Xna.Framework.GameComponent.

Если компонент должен реализовывать метод Draw, то наследуем его от Microsoft.Xna.Framework.DrawableGameComponent.Для реализации графики нам понадобится сервис возвращающий GraphicsDevice :
IGraphicsDeviceService, добавим экземпляр в наш копонент:

IGraphicsDeviceService graphicsDeviceService;

Теперь в конструктор компонента

public GameComponent1(Game game)
: base(game)
{
}

добавляем

graphicsDeviceService = (IGraphicsDeviceService)game.Services.GetService(typeof(IGraphicsDeviceService));

if (graphicsDeviceService == null)
throw new InvalidOperationException("No graphics device service.");

Реализуем методы в компоненте например: Draw...


Осталось создать экземпляр нашего компонента:
В классе Game:

GameComponent1 MyComponent;

В конструкторе:

MyComponent = new GameComponent1(this);
Components.Add(MyComponent);

Всё при компиляции программы можно увидеть результат работы методов компонента.

Эх коряво написал но ничо дальше опусы получше будут, первый блин комом..
вверх^ к полной версии понравилось! в evernote
Комментарии (7):
Angel_Of_Fate 30-06-2008-14:34 удалить
ооо...ты таки взялся очерк написать ) молодец
Imalina 30-06-2008-16:57 удалить
Угу, заметки скорее, а не очерк....Попутно буду сдесь что-либо описывать...
-killy- 01-07-2008-01:15 удалить
Почитал пра эта дейсвительно проста но всиоравно смерть xящегу а под комп мона 3д хентай замутить
Imalina 01-07-2008-01:16 удалить
под хящег не обязательно писать
-killy- 01-07-2008-01:24 удалить
Миня не радует сам факт возможности
Imalina 01-07-2008-01:27 удалить
Исходное сообщение killy_v2051 Миня не радует сам факт возможности
Ты не логичен, в данном вопросе, я думаю ты по другому будешь судить, когда депресняк тя отпустит...
-killy- 01-07-2008-01:37 удалить
Сча я ваще непонятно в чём и непонятно где...


Комментарии (7): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Прилепляем GameComponent. | Imalina - Personal Apocalypse | Лента друзей Imalina / Полная версия Добавить в друзья Страницы: раньше»