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

Вниз

Бэкгроунд   Найти похожие ветки 

 
Fog ©   (2002-10-29 15:20) [0]

Я уже совсем запутался. Как заполнить экран ISO тайлами 60x30?


 
Axis_of_Evil ©   (2002-10-29 16:32) [1]

Вестимо с массивом
Поконкретней вопрос


 
Fog ©   (2002-10-29 16:36) [2]

Я делаю

for i := 0 to 10 do
begin
for j := 0 to 10 do
begin
DXImageList.Items.Draw(DXDraw.Surface, i*60, j*60, 0);
end
end;

Получаются пропущенные тайлы. Как заполнить их...


 
Axis_of_Evil ©   (2002-10-29 16:42) [3]

Что значит пропущенные?
Все ведь непрерывно

>DXImageList.Items.Draw(DXDraw.Surface, i*60, j*60, 0);
DXImageList.Items[ k ].Draw(DXDraw.Surface, i*60, j*60, 0);


 
Fog ©   (2002-10-29 17:10) [4]

Нет, нет, это я здесь опечатался... Я имею в виду... Ну как распологаются тайлы в РПГ

с с с с с с
с с с с с
с с с с с с
с с с с с с


Таким образом рисуется только

с с с с с с с

с с с с с с с

с с с с с с с


 
Fog ©   (2002-10-29 17:11) [5]

Не получилось
с с с с с с
с с с с с с
с с с с с с


 
Fog ©   (2002-10-29 17:12) [6]

Ну вообщем мысль такая через строку спрайты должны быть на 30px смещены(гор.)...


 
HellTrooper ©   (2002-10-29 17:20) [7]

Дык насколько я понимаю у тебя не рисуются "смещённые" тайтлы?
картинка должна быть:

с с с с с
.с с с с
с с с с с
.с с с с
с с с с с

так?


 
Axis_of_Evil ©   (2002-10-29 17:28) [8]

>(гор.)...
Горы имеешь в виду?

Хорошо ряды гор, холмов ...
Идея:
отрисуй гору в отдельном спрайте,
пусть она ~ 2x3 клетки, а параметры движения героя
измени по этим клеткам (с горы - быстро, на гору - медленно)


 
Fog ©   (2002-10-29 18:17) [9]


> >(гор.)...
> Горы имеешь в виду?

Горизонтально...
> с с с с с
> .с с с с
> с с с с с
> .с с с с
> с с с с с

Так!

> отрисуй гору в отдельном спрайте,
> пусть она ~ 2x3 клетки, а параметры движения героя
> измени по этим клеткам (с горы - быстро, на гору - медленно)

Возьму на карандаш


 
HellTrooper ©   (2002-10-30 09:37) [10]


> Я делаю
>
> for i := 0 to 10 do
> begin
> for j := 0 to 10 do
> begin
> DXImageList.Items.Draw(DXDraw.Surface, i*60, j*60, 0);
> end
> end;
>
> Получаются пропущенные тайлы. Как заполнить их...

Тогда у тебя неправильный подход. Этот цикл дасть тебе что-то типа шахматного поля. Тебе надо сдвигать каждый второй элемент на 30 пикселов в право и на 30 пикселов вниз, относительно предыдущего. Примерно так:

I:=0
J:=0;
While I<=10 do
begin
while J<=10 do
begin
DXImageList.Items.Draw(DXDraw.Surface, i*60, j*60, 0);
Inc(J)
DXImageList.Items.Draw(DXDraw.Surface, i*60+30, j*60-30, 0);
Inc(J)
end;
Inc(I)
end;

Что-то в этом духе.



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

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

Наверх




Память: 0.49 MB
Время: 0.041 c
3-100162
b_baranov
2003-03-12 23:22
2003.03.31
регистры клавиатуры


14-100401
Balda
2003-03-13 20:23
2003.03.31
Блин, как в гриде удалить просто запись? че нажать то?:-)


1-100275
Sergey_
2003-03-19 10:35
2003.03.31
как получить значение перечисляемого типа по номеру


1-100253
AntMal
2003-03-18 17:51
2003.03.31
Как быть с этим Memo


14-100386
seledka
2003-03-13 17:01
2003.03.31
описание компонент Delphi