Кривой Тайл

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Кривой Тайл

Страницы: 1 2 Next>> новая тема

Автор Сообщение

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 09-10-2006 04:15
Вообщем вот что я делаю:
Я в мапере создаю карту - загружаю бэкграунды и каждому объекту назначаю рисование его части их 4 вида: сурфэсы, тайлы и 2 вида стен. Далее я сохраняю всё это в виде скрипта добавления объектов и тайлов в комнату и создание сурфъйсы-бэкграунда.
Так вот когда я загружаю карту, то вроде всё нормально, пока не замечаю, что тайлы РАЗНОЦВЕТНЫЕ!!!
Добавляю я их функцией room_tile_add()...
Это функция рабоет, когда мы ещё не находимся в новой комнате.
Как убрать этот косяк?

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 09-10-2006 05:17
слушайте, а откудова пошёл этот изврат писать в файле карты уже готовые команды? Там должны быть только координаты, хотя мне до лампочки)

Сюда кинь пару строк из файла карты пока что)

гроссмейстер
Группа: Сообщество GM
Сообщений: 254
Добавлено: 09-10-2006 16:54
Раз уж название подходит, чтобы не создавать темы напишу сюда...
Можно ли какимнибудь способом поворачивать тайл?

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 09-10-2006 17:09
Ну вот tile_set_position(id,x,y), но интерактивна ли функция, я незнаю, надо и самому попробовать

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 09-10-2006 19:59
Вообщем вот эта функция.
room_tile_add(ActiveRoom,global.tbk[3],0,0,32,32,192,0,-32);
слушайте, а откудова пошёл этот изврат писать в файле карты уже готовые команды? Там должны быть только координаты, хотя мне до лампочки)

А ты как предлогаешь?
Писать координаты?
А кусок бэкграунда и ширину и длинну тайла дядя Вася писать будет? По моему куда проще воткнуть кусок кода, чем каким то извратным способом его считывать из файла.
Файл выглядит так:
//Установка параметров комнаты
room_set_width(ActiveRoom,640);
room_set_height(ActiveRoom,480);
//Загрузка нужных бэкграундов
global.tbk[0]=background_add("Tiles\TlWalls.bmp",0,0,1);
global.tbk[1]=background_add("Tiles\TlBack.bmp",0,0,1);
global.tbk[2]=background_add("Tiles\TlEmpty.bmp",0,0,1);
global.tbk[3]=background_add("Tiles\TlNew.bmp",1,0,1);
//Здесь идёт рисование поверхности
global.bk=surface_create(640,480);
surface_set_target(global.bk)
draw_background_part(global.tbk[2],128,0,32,32,64,64);
surface_reset_target()
//Далее создание стен
room_instance_add(ActiveRoom,16,16,Wall2);
room_instance_add(ActiveRoom,48,16,Wall2);
//Создание тайлов
room_tile_add(ActiveRoom,global.tbk[3],0,0,32,32,192,0,-32);
//Добавлеие главного персонажа
room_instance_add(ActiveRoom,144,144,Tank);

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 09-10-2006 20:45
так. а что значит получаются цветные тайлы?

магистр
Группа: Сообщество GM
Сообщений: 316
Добавлено: 10-10-2006 08:42
А если их через ГМ (без кода) поставить, они тоже цветные?

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 10-10-2006 19:32

Видите две разноцветные полосы?
А если их через (ГМ без кода) поставить, они тоже цветные?

Нет, всё нормально.
Весь прикол, что это только с тайлами.
Сурфэйс нормально грузится.

магистр
Группа: Сообщество GM
Сообщений: 316
Добавлено: 12-10-2006 08:27
Тогда не знаю в чём проблемма???

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 12-10-2006 08:50
CRYSTALL m, а у тебя есть картинки с такими цветами как на полосах? И при движении вида что с полосами происходит? Попробуй выдвинуть тайлы на самый передний план, не грузить часть тайлов. короче отключить всё и включать постепенно пока глюк не проявится.

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 12-10-2006 19:45
CRYSTALL m, а у тебя есть картинки с такими цветами как на полосах?

Нет. Бэкграунд грузится из файла, а потом из этого бэкгракнда выдираются куски и либо рисуются на сурфэйсе либо делаются тайлом. Так вот косячит именно делание тайлом.
Попробуй выдвинуть тайлы на самый передний план, не грузить часть тайлов. короче отключить всё и включать постепенно пока глюк не проявится.

Я немного не понял тебя...
С каждым запуском расцветка разная. Ди и цветные только тайлы, т.е. эти две полосы - тайлы(больше тайлов в комнате нет), а всё остальное либо спрайты стен, либо сурфэйс.

магистр
Группа: Сообщество GM
Сообщений: 316
Добавлено: 13-10-2006 07:53
Сделай тайлы сурфейсами и не заморачивайся...

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 13-10-2006 19:39
Понимаешь, в игре тайлы играют роль верхнего бэкграунда...
Хотя довольно хорошая идея - экономия памяти. Рисуем только видимый кусок сурфэйса. Однако следует понять что за косяк. Это косяк Гм или же у программиста кривые руки. Это сводится к вопросу Кривой тайл или кривой программист.

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 14-10-2006 19:03
Хотя нет. Сурфэйсами не получится. У меня тайлы прозрачные, а сурфэйс будет закрывать весь экран, ну если только нелзя сделать так, чтоб сурфэйс стал тоже прозрачным.

магистр
Группа: Сообщество GM
Сообщений: 316
Добавлено: 15-10-2006 10:09
Можно использовать сурфейс как карту прозрачности, и создавать с неё спрайт... короче всё это есть в примере с разрушаемым ландшафтом, или с рахрушаемыми стенами (я покрайней мере знаю только эти два примера с сурфейсами).

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 16-10-2006 04:49
Хочешь сказать, что я могув редакторе создать большой спрайт, который создаётся с сурфэйса - это спрайт маски. Далее при загрузке уровня я создаю с сурфэйса ещё один спрайт и для него загружаю карту. И если рисовать часть спрайта можно выиграть в оптимизации...

магистр
Группа: Сообщество GM
Сообщений: 316
Добавлено: 16-10-2006 08:08
Кстати... вроде можно задавать тайлам цвет... попробуй всем белый задать...

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 16-10-2006 19:37
Уже смотрел. Не помогло. Я думаю твой способ лучше. Буду экономить память. У меня получится 2 сурфэйса, а отображать я буду только ту часть, которая находится в виде.

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 28-10-2006 04:55
Ура1
Я победил!!!
Вместо создания тайлов в комнате я создаю в комнате объект и назначаю ему в креат создание тайлов, теперь всё оьлично
Только вот не понимаю, почемуне работает функция tile_set_blend(ind,blrnd_color) если мы создаём его в другой комнате. room_tile_add должен возвращать id тайла, нг ГМ пишет ошибку. Тайла не существует.

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 28-10-2006 19:28
потому что тайл ты создаёшь в другой комнате, а блендить пытаешься в настоящей.

Страницы: 1 2 Next>> новая тема
Раздел: 
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Кривой Тайл

Отвечать на темы в данном разделе могут только зарегистрированные пользователи

Отвечать на темы могут только зарегистрированные пользователи

KXK.RU