Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Вниз

Проблема с DelphiX   Найти похожие ветки 

 
Agent[007]   (2003-03-29 11:00) [0]

Почему картинка не выводится на экран?

procedure TForm1.DXDraw1Initialize(Sender: TObject);
var s:TImageSprite;
begin
s:=TImageSprite.Create(DXSpriteEngine1.Engine);
s.Image:=DXImageList1.Items.Find("p");
s.X:=40;
s.Y:=40;
s.Width:=s.Image.Width;
s.Height:=s.Image.Height;
end;


 
Программер Михаил   (2003-03-29 13:44) [1]

Рассуждаем: нужно нарисовать картинку а она почему-то не рисуется(установили все проперти)->значит должна быть процедура которой надо все это перерисовать на DxDraw1.Surface -> такая процедура есть! и имя ей - DXSpriteEngine.Draw -> может возникнуть другая проблема - все равно не рисуется -> значит НУЖНО установить свойство DxSpriteEngine1.DxDraw в DxDraw1
Вот правильный код:

procedure TForm1.DXDraw1Initialize(Sender: TObject);
var s:TImageSprite;
begin
DxSpriteEngine1.DxDraw:=DxDraw1;
s:=TImageSprite.Create(DXSpriteEngine1.Engine);
s.Image:=DXImageList1.Items.Find("p");
s.X:=40;
s.Y:=40;
s.Width:=s.Image.Width;
s.Height:=s.Image.Height;
DxSpriteEngine1.Draw;
end;

В хелпе по DelphiX все про это сказано!


 
Agent[007]   (2003-03-29 15:47) [2]

Он всёравно не выводит.
Это может зависеть от того, что я не поменял

TForm1 = class(TForm)

на

TForm1 = class(TDXForm)

???


 
Agent[007]   (2003-03-29 16:03) [3]

А теперь понял.
Там в конце надо было написать DXDraw1.Refresh
У меня теперь другой вопрос :)

procedure TForm1.DXTimer1Timer(Sender: TObject;LagCount:Integer);
begin
DXSpriteEngine1.DXDraw:=DXDraw1;
s.X:=s.X+2;
DXSpriteEngine1.Draw;
end;

Он выдаёт ошибку.


 
Плохой человек   (2003-03-29 17:59) [4]

А где DXDraw1.Flip??????


 
Agent[007]   (2003-03-30 06:09) [5]

Спасибо.
PS: А почему у тебя такой ник, а не "Просто Хороший Человек" ?


 
Agent[007]   (2003-03-30 06:34) [6]

Всем спасибо огромное за такой прекрасный сайт и спасибо всем, кто мне помог или просто хотел, но не знал как.

И если вы меня ещё терпите, то ответьте, как очищать экран(DXDraw
или DXSpriteEngine), то есть чтобы при перемещении:

s.X:=s.X+1;
DXSpriteEngine1.Draw;
DXDraw1.Flip;

Не оставался след за объектом.


 
Плохой человек   (2003-03-30 14:46) [7]

Ник такой, потому что настоящий в бегах (преследуют). А очистить экран можно, надо перед началом рисования, ну когда надо очищать, написать:

DXDraw1.Surface.Fill(0);

Причём 0 - это чёрный цвет.


 
Agent[007]   (2003-03-30 17:32) [8]

THANKS



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
7-68103
SPeller
2003-05-11 14:24
2003.07.21
Создание отдельной нити, но не простой...


1-67812
bloodman
2003-07-09 16:44
2003.07.21
PE + DLL


7-68085
SDW_syscoder
2003-05-12 01:19
2003.07.21
Assembler in Delphi


14-67964
Marser
2003-06-28 11:54
2003.07.21
---|Ветка была без названия|---


1-67816
John-kam
2003-07-07 14:28
2003.07.21
Печать формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский