|
|
|||||
Регистрация: Aug 2005
Сообщений: 83
|
кстати немножко не в тему я тут поковырялся нашел исходники RFE быстро подправил чтобы работало с OpenGL 1.5 2.0, также чтобы коректно экспортируемый скрипт работал в 8-ке (там зарезервруемое слово появилось transform)... вопрос такой нет желания держать постоянную ссылку ? на вашем сайте (когда я его писал флешер ру был в ауте, пришлось выкладывать на флештиачер).. банер и ссылку в прогармме пихну (главное наличие картинки 190*75) Если есть желание можно связаться по почте
|
|
|||||
Регистрация: Aug 2005
Сообщений: 83
|
еще один пример пиксельный огонь отличие от лого в том что цвет пикселей берется из програмно созданного градиента
средствами getPixel32 пример тут http://www.vipsauna.com/test/pixel_fire.html исходник тут http://www.vipsauna.com/test/pixel_fire.fla Stage.scaleMode = 'noScale'; this.createEmptyMovieClip("gradient", 2); import flash.geom.*; var fillType:String = "linear"; var colors:Array = [0xFF2222, 0xDFAA31, 0xB9594F, 0xAEAEAE, 0x000000]; var alphas:Array = [100, 80, 70, 50, 90]; var ratios:Array = [0, 30, 50, 70, 0xFF]; var matrix:Matrix = new Matrix(); matrix.createGradientBox(300, 1, 0, 0, 0); var spreadMethod:String = "pad"; gradient.beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod); gradient.moveTo(0, 0); gradient.lineTo(300, 0); gradient.lineTo(300, 5); gradient.lineTo(0, 5); gradient.lineTo(0, 0); gradient.endFill(); var gradientCanvas = new flash.display.BitmapData(300, 5, false, 0xFFCC0000); gradientCanvas.draw(gradient); ///////////////////////////////////////////////////////////////// this.createEmptyMovieClip("fire", 1); var fireConvas = new flash.display.BitmapData(300, 300, true, 0); fire.attachBitmap(fireConvas, 1); var fade = new flash.geom.ColorTransform(); fade.alphaMultiplier = 0.8; var fireDiametr = 40; var fireFading = 10; var grav = -0.2; var maxparticles = 220; var particleNum = 4; var particleglowcolor = 0xFFCC00; var particles = new Array(); var glow = new flash.filters.GlowFilter(particleglowcolor, 5, 15, 15); var floor = 280; fire.filters = [glow]; fire.blendMode = "add"; onEnterFrame = function () { for (var i = particleNum; i>=0; i--) { particles.unshift(createParticle(Stage.width/2+40*(Math.random()-0.5), floor, 0, random(1)+1)); } if (particles.length>maxparticles) { particles.length = maxparticles; } for (i in particles) { currparticle = particles[i]; var particlecolor = 0xFFFF6633; var particlecolorAlpha = 0x50FF6633; var pixelW = (floor-currparticle.y)/0.7; if (pixelW>300) { pixelW = 300; } particlecolor = gradientCanvas.getPixel32(pixelW, 0); fireConvas.setPixel32(currparticle.x, currparticle.y, particlecolor); fireConvas.setPixel32(currparticle.x+1, currparticle.y, particlecolor); fireConvas.setPixel32(currparticle.x-1, currparticle.y, particlecolor); fireConvas.setPixel32(currparticle.x, currparticle.y-1, particlecolor); fireConvas.setPixel32(currparticle.x, currparticle.y+1, particlecolor); moveParticle(currparticle); } fireConvas.colorTransform(fireConvas.rectangle, fade); }; function createParticle(x, y, angle, power) { var prt = {}; prt.x = x; prt.y = y; angle = -angle-Math.PI+Math.PI*Math.random()*2; power = -power/2+power+0.5*power*Math.random(); prt.vx = Math.cos(angle)*power; prt.vy = -Math.sin(angle)*power; return prt; } function moveParticle(particle) { particle.x += particle.vx; particle.y += particle.vy; var fl = fireDiametr-(floor-particle.y)/fireFading; var right = Stage.width/2+fl; var left = Stage.width/2-fl; if (particle.x>right) { particle.x = right; particle.vx *= -Math.random()*5; } if (particle.x<left) { particle.x = left; particle.vx *= -Math.random()*5; } particle.vy += grav; } |
|
|||||
Banned
[5 01.09.2006]
Регистрация: Jun 2005
Сообщений: 1,805
|
Крутизна подобных эффектов в том, что они не теряют красоты при низком качве, что позволяет повысить производительность
|
|
|||||
Регистрация: Aug 2005
Сообщений: 83
|
это да.. ради этого все и затевалось все переходим в low режим , вообщето дело не в самих эффектах.. на сколько они красивы или нет, это второстепенно, просто расматриваются разные фишки типа копирования мувиклипа в bmpData и использование его содержмиого .. и т.д. и т.п., эффект это просто для наглядности.. было бы глупо взять мувик скопировать его в картинку и помеянть пиксели местами типа красный на черный и прочее.. хотя можно впринципе описать разные фильтры как в фотошопе.. анпрмире сепия сделать вроде просто будет сохранить цвет в матрицу colorTransform
изменить все значения Offset на темножелтый а все Multiplier оставить без изменения .. это так мысли вслух |
|
|||||
[+ 1.10 09.12.2005]
[+ 1.1 20.12.05] Регистрация: Dec 2005
Сообщений: 67
|
Сделал светящимися фейерверками надпись небольшую - прикольно
Захотел её в существующую flash сцену loadMovie... Загружается, но бежит точка, но ни надписи ни эффектов... Если в первом кадре сцены пишем "_lockroot = true;", то рисуется ок, но эффект брызг находится в самом низу сцену, а не около рисующей точки... Что надо исправить? |
|
|||||
Регистрация: Dec 2002
Адрес: Живу вот где-то
Сообщений: 493
|
Мопть!
Я в осадке, как тот дождик! Andromed - сплошные регардсы тебе! И спасибо! |
|
|||||
Регистрация: Aug 2005
Сообщений: 83
|
да не зачто ...
|
|
|||||
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
лнтающие какашки супер, главное алгоритм, а кому какие какашки летающие нравятся, сам доделает :=) Андромед респект :=)
|
|
|||||
[+ 1.10 09.12.2005]
[+ 1.1 20.12.05] Регистрация: Dec 2005
Сообщений: 67
|
=Andromed=
Сделал светящимися фейерверками надпись небольшую - прикольно Захотел её в существующую flash сцену loadMovie... Загружается, бежит точка, но ни надписи ни эффектов... Если в первом кадре сцены пишем "_lockroot = true;", то рисуется ок, но эффект брызг находится в самом низу сцену, а не около рисующей точки... Что надо исправить, подскажите, пожалста? |
|
|||||
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
уууу...с с+++ все стало на свои места, все ясно :=)
|
Часовой пояс GMT +4, время: 16:48. |
|
« Предыдущая тема | Следующая тема » |
|
|