Couple of bits of code for saving files using AIR: This way does not open the save dialogue, just saves it automatically. var stream:FileStream = new FileStream(); var saveFile:File = new File(); saveFile = saveFile.resolvePath(String(courseStructureURL)); var fileStream:FileStream = new FileStream(); fileStream.openAsync(saveFile, FileMode.WRITE); fileStream.writeUTFBytes(String(Structure.xml)); fileStream.addEventListener(Event.CLOSE, fileClosed); fileStream.close(); function fileClosed(e:Event):void { Utils.alert("The course has been updated successfully.");... Continue Reading →
Stopping an AIR app window closing with Flash IDE AS3
If you're doing document manipulation or something you might need to confirm with the user of the app that they want to quit the app before letting them quit. To do this, there's plenty of help online if using Flex, but if writing AIR using the Flash IDE, it's slightly different. 1. Import the NativeWindow... Continue Reading →
Cancel bubbling of an event
If you've set 'cancelable' to true in your event dispatch call, you can call e.stopPropagation(); To stop the event in its bubbling track at the first listener. Good if you've got a CLOSE event for example, and want the first parent who can handle closing things to close it rather than higher great-grandaddy clips.
Stylesheets without external CSS file AS3
Just a wee code snippet in case I need it again one day. Adding stylesheet functionality I'd usually use external CSS for from within the actionscript. Pretty easy: static private function setStyleSheet():void { styleSheet = new StyleSheet(); // create object for each style //links var a:Object = { color: "#FF0000" } styleSheet.setStyle("a", a); var hover:Object... Continue Reading →
PrintJob in AS3
Basic printing in AS3: var my_pj:PrintJob = new PrintJob(); if (my_pj.start()) { try { my_pj.addPage([params]); } catch(e:Error) { // handle error } my_pj.send(); } Where you replace [params] with the Sprite you want to print. If you want to print the provided clip to the print page width, you can resize it to the right... Continue Reading →
SharedObject to save data to local drive AS3
SharedObjects are awesome, store variables locally on the users machine if you're unable to use a database etc. to store it. Here's some code from something using it to increase / store a viewCount variable. public function createSo():void { //create the local Shared Object try { cookie = SharedObject.getLocal(String(moduleID)); // direct reference to the moduleID's... Continue Reading →
Date and Time and Days with AS3
Some useful snippets of code for dealing with the date function in Flash. Needed this stuff when using a database provided start date for a user using an application, so as to know how many days had elapsed since they'd 'started' so had access to new stuff. var then:Number = Date.parse("Oct 25 2010"); var now:Number... Continue Reading →
Stopping Flash caching everything
To stop Flash caching every URLRequested file you pull in, you need to trick flash into thinking the file is different. You can do this by changing the URL with a date/time reference, so the URL is different every time. Try sticking the below on the end of the url to load: "&nocache=" + new... Continue Reading →
Random item from an array
Just a silly wee snippet - often one might forget the -.5! var randomIndex:Number = Math.round(Math.random() * myArray.length-.5);
Switches (case) in AS3
function topicNavHandler(event:MouseEvent):void { switch(event.type) { case MouseEvent.ROLL_OVER: trace("rollover!"); break; case MouseEvent.ROLL_OUT: trace("ROLLOUT!"); break; }
Centering DIVs with CSS in IE
This will align your divs in the center for Internet Explorer if the old standard margin-left:auto etc. doesn't do the do. body { text-align:center; margin:0px; } #center_box { padding-top:200px; width:700px; margin:0 auto; text-align:left; }
draw gradient dynamically with AS3
Found this gem of an example for drawing dynamic gradients: /**************************** Import Classes ****************************/ import flash.display.*; import flash.geom.*; /**************************** Define Variables ****************************/ //Type of Gradient we will be using var fType:String = GradientType.LINEAR; //Colors of our gradient in the form of an array var colors:Array = [ 0xF1F1F1, 0x666666 ]; //Store the Alpha Values in... Continue Reading →