March 5, 2010

How to write valid HTML/XHTML code with embedded Flash

This code is tested on all major browsers: Firefox (Win/Linux), IE, Opera, Safary, Chrome.

HTML code:

<object type="application/x-shockwave-flash" data="flash_file.swf" width="100%" height="100%">     <param name="movie" value="flash_file.swf" />     <param name="quality" value="high" />     <param name="wmode" value="transparent" /> </object>

May 30, 2009

Load an image (jpeg, png, gif) or a swf using ActionScript 3.0

Here is an example that illustrate how you can upload an image or a swf in your Flash ActionScript 3.0 project .

ActionScript 3.0 code:

// create the MovieClip that will hold the object loaded var _mc:MovieClip = new MovieClip(); addChild(_mc); // create the URLRequest with the path to the object you want to load var request:URLRequest = new URLRequest("image.jpg"); var loader = new Loader(); // create the Loader object loader.load(request); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onLoadProgress); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadError); // call this function when the object is loading function onLoadProgress(event:ProgressEvent):void {     // display the percentage loaded     trace(int(event.bytesLoaded/event.bytesTotal*100)+"%");     // display the bytes loaded and the total number of bytes     trace(event.bytesLoaded+":"+event.bytesTotal); } // call this function when the object is loaded function onLoadComplete(event:Event):void { // duplicate and resize a loaded image (doesn't work for swf) // ----->     var objectDuplicate:Bitmap = new Bitmap(loader.content.bitmapData.clone());     objectDuplicate.width = 100;     objectDuplicate.height = 100;     objectDuplicate.smoothing = true;     _mc.addChild(objectDuplicate); // ----->     _mc.addChild(loader); // attach object to MovieClip } // call this function if the path to the object that you want to load is not valid function onLoadError(event:Event):void {         trace("Error! The URL was not found."); }

May 5, 2009

How to trigger an event with ActionScript 3.0 when the sizes of a swf’s stage are modified

This is very useful when you try to create a “liquid” flash application.

ActionScript 3.0 code:

//The next 2 lines are not mandatory. //Use them if you whant to keep the original sizes. stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; // Other values: //TOP, BOTTOM, LEFT, RIGHT, TOP_RIGHT // BOTTOM_LEFT, BOTTOM_RIGHT stage.addEventListener(Event.RESIZE, resizeHandler); function resizeHandler(event:Event):void {         trace(stage.stageWidth);         trace(stage.stageHeight);         trace("An event has been triggered."); }

May 3, 2009

How to parse a XML file using ActionScript 3.0

Here is an example on how to get data from XML file using ActionScript 3.0.

XML file example:

<?xml version="1.0" encoding="utf-8"?> <Data>     <Title font="Arial">         XML Example     </Title>     <HTML_Example>         <![CDATA[You can add html text here.]]>     </HTML_Example>     <List>         <URL>http://www.mariuscristiandonea.com</URL>         <URL>http://www.mariuscristiandonea.com</URL>         <URL>http://www.mariuscristiandonea.com</URL>         <URL>http://www.mariuscristiandonea.com</URL>         <URL>http://www.mariuscristiandonea.com</URL>         <URL>http://www.mariuscristiandonea.com</URL>         <URL>http://www.mariuscristiandonea.com</URL>         <URL>http://www.mariuscristiandonea.com</URL>         <URL>http://www.mariuscristiandonea.com</URL>         <URL>http://www.mariuscristiandonea.com</URL>     </List> </Data>

ActionScript 3.0 code:

var XMLLoader:URLLoader; var XMLPath:URLRequest; var XMLDoc:XMLDocument = new XMLDocument(); XMLDoc.ignoreWhite = true; XMLPath = new URLRequest("test.xml"); XMLLoader = new URLLoader(XMLPath); // Call extractXMLFileData function if the XML file does load. XMLLoader.addEventListener("complete", extractXMLFileData); // Call errorXMLFileData function if the XML file didn't load. XMLLoader.addEventListener("ioError", errorXMLFileData); // This function parse the data from the XML file, if it is loaded. function extractXMLFileData(event:Event):void {     var XMLData:XML = XML(XMLLoader.data);     XMLDoc.parseXML(XMLData.toXMLString()); // Define the first node.     var DataNode:XMLNode = XMLDoc.firstChild; // Read a node attribute.     trace(DataNode.firstChild.attributes.font); // Read a node value.     trace(DataNode.firstChild.firstChild.nodeValue); // Here we read the node value that contains the HTML text.     trace(DataNode.childNodes[1].firstChild.nodeValue); // In the next "for" we read all the URL nodes.     for (var currentNode = DataNode.childNodes[2].firstChild; currentNode != null; currentNode=currentNode.nextSibling)     { // If the name of the node is "URL" then we read the value from it.         if (currentNode.nodeName == "URL")         {             trace(currentNode.firstChild.nodeValue);         }     } } // This function takes action if the XML file didn't load. function errorXMLFileData(event:Event):void {     trace("Error! The XML file didn't load!"); }

April 29, 2009

How to change a movie clip color using ActionScript 3.0

This is a function that changes the color of a video given as a parameter in a new color given as parameter as well.

ActionScript 3.0 code:

import flash.geom.ColorTransform; // import ColorTransform class function setColor(_mc:MovieClip, color):void {     var newColor:ColorTransform = _mc.transform.colorTransform;     newColor.color = color;     _mc.transform.colorTransform = newColor; } setColor(bigBtn.icon.bg, 0xff0000); //call the function