Эффект Пылесоса

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

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

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

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

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 08-11-2006 20:04
Интересно, можно ли в ГМ сделать эффект пылесоа - это чтоб при уничтожении объекта егошний спрайт по пикселям притягивался в определённую точку?

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 08-11-2006 21:38
Мне кажется только рисовать спрайт, как "пылесосом" затягивается по пикселям и вставлять в игру

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 08-11-2006 22:02
мне похожее надо. - рассыпание спрайта, но програмно это можно сделать лишь с большими затратими фпс. Для эффекта в игре не пойдёт.
Грубо:
getpixel-ом забиваешь цветами пикселов спрайта 2д-массив, или гетпиксел и делаем объект (объект рисует пиксел нужного цвета и притягивается)
Во! завтра пример сделаю клёвый :) ждите


Группа: Участники
Сообщений: 1
Добавлено: 08-11-2006 23:20
http://lenich.ucoz.ru/invisible.gm6

64Digits (C)

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 09-11-2006 06:08
Пример пиксельного распыления спрайта

Жмите SPACE.
Объект o_pix - объект частички. можно задать ему любое движение, как то - притягивание к точке. Я сделал обычный разлёт.

Улучшение: добавлено схождение пикселов в изначальный спрайт
Пример пиксельного распыления спрайта-1

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 09-11-2006 10:15
Супер. Только жаль что когда фон не монотонный примерчик не будет работать

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 09-11-2006 10:46
Nka, почему ты так решил?

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 09-11-2006 10:52
там сканируется каждый пиксель и если цвет равен цвету фона то объект пикселя не создается

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 09-11-2006 11:01
Скажи мне, ты фон пробовал подкладывать? :)
Я под спрайтом вообщето прямоугольник заливаю нужного цвета

кстати я уже придумал способ не сканировать это дело, так что подойдёт даже для полупрозрачных спрайтов.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 09-11-2006 16:01
DreamRunner очень круто, даже очень
Конечно для спрайта это напряжно применять через фпс но можно это применять к маленьким пулям в качестве эффектов и т.д.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 09-11-2006 18:22
еще есть идея хотел написать но это долго да и сам да конца необдумал
скажу вкратце: процес сканирования вызывает тормоза,но если бы всю эту байду записать в файл то есть количество объектов o_pix
информацию о цвете и т.д
а потом допустим в событии уничтожении пули через еxecutable_file
запустить файл который и опишет сколько объектов создать, в камом
они цвете(хотя последнее меня пугает)

вообщем если все получиться тогда останеться смотреть кто больше
будет жрать фпс процес сканирования или еxecutable_file

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 09-11-2006 21:50
идея интересная! можна записать в двойной массив colors[x,y] цвет каждой точки спрайта. Если точки нет - ставим -1. Что-то в этом духе.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 10-11-2006 15:05
у меня исходник этого примера на работе, делал дома по памяти
получилось,а тепер просматрюю этот исходник и непойму относительно чего начинаеться сканирование???? того праямоугольника который рисуеться в координатах 0,0???????,?

я начинал сканирование относительно переменных bbox_left и т.д.

и каким образом они возвращаються на начальное место ?????
и зачем переменная zoom ???

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 10-11-2006 15:11
здесь сканирование начинается с 0,0, т.к. мне лень было Бокс учитывать.
Zoom - измени, увидишь.
Возвращаются на начальное место обычным притягиванием объекта-цветной-точки к нужной точке в картинке. Мы ж знаем откудова она вылетела. вот обратно влетает так же.

popww
Группа: Администраторы
Сообщений: 736
Добавлено: 10-11-2006 17:35
Странно я использовал (move_tow...) к точкам xstart, ystart
и в степе if(dist.._to_point)<2 speed = 0, но они всеравно летали вокруг да около

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 10-11-2006 19:54
Во круто!
DreamRunner - клёвый пример!
У меня немного тормозит, но я думаяю, для более мелких спрайтов пойдёт - напрмер, для собора всякой мелкой шняги на расстоянии...

магистр
Группа: Сообщество GM
Сообщений: 320
Добавлено: 10-11-2006 21:47
DG Soft, верно. Это я справил путём friction=число. Поведение точек плавно меняется на движение с торможением вместо "орбитального".

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 11-11-2006 20:09
Посмотрел код. Думаю лучше будет сделать, чтоб он в самом начале забил двумерный массив нужными пикселами. Делается просто:
Создаём небольшой сурфэйс какого-нибудь извратного цвета.
Далее проверяем пикселы при создании. Если он цвета фона - то записываем -1(т.е. не будем создавать объект). Заполняем массив цветом пикселов. Сделаем это только один раз в самом начале, а не каждый степ. Хотя это не поможет при анимированном спрайте.
Да вообще наверное пофиг, и так нормально, хотя можно попробовать частички массивом сделать...
Посмотрел ещё раз и понял почему у меня ТАК тормозит. В Комнате нужно объект женщины убить.

Володька
Группа: Сообщество GM
Сообщений: 1648
Добавлено: 13-11-2006 00:15
а если фон стоит картинка разноцветная? =)

маэстро
Группа: Сообщество GM
Сообщений: 812
Добавлено: 13-11-2006 20:10
Если ты про главный БК, то скорее всего будет всё нормально.
Проверил н аспрайтах 16*16 - почти не тормозит, только останавливается при сканировании. Но я думаю, что на 8*8 этот косяк уже исчезнет. Тем более мне нужно чтоб он просто всасывался и не собирался заново.

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

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

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

KXK.RU