Fire effect, пилим на андроид
Sep. 14th, 2015 06:20 pmПока безрезультатно; перефразируя поговорку, я уверен что именно лыжи не те, со мной все нормально.
Пилится это на RFO-Basic. Надо бы ради практики изучения FreeBasic, запилить на FB.
Собственно, сложного ничего нет, расскажу по шагам.
( сложности были при работе с 256 цветами, сейчас true color, и цвет кодируется компонентами RGB, а не номером цвета в палитре )
1. Генерируем строку разноярких (случайной яркости, например, красного цвета) пикселов в ряд.
2. Хватаем квадратный кусок экрана с этими пикселами и сдвигаем его, при этом уменьшая яркость его содержимого или размывая его.
Вот и все. "Языки пламени" возникают из-за того, что исходные пикселы разной яркости, соот-но путь до полного превращения в черный цвет (фона) для каждого - разный. За красивость языков отвечает либо отношение изначальной яркости каждого пиксела по отн-ю к соседним, либо схема размытия/сдвига в стороны "в процессе горения".
Вот. И уперся я в то, что RFO по каким-то неведомым причинам не позволяет выполнить:
1. хватай_экран_в_образ
2. выведи_этот_образ_обратно_на_экран_но_со_сдвигом
3. повторить п.1
Техническую сторону оставлю в стороне. C эмоциональной точки зрения, имеется ощущение себя отжатым лимоном.
Пилится это на RFO-Basic. Надо бы ради практики изучения FreeBasic, запилить на FB.
Собственно, сложного ничего нет, расскажу по шагам.
( сложности были при работе с 256 цветами, сейчас true color, и цвет кодируется компонентами RGB, а не номером цвета в палитре )
1. Генерируем строку разноярких (случайной яркости, например, красного цвета) пикселов в ряд.
2. Хватаем квадратный кусок экрана с этими пикселами и сдвигаем его, при этом уменьшая яркость его содержимого или размывая его.
Вот и все. "Языки пламени" возникают из-за того, что исходные пикселы разной яркости, соот-но путь до полного превращения в черный цвет (фона) для каждого - разный. За красивость языков отвечает либо отношение изначальной яркости каждого пиксела по отн-ю к соседним, либо схема размытия/сдвига в стороны "в процессе горения".
Вот. И уперся я в то, что RFO по каким-то неведомым причинам не позволяет выполнить:
1. хватай_экран_в_образ
2. выведи_этот_образ_обратно_на_экран_но_со_сдвигом
3. повторить п.1
Техническую сторону оставлю в стороне. C эмоциональной точки зрения, имеется ощущение себя отжатым лимоном.