| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| habs vergessen Registriert seit: Feb 2006
Beiträge: 990
| [stuff] sound visualising demo
hallo zusammen, inspiriert durch das demo von [je] hatte ich mich seinerzeit aufgemacht, selbst so ein demo zu schrauben. Zusammen mit Effekten von Aerks, mir und wiederum einer kleinen Zusatzinspiration von [je] ist das ganze endlich fertig. Natürlich möchte ich euch das ganze nicht vorenthalten und liefere jetzt gleich (s.u.) sowie die kommenden tage noch ein paar efx.sources aus der demo mit! Aber schaut doch mal:Demo ansehen Ach ja - und hier noch ein erster Schnipsel... Code:
/////////////////////////////////////////////////////
// sound reactive tunnelizer
// author : frank reitberger
// site : http://www.dasprinzip.com
// copyright 2007
/////////////////////////////////////////////////////
//--------------------------------------------------------------------------------------------
///////////////////////////////////
// setup global vars
///////////////////////////////////
// sound related
var snd:Sound = new Sound();
var sndCnl:SoundChannel;
var byteArr:ByteArray = new ByteArray();
// sprite related
var dot0:Sprite = new Sprite();
var dot_vr:Number = 0;
var dot_ang:Number = 0;
stage.addChild(dot0);
// tunnelizer related
var zIndex1:Number = 0;
var modulo:Number = 0;
var tSwitch:Boolean = false;
//--------------------------------------------------------------------------------------------
///////////////////////////////////
// start sound analytics
///////////////////////////////////
function sndAnalytics(event:Event) {
///////////////////////////////////
// sprite dot : move
///////////////////////////////////
var dot0:Sprite = stage.getChildAt(1);
dot_vr += Math.random()*.1-.05;
dot_vr *= .9;
dot_ang += dot_vr;
var vx = Math.cos(dot_ang)*3;
var vy = Math.sin(dot_ang)*3;
dot0.x += vx;
dot0.y += vy;
if (dot0.x > 380) {
dot0.x = 10;
} else if (dot0.x < 10) {
dot0.x = 380;
}
if (dot0.y > 390) {
dot0.y = 12;
} else if (dot0.y < 10) {
dot0.y = 390;
}
///////////////////////////////////
// analyse sound spectrum
///////////////////////////////////
getByte = 0;
SoundMixer.computeSpectrum(byteArr, true);
var i:int;
var w:uint = 2;
var num = undefined;
var type:String = undefined;
for (i=0; i<512; i+=w) {
var getByte:Number = byteArr.readFloat();
var n:Number = Math.floor(getByte * 100);
////////////////////////
// catch massiv amp
////////////////////////
if (i > 256 && n > 20) {
type = "massiv";
}
}
paintTunnelizer(type);
}
//--------------------------------------------------------------------------------------------
///////////////////////////////////
// paint reactiv tunnelizer
///////////////////////////////////
function paintTunnelizer(type:String) {
zIndex1++;
modulo++;
var mc:MovieClip = new MovieClip();
mc.name = "circle__" + String(zIndex1);
mc.x = 200;
mc.y = 200;
stage.addChild(mc);
if (modulo==2) {
modulo=0;
mc.graphics.lineStyle(5,0x000033,.1);
mc.graphics.drawCircle(0,0,50);
} else {
if (type == "massiv") {
mc.graphics.lineStyle(5,0xffffff,5);
mc.graphics.drawCircle(0,0,50);
} else {
mc.graphics.lineStyle(5,0xffffff,.3);
mc.graphics.drawCircle(0,0,50);
}
}
dot0 = stage.getChildAt(1);
var getDotX:Number = Number(dot0.x);
var getDotY:Number = Number(dot0.y);
mc.x = getDotX;
mc.y = getDotY;
mc.sc = 1;
mc.alpha = 0.1;
for (var i:Number = 3; i < stage.numChildren; i++) {
var p = stage.getChildAt(i);
if (p.name.indexOf("circle__",0) != -1) {
var p1 = stage.getChildAt(i);
if (!tSwitch) {
p1.sc *= 1.2;
} else {
p1.sc *= .9;
}
p1.scaleX = p1.sc;
p1.scaleY = p1.sc;
p1.alpha+=.02;
if (type == "massiv") {
if (!tSwitch) {
tSwitch = true;
} else {
tSwitch = false;
}
}
if (p1.scaleX > 7) {
stage.removeChild(p1);
}
}
}
}
//--------------------------------------------------------------------------------------------
///////////////////////////////////
// init
///////////////////////////////////
snd.load(new URLRequest("place path to your mp3 here"));
sndCnl = snd.play();
this.addEventListener(Event.ENTER_FRAME, sndAnalytics); source fla herunterladen ich hoffe es gefällt! ![]() pwd |
| | |
| | #3 (permalink) |
| Nordlicht Registriert seit: Jun 2001 Ort: Hamburg
Beiträge: 569
|
Wie geil ist das denn ? Ist ja wie in der guten alten C64/Amiga-Zeit ne coole Demo. Ich freue mich schon, wenn Flash 9 rauskommt. Demo-Fans werden wohl neue Eindrücke gewinnnen. Coole Arbeit und sehr inspirierend. *****
__________________ "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen." Wachsamkeit ist der Preis der Freiheit - Keine Zensur! – Wau Holland – http://www.wauland.de |
| | |
| | #5 (permalink) | |
| Ehrenwort!!! Registriert seit: Feb 2004 Ort: Duisburg-Duissern
Beiträge: 1.114
| Zitat:
dann sei mal gespannt, was die doktores zaubern OT: Irata die Drecksau!!!!
__________________ "A man on the move... And just sick enough to be totally confident..." Alphaflight Ein Tag wie jeder! Flashversionen von einigen C64-Zocks | |
| | |
| | #6 (permalink) |
| Nordlicht Registriert seit: Jun 2001 Ort: Hamburg
Beiträge: 569
|
Hehe Barschel, da müssen wir eh nochmal drücber reden. Aber lass mal, bin auch grad dabei noch ein paar nette Effekte zu basteln, hoffentlich kann ich demnächst mal ein wenig Code hier posten. Momentan nimmt aber meine Arbeit zuviel Zeit ein, komme kaum dazu etwas privates zu machen. *grmpf* Gruß... ....Patrick PS: Hat Irata sich bei Dir gemeldet ? Geht es ihm besser ?
__________________ "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen." Wachsamkeit ist der Preis der Freiheit - Keine Zensur! – Wau Holland – http://www.wauland.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |