Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-09-2006, 09:55   #1 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
Registriert seit: Feb 2006
Beiträge: 990
[stuff] flameable text-thrower

tach allerseits.

hier mal wieder was zum spielen, testen und weiterverwursten.
text schreiben, enter drücken, das ganze wird durch die flamme
geschleudert.

natürlich interessiert mich wie immer eure meinung...


ansehen

Code:
/////////////////////////////////////////////////////
//  flaming text-thrower
//  author : frank reitberger
//  site : http://www.dasprinzip.com
//  copyright 2006
/////////////////////////////////////////////////////


// --------------------------------------------------------------------------------------------------


stop();


// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// import flash filter classes
///////////////////////////////////


import flash.display.BitmapData;
import flash.filters.*;
import flash.geom.*;



// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// setup flow field global vars
///////////////////////////////////


var xDeplac:Number = 0;
var yDeplac:Number = 0;
var clipBlur:BlurFilter = new BlurFilter(10, 10, 2);
var txtBlur:BlurFilter = new BlurFilter(4, 4, 2);
var txtObj:Object = new Object({txt00:"D",txt01:"W",txt02:"P"});
var playTxt:Boolean = false;
var renderTxt:Boolean = true;

this["txtInput"].text = "PWD";

_quality = "LOW";



this._lockroot = true;



// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// configure canvas
///////////////////////////////////


function initStage() {
	
	
	/////////////////////
	// setup efx stage
	
	_root.efxStage = new BitmapData(_root["flameClip"]._width+80, _root["flameClip"]._height+50, false, 0x000000FF);
	
	_root.createEmptyMovieClip("efxClip", _root.getNextHighestDepth());
	_root["efxClip"].attachBitmap(_root.efxStage, _root.getNextHighestDepth());	
	
	_root["efxClip"]._visible = false;
	
	/////////////////////
	// setup txt stage
	
	_root.txtStage = new BitmapData(150, 290, true, 0x000000FF);
	
	_root.createEmptyMovieClip("txtClip", _root.getNextHighestDepth());
	_root["txtClip"].attachBitmap(_root.txtStage, _root.getNextHighestDepth());
	
	/////////////////////
	// paint efx
	
	paint();
}


// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// paint flame thrower
///////////////////////////////////


function paint() {
	
	var displacementMap = function() {
		var filter:DisplacementMapFilter = new DisplacementMapFilter(_root.efxStage, new Point(0, 0), 1, 1, 35, 5, "clamp");
		_root["flameClip"].filters = [clipBlur, filter];
		
		if (_root.playTxt) {
			_root["txtClip0"].filters = [txtBlur, filter];
		}
	}
	
	var throwFlames = function() {
		
		xDeplac += 0.5;
		yDeplac += 10;
		var point:Point = new flash.geom.Point(xDeplac, yDeplac);
		
		_root["txtClip0"]._y -= 10;
		
		if (_root.renderTxt) {
			
			if (!_root.playTxt) {
				for (var i in _root.txtObj) {
					
					if (_root.txtObj[i] != "") {
						duplicateMovieClip("_txtClip","txtClip0",_root.getNextHighestDepth());
						_root["txtClip0"]._alpha = 100;
						_root["txtClip0"].txt = _root.txtObj[i];
						_root["txtClip0"]._x = 55;
						_root["txtClip0"]._y = 240;
						
						_root.txtCache = i;
						
						_root.playTxt = true;
					}
				
				}
				
				var count:Number = 0;
				
				for (var i in _root.txtObj) {
					if (_root.txtObj[i] != "") {
						count++;
					}
				}
				
				if (count == 0) {
					_root.renderTxt = false;
				}
				
			
			}
			
			if (_root["txtClip0"]._y < 0) {
				_root.txtObj[_root.txtCache] = "";
				delete _root.txtObj[_root.txtCache];
				removeMovieClip(_root["txtClip0"]);
				_root.playTxt = false;
			}

		}
		
		_root["txt"].swapDepths(_root.getNextHighestDepth());
		_root.efxStage.perlinNoise(30, 60, 2, 10, false, true, 8, true, point);
		displacementMap();
	}	
	
	_root.onEnterFrame = throwFlames;
}


// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// setup textfield listener
///////////////////////////////////


var lookForInput:Object = new Object();

lookForInput.enter= function() {
	
	for (var i:Number = 0; i < _root["txtInput"].length; i++) {
		var getChar:String = _root["txtInput"].text.charAt(i).toUpperCase();
		_root.txtObj["txt0" + i] = getChar;
	}
	
	_root.renderTxt = true;
	
	return;
}

this["txtInput"].addEventListener("enter", lookForInput);


// --------------------------------------------------------------------------------------------------

///////////////////////////////////
// init
///////////////////////////////////

initStage();
ab auf die platte damit


pwd
__________________
Blog/Lab Xing
pwdVergesser ist offline   Mit Zitat antworten
Alt 20-09-2006, 10:02   #2 (permalink)
no guts no glory
 
Benutzerbild von readme.txt
 
Registriert seit: May 2004
Ort: Nordhorn
Beiträge: 7.998
nice ... gut gemacht
__________________
Bitte keine Privaten Nachrichten mit Fragen, dazu ist das Forum selbst da. Danke.

'We live in an amazing, amazing world, and it's wasted on the crappiest generation of spoiled idiots.'
readme.txt ist offline   Mit Zitat antworten
Alt 20-09-2006, 10:16   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2005
Beiträge: 237
einfach wow...
ein wenig Ressourcenfressend oder täusche ich mich?
D@luxe ist offline   Mit Zitat antworten
Alt 20-09-2006, 10:38   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.366
Thumbs up

and it burns, burns, burns...
cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
salazar ist offline   Mit Zitat antworten
Alt 20-09-2006, 10:50   #5 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Hübsch! Erinnert mich irgendwie an Harry Potter...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 20-09-2006, 14:50   #6 (permalink)
habs vergessen
 
Benutzerbild von pwdVergesser
 
Registriert seit: Feb 2006
Beiträge: 990
na danke fürs lob!

ich wollte die buchstaben eigentlich als unsichtbare pixel
auf das bitmap der flamme rechnen, ich denke das würde
sogar noch viel performance herauskitzeln, aber dazu bin
ich derzeit noch zu dumm (...sprich das hat nicht so ganz
geklappt!)


pwd
__________________
Blog/Lab Xing
pwdVergesser 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:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele