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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
1-100313
AlexVit
2003-03-19 12:39
2003.03.31
Несколько таймеров не могут работать параллельно?


1-100290
VM
2003-03-19 12:49
2003.03.31
Есть ли TResourceFile в Delphi?


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


3-100153
infinity
2003-03-11 23:45
2003.03.31
Index out of date или Index read only


1-100218
StarCon
2003-03-20 11:49
2003.03.31
работа с указателями - что же не так?





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