Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

Почему такой код в DelphiX не работает?   Найти похожие ветки 

 
Просто_Я   (2006-02-28 23:02) [0]

Вот выводит черный экран. Не понимаю в чем дело. Я правда только начал разбираться с DX, так что извините за ламерский вопрос
type TBackground = class (TBackgroundsprite)
public

end;
var sbackground:tbackground;

procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
SBackground := TBackground.Create (DXSpriteEngine1.Engine);
with SBackground do
begin
  image := DXImageList1.Items.Find("image1");
  image.Transparent := false;
  SetMapSize(4,4);
  Z := -10;
  for i := 0 to 3 do
     for j := 0 to 3 do
        Chips[j,i] := 0;
  Tile := true;
end;

end;

Спасибо


 
KreeS ©   (2006-03-01 01:22) [1]

Сначала хотябы попробуй изучить примеры, идущие в комплекте с DelphiX
Код который ты написал за само рисование не отвечает :)


 
JUS ©   (2006-03-01 14:47) [2]

изучай примеры


 
Cash ©   (2006-03-01 15:02) [3]

Умиляет еще один факт:
Зачем наследовать класс, если нет намерения его модифицыровать?

Кто нибудь сможет ответить?


 
Просто_Я   (2006-03-01 22:15) [4]

Вот почитал примеры, спасибо за совет, вроде все рисуется, но хочется сделать движущийся тайловый фон, что для этого следует сделать.
Вот прога.
Что следует написать в TBack.DoMove, как заставить прорисоваться нужные ячейки (вряд ли DoDraw)?

 type
TBack = class(TBackGroundSprite)
public
     procedure DoMove(MoveCount: Integer); override;
end;

var
 Form1: TForm1;
  Back: TBack;
implementation

{$R *.dfm}

procedure TForm1.DXDraw1Initialize(Sender: TObject);
begin
//Activate Timer
DXTimer1.Enabled := True;

end;

procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
DXInput1.Update;
DXSpriteEngine1.Move(1);

DXSpriteEngine1.Draw;

DXDraw1.Flip;
end;

procedure TForm1.FormCreate(Sender: TObject);

var
i,j: Integer;
begin

randomize;
Back := TBack.Create (DXSpriteEngine1.Engine);
with Back do
begin
  image := DXImageList1.Items.Find("back");
  image.Transparent := false;
  SetMapSize(4,4);
  Z := -10;
  for i := 0 to 3 do
     for j := 0 to 3 do
        Chips[j,i] := random(2);
  Tile := false;
end;

end;

procedure TBack.DoMove(MoveCount: Integer);
begin
X := X - 5;

end;


 
Просто_Я   (2006-03-01 23:13) [5]

Точнее вопрос такой, берем проходим по ширине и высоте (вложенные циклы) и как нарисовать нужную ячейку в нужном месте (это вроде делается BitBlt, но я не понимаю аргументы)  ?
Мне отрисовывать советовали так
type
Camera = record
  X, Y, //верхний-левый угол камеры на карте
  W, H, // ширина, высота камеры (все в ячейках)
  Speed: Integer;
end;

там где отрисовываешь карту...
for i := Camera.Y to Camera.Y+Camera.H do
for j := Camera.X to Camera.X+Camera.W do
  нарисовать_ячейку(i, j);

а когда жмешь на стрелки делай...
Camera.X := Camera.X + Camera.Speed;

Где отрисовывать карту. Сделать процедуру Back.Draw что-ли? Тогда где ее вызывать или она автоматом вызывается DXSpriteEngine?
Помогите, пожалуйста.



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

Текущий архив: 2006.12.31;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.058 c
2-1166008544
031178
2006-12-13 14:15
2006.12.31
Неужели никто не знает как найти слово в HTML


2-1165836388
said46
2006-12-11 14:26
2006.12.31
TList.Sort и переполнение стека


15-1165766364
vidiv
2006-12-10 18:59
2006.12.31
Как в ASPLinux поставить KDE?


15-1165394136
bmv
2006-12-06 11:35
2006.12.31
quick report для delphi2006


10-1127456027
SupKlo
2005-09-23 10:13
2006.12.31
Как передать array of record





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский