Главная страница
    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.005 c
14-100463
Vovchik_A
2003-03-14 23:27
2003.03.31
Пьем водку !!!


3-100162
b_baranov
2003-03-12 23:22
2003.03.31
регистры клавиатуры


14-100428
aga
2003-03-14 11:44
2003.03.31
*.sit


14-100406
Jeka
2003-03-11 14:52
2003.03.31
видел майку с надписью


4-100519
Skolt
2003-01-31 00:15
2003.03.31
Запуск программы после Internet Explorer





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