Форум: "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