Главная страница
    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.006 c
1-100262
OlegM
2003-03-19 07:42
2003.03.31
hex в int и обратно


3-100196
reticon
2003-03-11 22:42
2003.03.31
поиск записи по ее номеру


14-100378
Ilya_p
2003-03-13 14:45
2003.03.31
Database Desktop


1-100209
BoDa
2003-03-20 10:32
2003.03.31
Цвет строк в Memo


14-100407
Makhanev A.S.
2003-03-13 19:22
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский