A new website for Actionscript 3 developers, that contributes useful snippets and projects from different authors. Anybody can join as an author, just send your snippet or project and I will have a look on it. Check the author section for more information!
So this should not be a normal tutorial site, it should be a database of useful snippets that Actionscript 3 developers detect by developing flash. So if you think that you have collected cool snippets over the last years and you would like to share with other developers, please feel free to let us know. I´m waiting for your mail .
P.S. I will contribute no tutorials any more on this blog, all this stuff will be publsihed on actionscript-library.
In the past I built my own CMS to manage flash content. But when I add a string with HTML to a XML node, all special characters was encoded. A "<" will be saved as "<" and so on. But I would like to save all special characters as decoded characters.
I searched the web for a good solution at first and I found a class written in Javascript, which would solve my problem. So I transform this one to Actionscript 3 and call the class HtmlUtility.as. This class has 2 static methods so far:
decode(string:String) - Decode a string with HTML
hexDeccode(colorStr:String) - Decode a hexadecimal color into a number
This function create a shape that so wide as your viewport width and half-high as your viewport height. So the reflection starts at the vertical middle of your viewport.
I cache the viewportreflection and the shape as bitmaps to get a drop-off reflection.
At last I add a blurfilter to the reflection viewport.
You can adjust the drop-off by setting the alpha (0-100), the ratio (0-255) and the blur (0-*) as parameters in the function.
3. Create a instance of reflectionview and call the dropOff() method.
var view:ReflectionView = new Reflectionview();
view.dropOff(20, 200, 10);
That´s it. Now you can apply easily a drop-off reflection over and over again. If anybody has a better solution for it, please let us know.
I noticed that my tutorial, how you can build a flash gallery with milkbox, has the most clicks on my blog. So I translate it in english and contribute it on the ActiveDen blog.
I decide to continue my blog in english. Since I´m an author on ActiveDen, I got many clicks from other countries. I also recognize that the translator doesn´t work so well. In addition I can improve my english. But I don´t delete the current german posts, these are a good entrance for beginners.
Some of you may recognize that my new homepage isn´t still released. In the past I took in hand to build a extraordinary papervision website, but I have really no time for it. So I decide to develop a clean and simple website with some information about me and my projects, which will be uploaded in the next weeks.
P.S.
I disregard my blog in the last weeks, but I will publish new tutorials about Papervision in the next days.
Seit einiger Zeit treibe ich mich auf dem ActiveDen ehemals FlashDen Portal herum. Dort habe ich die Möglichkeit Flashanwendungen zu verkaufen. Bisher sind 3 Apps von mir hochgeladen und es werden mit Sicherheit nicht die Letzten sein. Darunter findet ihr auch nette Papervision Apps und mein Flaggschiff, worauf ich besonders stolz bin :
FancyText - Eine Text Tween Engine mit der ihr die einzelnen Buchstaben oder Wörter eines Textfeldes tweenen könnt.
Als ich letztens die Actionscript Doku nach einer "title" Eigenschaft durchforstet habe, die mit dem title Attribut in HTML zu vergleichen ist, habe ich überraschenderweise nichts dazu gefunden. Deswegen habe ich mich mal hingesetzt und eine Klasse geschrieben mit der ihr ganz einfach eine Titlebox zu jedem Symbol auf eurer Bühne hinzufügen könnt.
Fahrt im folgenden Beispiel mit der Maus über mein Logo und lasst eure Maus an einer beliebigen Stelle stehen. Nach etwa einer halben Sekunden sollte die Titlebox auftauchen. Ja ich weiss, nix aufregendes, so eine Titlebox. Ihr könnt diese natürlich nicht nur bei Titeln für eure Symbole verwenden, sondern auch irgendwelche Informationen hineinschreiben.
The Flash plugin is required to view this object.
Usage:
import com.radykal.TitleBox;
var tb:TitleBox = new TitleBox();
tb.add(myTarget, "radykal Logo");
addChild(tb);
//wenn ihr das Aussehen der Titlebox anpassen möchtet, dann erwartet der Konstruktor 4 Parameter (Textgrösse, Textfarbe, Hintergrundfarbe, Rahmenfarbe)var tb:TitleBox = new TitleBox(12, 0x000000, 0xFFFFCC, 0x999999);
Ich habe eine Klasse geschrieben mit der ihr ganz einfach Textfelder und Movieclips scrollen könnt. Besonders an der Klasse ist, dass ihr keine vorgestaltete Scrollbuttons verwenden müsst, sondern ihr euch individuelle Scrollbuttons bauen könnt. Diese müsst ihr dann nur als Movieclip oder Button auf der Bühne positionieren. Dazu könnt ihr noch eine smoothige Bewegung aktivieren.
Beispiel:
The Flash plugin is required to view this object.
Usage:
import com.radykal.MultiScroller;
var mscroller:MultiScroller = new MultiScroller(target_mc, {sd:down_btn, su:up_btn, speed:5, rectangle:350, smooth:true, duration: 0.4});
//Auf smooth und duration kann man auch verzichten, smooth ist voreingestellt auf true und duration auf 0.3var mscroller:MultiScroller = new MultiScroller(target_mc, {sd:down_btn, su:up_btn, speed:5, rectangle:350});
UPDATE: Nun ist es auch möglich in der Horizontale zu scrollen. Einfach als letzten Parameter direction auf "horizontal" setzen. Wenn du vertikal scrollen möchtest, dann kannst du den Parameter weg lassen.
import com.radykal.MultiScroller;
var mscroller:MultiScroller = new MultiScroller(target_mc, {sd:right_btn, su:left_btn, speed:5, rectangle:350, direction:"horizontal"});
... wie soll das denn gehen, fragen sich jetzt wahrscheinlich viele von euch. Aber ihr kennt doch dieses "Problem": Ihr schreibt eine schöne lange Funktion, die z.B. durch ein Mausereignis aufgerufen wird. Nun wollt ihr diese Funktion auch ohne ein Mausereignis aufrufen, jedoch erwartet diese Funktion als Parameter ein Mausereignis. Natürlich könnt ihr noch einmal eine Funktion schreiben, die den gleichen Inhalt hat und diese einfach am Anfang ausführen lassen.
Aber es geht bedeuten einfacher.
stage.addEventListener(MouseEvent.CLICK, eventhandler);
eventhandler(null);
function eventhandler(evt:MouseEvent):void{trace("function call");
}
Das ist schon alles. Man gibt einfach dem eventhandler ein null-Objekt als Parameter mit. In meinem Beispiel wird der Eventhandler beim ersten Mal aufgerufen und dann immer wieder, wenn man auf die Bühne klickt.
In meinem Beispiel lade ich mir die Bilder über eine XML Datei in meine swf. Dazu lasse ich mir von jedem Bild den Ladestatus anzeigen. Sobald das Bild geladen ist, wird es mit Hilfe von TweenMax eingefadet.
Der Code der .fla ist echt simpel und auch für AS Neulinge verständlich.
UPDATE: Da die Qualität nicht ganz so gut war, habe ich meine ImageScaler Klasse updaten müssen. Mit smoothing der Bitmap Klasse lassen sich die Bilder sehr schön glätten und somit ist der Qualitätsverlust noch geringer. Die ImageScaler Klasse wurde in diesem und vorigem Eintrag geupdated.