Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-02-2007, 14:59   #1 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
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);
ansehen

source fla herunterladen


ich hoffe es gefällt!

pwd
__________________
Blog/Lab Xing
pwdVergesser ist offline   Mit Zitat antworten
Alt 08-03-2007, 07:21   #2 (permalink)
x39
 
Benutzerbild von georgem
 
Registriert seit: Oct 2004
Ort: St.Gallen, Schweiz
Beiträge: 1.261
Ist super, und inspirierend!
Ich muss auch mal was basteln.
__________________
The Sleeper Must Awaken

www.margaris.de | www.exosolar.net
georgem ist offline   Mit Zitat antworten
Alt 08-03-2007, 12:11   #3 (permalink)
Nordlicht
 
Benutzerbild von astaroth
 
Registriert seit: Jun 2001
Ort: Hamburg
Beiträge: 569
Thumbs up

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
astaroth ist offline   Mit Zitat antworten
Alt 10-03-2007, 10:15   #4 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
Registriert seit: Feb 2006
Beiträge: 990
freut mich wenn´s gefällt - ist aus der sicht von 2 monaten
später schon wieder hier und da stark verbesserungswürdig
aus sicht der performance und dem scripting...

pwd
__________________
Blog/Lab Xing
pwdVergesser ist offline   Mit Zitat antworten
Alt 15-03-2007, 10:19   #5 (permalink)
Ehrenwort!!!
 
Benutzerbild von Barschel2004
 
Registriert seit: Feb 2004
Ort: Duisburg-Duissern
Beiträge: 1.114
Zitat:
Zitat von astaroth Beitrag anzeigen
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.

*****

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
Barschel2004 ist offline   Mit Zitat antworten
Alt 15-03-2007, 15:14   #6 (permalink)
Nordlicht
 
Benutzerbild von astaroth
 
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
astaroth ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:39 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele