АКЦИЯ от www.R3.ru - хостинг сайтов 72р. в месяц. Домен в подарок! |
Delphi.dax.ru | ||
Сайт
Новости
О сайте Форум Уроки
DelphiX
Спрайты Анимация 3D max |
DelphiX -> Урок 2. Спрайты Предыдущий урок |Следующий урок
В этом уроке я расскажу Вам как создавать своих персонажей (еще не анимированных), иными словами спрайты.
И так, начнём... 1. Создаём новый проект (File -> New -> Application), находим закладку DelphiX с ниже изображенными компонентами и размещаем их на форме TDXDraw TDXImageList TDXInput TDXSpriteEngine TDXTimer. 2. Находим в Unit1 в type строку: TForm1 = class(TForm)
И заменяем её на: TForm1 = class(TDXForm) В Properties DXImageList1 в свойство DXDraw пишем DXDraw1 В Properties DXSpriteEngine1 в свойство DXDraw пишем DXDraw1 В Properties DXTimer1 изменяем свойство ActiveOnly (по умолчанию true) на false и Interval (по умолчанию 1000) на 1 3. Далее создаём процедуру OnTimer (DXTimer1 -> Events -> OnTimer) и пишем в него такой код:
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
Думаю объянять не стоит, скажу только, что отвечает за прорисовку всех спрайтовbegin if not DxDraw1.CanDraw then exit; // Если нет DirectX выходим DXInput1.Update; // Обновление DXSpriteEngine1.Move(LagCount); // перемещает спрайт DXSpriteEngine1.Dead; // Уничтожает... DXDraw1.Surface.Fill(0); // Отражает изменения (спрайты и т.д.) DXSpriteEngine1.Draw; // Рисует... DXDraw1.Flip; // Посылает содержимое Surface экрану end; 4. Теперь создаём персонажа. Я нарисовал своего Выможете скачать его (Правая кнопка мыши на изображение -> Сохранить как...) или сделать своего Теперь надо загрузить нашего персонажа в DXImageList1 В Properties DXImageList1 ищем свойство Items и открываем его (жмём квадратик с 3-я точками) За тем выбираем Add New (Ins). Появился новый Item с названием 0 - TPictureCollectionItem Ему нужно задать имя (Name). Давайте будет Colobok. Далее выбираем свойство Picture (жмём квадратик с 3-я точками) и загружаем наше изображение. Теперь необходимо создать класс нашего персонажа. После слова implementation и {$R *.dfm} пишем:
type
Таким образом описываются классы.// Класс нашего колобка... TColobok = class (TImageSprite) end; TColobok - имя (название) класса. Почему TImageSprite? Потому, что мы имеет дело с обычной картинкой. 5. И теперь осталось самое главное - отобразить на форме нашего колобка. Создаём процедуру OnCreate (Form1 -> Events -> OnCreate) и пешем код:
procedure TForm1.FormCreate(Sender: TObject);
Тут всё понятно, объяснять не стоит.begin with TColobok.Create(DXSpriteEngine1.Engine) do // Связываем последующий код с TColobok begin image:=form1.DXImageList1.Items.Find('Colobok'); // Выборка изображения для спрайта спрайта x:=40; // X координата TColobok y:=40; // Y координата TColobok width:=image.Width; // Ширина равна ширине спрайта height:=image.Height; // Высота равна высоте спрайта end; end; Ну в общем всё! Компилируем проект и смотрим! Скачать исходный код урока 2 Предыдущий урок |Следующий урок |
|
Delphi.dax.ru © 2009 Delphi.dax.ru |