Приветствую всех кто здесь есть.
Просмотрел здесь несколько тем и нашёл очень мало информации по DelphiX. По сути только пару ссылок на литературу, которую я уже всю перечитал и несколько примеров.
Я понимаю что DelphiX это упрощённый и далеко не идеальный вариант работы с DirectX. Но его изучение и использование прощще в разы чем самого DirectX-а.
Я с графикой раньше не работал, DirectX для меня тёмный лес... Пробовал изучать, но чувствую пока не куплю умную книгу это бесполезно, а в сети или в электронном виде информация весьма скудная, а работающих примеров я не видел (один раз пришлось из 3-х неработающих примеров одного и того же действия, описанного с некоторыми различиями, собирать один работающий, а все го то ерунда какая то была, типа закраски экрана цветом).
И решил всё таки пока остановиться на DelphiX, в нём меня всё устраивает. Проблемы возникают, но решаются максимум в течении суток, а обычно за пол часа-час.
Так вот, к чему это я... Если есть здесь люди, которые достаточно много работали с этим компонентом, то прошу у них консультации вот по каким вопросам:
1) Где то в описании DelphiX читал что он работает только с Delphi6. Но я установил его в 7-м и вроде всё нормально. Не всплывут ли проблемы позже?
2) Есть в DelphiX такая процедура вывода спрайтов как DrawAlpha. Так вот, если использовать её для какого то одного объекта класса TImageSprite то всё нормально, но если таких объектов 2 и более (в моём примере их 20) то начинает всё жутко тормозить.
Вот как примерно выглядит мой код:
Код:
TNew = class(TImageSprite)
protected
procedure DoMove(MoveCount: Integer); override;
procedure DoDraw; override;
public
destructor Destroy; override;
end;
procedure TNew.DoDraw;
begin
image.DrawAlpha(Form1.DXDraw1.Surface,bounds(ceil(x),ceil(y),image.Width,image.Height),0,50)
end;
...
var
New: array[1..20] of TNew;
...
for temp_int_1 := 1 to 20 do
begin
New[temp_int_1] := TNew.Create(DXSpriteEngine1.Engine);
with New[temp_int_1] do
begin
pixelCheck := true;
Image := Form1.TDXImageList1.Items[0];
x := Random(1000);
y := Random(600);
z := 1;
width := image.Width;
height := image.Height;
end;
end;
...
Есть ли у этой проблемы решение кроме как начать программировать на более низком уровне?
3) Знаю что есть более свежая версия DelphiX. UnDelphiX по моему зовётся. Но нигде пока не встречал. Кто нибудь может дать ссылку где его поискать? И желательно список того что там было улучшено/изменено. Возможно что и проблема из п.2 там устранена.
Заранее спасибо.
Aristarh Dark:
не забываем о тэгах!!!