|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Эффект Пылесоса |
Страницы: 1 2 Next>> |
Автор | Сообщение |
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 08-11-2006 20:04 |
Интересно, можно ли в ГМ сделать эффект пылесоа - это чтоб при уничтожении объекта егошний спрайт по пикселям притягивался в определённую точку? |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 08-11-2006 21:38 |
Мне кажется только рисовать спрайт, как "пылесосом" затягивается по пикселям и вставлять в игру | |
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 08-11-2006 22:02 |
мне похожее надо. - рассыпание спрайта, но програмно это можно сделать лишь с большими затратими фпс. Для эффекта в игре не пойдёт. Грубо: getpixel-ом забиваешь цветами пикселов спрайта 2д-массив, или гетпиксел и делаем объект (объект рисует пиксел нужного цвета и притягивается) Во! завтра пример сделаю клёвый :) ждите |
|
Lenich Группа: Участники Сообщений: 1 |
Добавлено: 08-11-2006 23:20 |
http://lenich.ucoz.ru/invisible.gm6 64Digits (C) |
|
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 09-11-2006 06:08 |
Пример пиксельного распыления спрайта Жмите SPACE. Объект o_pix - объект частички. можно задать ему любое движение, как то - притягивание к точке. Я сделал обычный разлёт. Улучшение: добавлено схождение пикселов в изначальный спрайт Пример пиксельного распыления спрайта-1 |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 09-11-2006 10:15 |
Супер. Только жаль что когда фон не монотонный примерчик не будет работать | |
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 09-11-2006 10:46 |
Nka, почему ты так решил? | |
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 09-11-2006 10:52 |
там сканируется каждый пиксель и если цвет равен цвету фона то объект пикселя не создается | |
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 09-11-2006 11:01 |
Скажи мне, ты фон пробовал подкладывать? :) Я под спрайтом вообщето прямоугольник заливаю нужного цвета кстати я уже придумал способ не сканировать это дело, так что подойдёт даже для полупрозрачных спрайтов. |
|
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 09-11-2006 16:01 |
DreamRunner очень круто, даже очень Конечно для спрайта это напряжно применять через фпс но можно это применять к маленьким пулям в качестве эффектов и т.д. |
|
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 09-11-2006 18:22 |
еще есть идея хотел написать но это долго да и сам да конца необдумал скажу вкратце: процес сканирования вызывает тормоза,но если бы всю эту байду записать в файл то есть количество объектов o_pix информацию о цвете и т.д а потом допустим в событии уничтожении пули через еxecutable_file запустить файл который и опишет сколько объектов создать, в камом они цвете(хотя последнее меня пугает) вообщем если все получиться тогда останеться смотреть кто больше будет жрать фпс процес сканирования или еxecutable_file |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 09-11-2006 21:50 |
идея интересная! можна записать в двойной массив colors[x,y] цвет каждой точки спрайта. Если точки нет - ставим -1. Что-то в этом духе. | |
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 10-11-2006 15:05 |
у меня исходник этого примера на работе, делал дома по памяти получилось,а тепер просматрюю этот исходник и непойму относительно чего начинаеться сканирование???? того праямоугольника который рисуеться в координатах 0,0???????,? я начинал сканирование относительно переменных bbox_left и т.д. и каким образом они возвращаються на начальное место ????? и зачем переменная zoom ??? |
|
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 10-11-2006 15:11 |
здесь сканирование начинается с 0,0, т.к. мне лень было Бокс учитывать. Zoom - измени, увидишь. Возвращаются на начальное место обычным притягиванием объекта-цветной-точки к нужной точке в картинке. Мы ж знаем откудова она вылетела. вот обратно влетает так же. |
|
DG Soft popww Группа: Администраторы Сообщений: 736 |
Добавлено: 10-11-2006 17:35 |
Странно я использовал (move_tow...) к точкам xstart, ystart и в степе if(dist.._to_point)<2 speed = 0, но они всеравно летали вокруг да около |
|
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 10-11-2006 19:54 |
Во круто! DreamRunner - клёвый пример! У меня немного тормозит, но я думаяю, для более мелких спрайтов пойдёт - напрмер, для собора всякой мелкой шняги на расстоянии... |
|
DreamRunner магистр Группа: Сообщество GM Сообщений: 320 |
Добавлено: 10-11-2006 21:47 |
DG Soft, верно. Это я справил путём friction=число. Поведение точек плавно меняется на движение с торможением вместо "орбитального". | |
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 11-11-2006 20:09 |
Посмотрел код. Думаю лучше будет сделать, чтоб он в самом начале забил двумерный массив нужными пикселами. Делается просто: Создаём небольшой сурфэйс какого-нибудь извратного цвета. Далее проверяем пикселы при создании. Если он цвета фона - то записываем -1(т.е. не будем создавать объект). Заполняем массив цветом пикселов. Сделаем это только один раз в самом начале, а не каждый степ. Хотя это не поможет при анимированном спрайте. Да вообще наверное пофиг, и так нормально, хотя можно попробовать частички массивом сделать... Посмотрел ещё раз и понял почему у меня ТАК тормозит. В Комнате нужно объект женщины убить. |
|
Nka Володька Группа: Сообщество GM Сообщений: 1648 |
Добавлено: 13-11-2006 00:15 |
а если фон стоит картинка разноцветная? =) | |
CRYSTALL m маэстро Группа: Сообщество GM Сообщений: 812 |
Добавлено: 13-11-2006 20:10 |
Если ты про главный БК, то скорее всего будет всё нормально. Проверил н аспрайтах 16*16 - почти не тормозит, только останавливается при сканировании. Но я думаю, что на 8*8 этот косяк уже исчезнет. Тем более мне нужно чтоб он просто всасывался и не собирался заново. |
Страницы: 1 2 Next>> |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Эффект Пылесоса |