<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/&quot;C0YDR3o5eip7ImA9WxBWF0s.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429</id><updated>2010-02-09T16:19:36.422-08:00</updated><title>FLANTURE</title><subtitle type="html">[ flash adventure ]</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>flanture</name><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>215</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/flanture2" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="flanture2" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><link rel="license" type="text/html" href="http://creativecommons.org/licenses/by-nc-nd/3.0/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">flanture2</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;DkYCR3wycCp7ImA9WxBWF0k.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-3343633246877281682</id><published>2010-02-09T11:31:00.000-08:00</published><updated>2010-02-09T11:36:06.298-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-09T11:36:06.298-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cs4" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorials" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="AS3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title>Pyramids using AS3 drawing API</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7lf7mMIKRLlivdemZCHs-5Mcp1o/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7lf7mMIKRLlivdemZCHs-5Mcp1o/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7lf7mMIKRLlivdemZCHs-5Mcp1o/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7lf7mMIKRLlivdemZCHs-5Mcp1o/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Let's continue from where we finished last post. We have Triangle AS3.0 class up and running and we want to use it and draw some pyramids.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_uwXDfjmWSjM/S3G4YmrsYvI/AAAAAAAAAcE/1xrfVXkT118/s1600-h/ActionScriptPyramides.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 270px;" src="http://2.bp.blogspot.com/_uwXDfjmWSjM/S3G4YmrsYvI/AAAAAAAAAcE/1xrfVXkT118/s400/ActionScriptPyramides.jpg" alt="" id="BLOGGER_PHOTO_ID_5436328958053081842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;If you look carefully you will notice that every pyramid consist of two triangles. This is actually simplified version where only two sides are visible and front side triangle has 3 x 60 degrees angles. This is the reason why we need only top pyramid point coordinates and its height, because with some simple math we can easily find other points.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Here is Pyramide.as class&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;package com.blogspot.flanture.triangles&lt;br /&gt;{&lt;br /&gt; import com.blogspot.flanture.triangles.Triangle;&lt;br /&gt; import flash.display.Sprite;&lt;br /&gt; import flash.geom.Point;&lt;br /&gt; &lt;br /&gt; public class Pyramide extends Sprite&lt;br /&gt; {&lt;br /&gt;  private var p:Point; // top pyramide point&lt;br /&gt;  private var h:Number; // pyramide height&lt;br /&gt;  &lt;br /&gt;  // for pyramide we need single Point and height value&lt;br /&gt;  public function Pyramide(_p:Point, _h:Number)&lt;br /&gt;  {&lt;br /&gt;   p = _p;&lt;br /&gt;   h = _h;&lt;br /&gt;   &lt;br /&gt;   var b:Number = Math.sqrt((4/3)*h*h);&lt;br /&gt;   var p1x:Number = p.x - b;&lt;br /&gt;   var p2x:Number = p.x + b;&lt;br /&gt;   var p1y:Number = Math.floor(p.y + h);&lt;br /&gt;   var p2y:Number = Math.floor(p.y + h);&lt;br /&gt;   &lt;br /&gt;   var t1:Triangle = new Triangle(p, new Point(p1x, p1y), new Point(p2x, p2y), true);&lt;br /&gt;   t1.color = 0xDCF479;&lt;br /&gt;   t1.drawIt();&lt;br /&gt;   addChild(t1);&lt;br /&gt;   &lt;br /&gt;   var p3x:Number = p2x + 0.1 * b;&lt;br /&gt;   var p3y:Number = p.y + 0.7 * h;&lt;br /&gt;   &lt;br /&gt;   var t2:Triangle = new Triangle(p, new Point(p2x, p2y), new Point(p3x, p3y), true);&lt;br /&gt;   t2.color = 0xC9EE33;&lt;br /&gt;   t2.drawIt();&lt;br /&gt;   addChild(t2);&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Coordinates for smaller triangle free corner are arbitrarily and it depends on how you want your pyramid to look like.&lt;br /&gt;&lt;br /&gt;That's why you can try and change 0.1 and 0.7 values in finding p3x and p3y.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Here is the code for test example shown on image above:&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;import com.blogspot.flanture.triangles.Triangle;&lt;br /&gt;import com.blogspot.flanture.triangles.Pyramide;&lt;br /&gt;&lt;br /&gt;var pyr:Pyramide = new Pyramide(new Point(100, 100), 50);&lt;br /&gt;addChild(pyr);&lt;br /&gt;&lt;br /&gt;var pyr2:Pyramide = new Pyramide(new Point(250, 125), 75);&lt;br /&gt;addChild(pyr2);&lt;br /&gt;&lt;br /&gt;var pyr3:Pyramide = new Pyramide(new Point(300, 180), 150);&lt;br /&gt;addChild(pyr3);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Learn more about &lt;a href="http://en.wikipedia.org/wiki/Triangle" target="_blank"&gt;triangles and math&lt;/a&gt; behind them.&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-3343633246877281682?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/3343633246877281682/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=3343633246877281682" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/3343633246877281682?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/3343633246877281682?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2010/02/pyramids-using-as3-drawing-api.html" title="Pyramids using AS3 drawing API" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_uwXDfjmWSjM/S3G4YmrsYvI/AAAAAAAAAcE/1xrfVXkT118/s72-c/ActionScriptPyramides.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D0UBQH04cCp7ImA9WxBWE0o.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-6269964176441458549</id><published>2010-02-05T04:58:00.000-08:00</published><updated>2010-02-05T05:07:31.338-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-05T05:07:31.338-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tutorials" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="AS3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title>ActionScript3.0 Triangle Class</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qx2k9IxeuTxb7tB51gYPLvzyO5g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qx2k9IxeuTxb7tB51gYPLvzyO5g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qx2k9IxeuTxb7tB51gYPLvzyO5g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qx2k9IxeuTxb7tB51gYPLvzyO5g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Next two posts are my continuing effort to understand drawing AS3.0 API. Before reading this one you might be interested in previous posts:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;- &lt;a href="http://flanture.blogspot.com/2010/02/visual-rectangles-intersection-as3.html" target="_blank"&gt;Visual rectangles intersection AS3 example&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://flanture.blogspot.com/2010/01/understanding-shearing-using-matrix.html" target="_blank"&gt;Understanding shearing using Matrix object&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://flanture.blogspot.com/2009/09/curves-and-fills-with-as3-drawing-api.html" target="_blank"&gt;Curves and fill with AS3 drawing API&lt;/a&gt;&lt;br /&gt;- &lt;a href="http://flanture.blogspot.com/2009/07/as3-drawing-api-examples.html" target="_blank"&gt;AS3 drawing API examples&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;This post will introduce custom ActionScript3.0 Triangle class and next post will show you how to use it with Pyramide class to draw a pyramid using one Point and pyramid height as only parameters. Triangle class is very simple. It uses 3 Point parameters and one Boolean parameter.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;public function Triangle(a:Point, b:Point, c:Point, d:Boolean)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Parameter d acts as flag, if you make it TRUE triangle will be drawn on stage with predefined color using 3 Point parameters, but if you make it FALSE, triangle will be crated but it will not appear on the stage right away. This option is added if you want to change triangle color before adding it visually. Now, here is Triangle.as&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;package com.blogspot.flanture.triangles&lt;br /&gt;{&lt;br /&gt; import flash.geom.Point;&lt;br /&gt; import flash.display.Sprite;&lt;br /&gt; &lt;br /&gt; public class Triangle extends Sprite&lt;br /&gt; {&lt;br /&gt;  private var _a:Point;&lt;br /&gt;  private var _b:Point;&lt;br /&gt;  private var _c:Point;&lt;br /&gt;  private var _draw:Boolean;&lt;br /&gt;  private var _color:uint = 0x0000ff;&lt;br /&gt;  &lt;br /&gt;  public function set color(newcolor:uint):void&lt;br /&gt;  {&lt;br /&gt;   _color = newcolor;&lt;br /&gt;  }&lt;br /&gt;  public function get color():uint&lt;br /&gt;  {&lt;br /&gt;   return _color;&lt;br /&gt;  }&lt;br /&gt;  public function set draw(newdraw:Boolean):void&lt;br /&gt;  {&lt;br /&gt;   _draw = newdraw;&lt;br /&gt;  }&lt;br /&gt;  public function get draw():Boolean&lt;br /&gt;  {&lt;br /&gt;   return _draw;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  public function Triangle(a:Point, b:Point, c:Point, d:Boolean)&lt;br /&gt;  {&lt;br /&gt;   _a = a;&lt;br /&gt;   _b = b;&lt;br /&gt;   _c = c;&lt;br /&gt;   _draw = d;&lt;br /&gt;   &lt;br /&gt;   // draw it if required&lt;br /&gt;   if(_draw) {&lt;br /&gt;    drawIt();&lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  public function drawIt():void&lt;br /&gt;  {&lt;br /&gt;   this.graphics.clear();&lt;br /&gt;   this.graphics.lineStyle(1);&lt;br /&gt;   this.graphics.beginFill(_color);&lt;br /&gt;   this.graphics.moveTo(_a.x, _a.y);&lt;br /&gt;   this.graphics.lineTo(_b.x, _b.y);&lt;br /&gt;   this.graphics.lineTo(_c.x, _c.y);&lt;br /&gt;   this.graphics.lineTo(_a.x, _a.y);&lt;br /&gt;   this.graphics.endFill();&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now we need some example to see if it works OK. Create new document and enter next code:&lt;br /&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;import com.blogspot.flanture.triangles.Triangle;&lt;br /&gt;&lt;br /&gt;for (var i:uint=0; i&lt;20; i++) {  &lt;br /&gt;   var t:Triangle = new Triangle(grp(), grp(), grp(), true)  &lt;br /&gt;   addChild(t);&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;// get random Point&lt;br /&gt;function grp():Point {  &lt;br /&gt;   var xp:Number = Math.random()*stage.stageWidth;  &lt;br /&gt;   var yp:Number = Math.random()*stage.stageHeight;  &lt;br /&gt;   return new Point(xp, yp);&lt;br /&gt;} &lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;You will get 20 random position blue triangles on stage. If you want to change color, before addChild() method put t.color = newcolor; where newcolor is 0x000000 format.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_uwXDfjmWSjM/S2wWrhFl2wI/AAAAAAAAAb8/nh9bunlGI6M/s1600-h/ActionScript3Triangles.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 280px;" src="http://2.bp.blogspot.com/_uwXDfjmWSjM/S2wWrhFl2wI/AAAAAAAAAb8/nh9bunlGI6M/s400/ActionScript3Triangles.jpg" alt="" id="BLOGGER_PHOTO_ID_5434743787201354498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-6269964176441458549?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/6269964176441458549/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=6269964176441458549" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/6269964176441458549?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/6269964176441458549?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2010/02/actionscript30-triangle-class.html" title="ActionScript3.0 Triangle Class" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_uwXDfjmWSjM/S2wWrhFl2wI/AAAAAAAAAb8/nh9bunlGI6M/s72-c/ActionScript3Triangles.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A0EEQ3Yyfyp7ImA9WxBWEE4.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-4511074204542665615</id><published>2010-02-01T07:46:00.000-08:00</published><updated>2010-02-01T07:53:22.897-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-01T07:53:22.897-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="game development" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="AS3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title>Visual Rectangles Intersection AS3 Example</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JdCJusKxrbfTIvlmu2y1QEv2fgE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JdCJusKxrbfTIvlmu2y1QEv2fgE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JdCJusKxrbfTIvlmu2y1QEv2fgE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JdCJusKxrbfTIvlmu2y1QEv2fgE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;ActionScript3.0 Rectangle class is part of the flash.geom package besides Point, Matrix, Transform and ColorTransform. Any visual representation of rectangles has to be implemented by programmer. One way of doing it is to create new class and here I wanted to include rectangle color as initial parameter, so this new class vRectangle (from visual rectangle, off course) looks something like this:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;vRectangle.as&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;package&lt;br /&gt;{&lt;br /&gt; import flash.geom.Rectangle;&lt;br /&gt; import flash.display.Shape;&lt;br /&gt; import flash.display.Sprite;&lt;br /&gt; &lt;br /&gt; public class vRectangle&lt;br /&gt; {&lt;br /&gt;  public var rect:Rectangle;&lt;br /&gt;  public var shape:Shape;&lt;br /&gt;  &lt;br /&gt;  public function vRectangle(a:Number, b:Number, c:Number, d:Number, e:uint):void&lt;br /&gt;  {&lt;br /&gt;   this.rect = new Rectangle(a, b, c, d);&lt;br /&gt;   this.shape = new Shape();&lt;br /&gt;   this.shape.graphics.beginFill(e);&lt;br /&gt;   this.shape.graphics.lineStyle(2, 0x000000);&lt;br /&gt;   this.shape.graphics.drawRect(rect.x, rect.y, rect.width, rect.height);&lt;br /&gt;   this.shape.graphics.endFill();&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Class has 4 parameters to define a - rectangle's x position, b - rectangle's y position, c - rectangle's width and d - rectangle's height one additional parameter e - which defines rectangle's color.&lt;br /&gt;&lt;br /&gt;This is important because some Rectangle Class methods like intersection and union return Rectangle as result and I wanted to make distinction between objects by using different color.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_uwXDfjmWSjM/S2b4FnQEvyI/AAAAAAAAAbs/X6AbcZGRp0Q/s1600-h/rectangles.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 178px;" src="http://3.bp.blogspot.com/_uwXDfjmWSjM/S2b4FnQEvyI/AAAAAAAAAbs/X6AbcZGRp0Q/s320/rectangles.jpg" alt="" id="BLOGGER_PHOTO_ID_5433302775788519202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;First example creates two rectangles using newly created vRectangle class, finds and displays intersection as different color rectangle. You can move one rectangle with mouse click and intersection rectangle will change accordingly.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;vRecrangleExample1.as&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;import vRectangle;&lt;br /&gt;import flash.display.Shape;&lt;br /&gt;import flash.events.Event;&lt;br /&gt;import flash.events.MouseEvent;&lt;br /&gt;import flash.display.Sprite;&lt;br /&gt;&lt;br /&gt;stage.addEventListener(MouseEvent.CLICK, onClick);&lt;br /&gt;&lt;br /&gt;var board:Sprite = new Sprite();&lt;br /&gt;&lt;br /&gt;var r:vRectangle = new vRectangle(100, 100, 100, 100, 0x0000ff);&lt;br /&gt;var p:vRectangle = new vRectangle(125, 150, 100, 100, 0x0000ff);&lt;br /&gt;&lt;br /&gt;var s1;&lt;br /&gt;var s2;&lt;br /&gt;&lt;br /&gt;s1 = board.addChild(r.shape);&lt;br /&gt;s2 = board.addChild(p.shape);&lt;br /&gt;&lt;br /&gt;var res:Rectangle = r.rect.intersection(p.rect);&lt;br /&gt;var vres:vRectangle = new vRectangle(res.x, res.y, res.width, res.height, 0xffff00);&lt;br /&gt;&lt;br /&gt;board.addChild(vres.shape);&lt;br /&gt;addChild(board);&lt;br /&gt;&lt;br /&gt;function onClick(evt:Event):void&lt;br /&gt;{&lt;br /&gt; board.removeChild(s1);&lt;br /&gt; board.removeChild(s2);&lt;br /&gt; board.graphics.clear();&lt;br /&gt; &lt;br /&gt; var r:vRectangle = new vRectangle(100, 100, 100, 100, 0x0000ff);&lt;br /&gt; var p:vRectangle = new vRectangle(mouseX, mouseY, 100, 100, 0x0000ff);&lt;br /&gt; &lt;br /&gt; s2 = board.addChild(r.shape);&lt;br /&gt; s1 = board.addChild(p.shape);&lt;br /&gt; &lt;br /&gt; var res:Rectangle = r.rect.intersection(p.rect);&lt;br /&gt; var vres:vRectangle = new vRectangle(res.x, res.y, res.width, res.height, 0xffff00);&lt;br /&gt; board.addChild(vres.shape);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Next example aims to include just a little bit more interactivity. It recreates one of the rectangles to mouse position on every enter frame event. Oh, board is drawing board dummy Sprite.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;vRectangleExample2.as&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;import vRectangle;&lt;br /&gt;import flash.display.Shape;&lt;br /&gt;import flash.events.Event;&lt;br /&gt;import flash.display.Sprite;&lt;br /&gt;&lt;br /&gt;stage.addEventListener(Event.ENTER_FRAME, onFrame);&lt;br /&gt;&lt;br /&gt;var board:Sprite = new Sprite();&lt;br /&gt;&lt;br /&gt;var r:vRectangle = new vRectangle(100, 100, 100, 100, 0x0000ff);&lt;br /&gt;var p:vRectangle = new vRectangle(125, 150, 100, 100, 0x0000ff);&lt;br /&gt;&lt;br /&gt;var s1;&lt;br /&gt;var s2;&lt;br /&gt;&lt;br /&gt;s1 = board.addChild(r.shape);&lt;br /&gt;s2 = board.addChild(p.shape);&lt;br /&gt;&lt;br /&gt;var res:Rectangle = r.rect.intersection(p.rect);&lt;br /&gt;var vres:vRectangle = new vRectangle(res.x, res.y, res.width, res.height, 0xffff00);&lt;br /&gt;&lt;br /&gt;board.addChild(vres.shape);&lt;br /&gt;addChild(board);&lt;br /&gt;&lt;br /&gt;function onFrame(evt:Event):void&lt;br /&gt;{&lt;br /&gt; board.removeChild(s1);&lt;br /&gt; board.removeChild(s2);&lt;br /&gt; board.graphics.clear();&lt;br /&gt; &lt;br /&gt; var r:vRectangle = new vRectangle(100, 100, 100, 100, 0x0000ff);&lt;br /&gt; var p:vRectangle = new vRectangle(mouseX-50, mouseY-50, 100, 100, 0x0000ff);&lt;br /&gt; &lt;br /&gt; s2 = board.addChild(r.shape);&lt;br /&gt; s1 = board.addChild(p.shape);&lt;br /&gt; &lt;br /&gt; var res:Rectangle = r.rect.intersection(p.rect);&lt;br /&gt; var vres:vRectangle = new vRectangle(res.x, res.y, res.width, res.height, 0xffff00);&lt;br /&gt; board.addChild(vres.shape);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;It doesn't have to be intersection, you can just as easy use union method with more than two rectangles as well. Rectangles are often used in games development to find objects collision as quick and 'good enough' method instead of exact shape collision detection.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-4511074204542665615?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/4511074204542665615/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=4511074204542665615" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/4511074204542665615?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/4511074204542665615?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2010/02/visual-rectangles-intersection-as3.html" title="Visual Rectangles Intersection AS3 Example" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_uwXDfjmWSjM/S2b4FnQEvyI/AAAAAAAAAbs/X6AbcZGRp0Q/s72-c/rectangles.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DkMNQHk8fSp7ImA9WxBXGEQ.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-1099333549757220533</id><published>2010-01-30T15:31:00.000-08:00</published><updated>2010-01-30T15:34:51.775-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-30T15:34:51.775-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="fun" /><title>How to migrate to ActionScript3.0 without losing your soul</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/OjFjZFhOXvWx-A33IrtgNZWAmK4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OjFjZFhOXvWx-A33IrtgNZWAmK4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/OjFjZFhOXvWx-A33IrtgNZWAmK4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/OjFjZFhOXvWx-A33IrtgNZWAmK4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;My advice is:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_uwXDfjmWSjM/S2TBvJjSP5I/AAAAAAAAAbk/b_qSKHz3Wks/s400/howtoas3.jpg" alt="" id="BLOGGER_PHOTO_ID_5432680066277588882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-1099333549757220533?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/1099333549757220533/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=1099333549757220533" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/1099333549757220533?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/1099333549757220533?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2010/01/how-to-migrate-to-actionscript30.html" title="How to migrate to ActionScript3.0 without losing your soul" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_uwXDfjmWSjM/S2TBvJjSP5I/AAAAAAAAAbk/b_qSKHz3Wks/s72-c/howtoas3.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;CUIFRHo9eSp7ImA9WxBQGUQ.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-4303087063616645175</id><published>2010-01-20T05:10:00.000-08:00</published><updated>2010-01-20T05:18:35.461-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-20T05:18:35.461-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tutorials" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="AS3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="animations" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title>Understanding shearing using Matrix object</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BlBQYnDFWjwzTzycJG-GEKpNkTM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BlBQYnDFWjwzTzycJG-GEKpNkTM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BlBQYnDFWjwzTzycJG-GEKpNkTM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BlBQYnDFWjwzTzycJG-GEKpNkTM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Any display object in AS3.0 Flash project has transform property and among other things you can use this property to shear (skew) that object. Easy way to do this is to use Matrix object. Now, Matrix object isn't so difficult to understand, although it is scary to some (for unexplainable reasons). All you have to do is understand it's parameters and what they do. Here is simple list.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Matrix(a, b, c, d, tx, ty)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;a&lt;/span&gt; - x scale of display object&lt;br /&gt;&lt;span style="font-style: italic;"&gt;b&lt;/span&gt; - y shearing of display object&lt;br /&gt;&lt;span style="font-style: italic;"&gt;c&lt;/span&gt; - x shearing of display object&lt;br /&gt;&lt;span style="font-style: italic;"&gt;d&lt;/span&gt; - y scale of display object&lt;br /&gt;&lt;span style="font-style: italic;"&gt;tx&lt;/span&gt; - x translation&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ty&lt;/span&gt; - y translation&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Let's add some Sprites and see how different parameters values change display object. First create new Flash AS3 project, open actions panel and input these import statements.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;import flash.display.Sprite;&lt;br /&gt;import flash.geom.Matrix;&lt;br /&gt;import flash.display.MovieClip;&lt;br /&gt;import flash.events.Event;&lt;br /&gt;&lt;br /&gt;We will create few boxes and place them on stage.&lt;br /&gt;&lt;br /&gt;var box:Sprite = new Sprite();&lt;br /&gt;box.graphics.lineStyle(1, 0x0000ff); // blue object&lt;br /&gt;box.graphics.drawRect(0, 0, 100, 100);&lt;br /&gt;addChild(box);&lt;br /&gt;box.transform.matrix = new Matrix(1, 0, 0, 1, 50, 100);&lt;br /&gt;&lt;br /&gt;var box1:Sprite = new Sprite();&lt;br /&gt;box1.graphics.lineStyle(1, 0x00ff00); // green object&lt;br /&gt;box1.graphics.drawRect(0, 0, 100, 100);&lt;br /&gt;addChild(box1);&lt;br /&gt;box1.transform.matrix = new Matrix(1, .5, 0, 1, 50, 200);&lt;br /&gt;&lt;br /&gt;var box2:Sprite = new Sprite();&lt;br /&gt;box2.graphics.lineStyle(1, 0xff0000); // red object&lt;br /&gt;box2.graphics.drawRect(0, 0, 100, 100);&lt;br /&gt;addChild(box2);&lt;br /&gt;box2.transform.matrix = new Matrix(1, 0, .5, 1, 150, 100);&lt;br /&gt;&lt;br /&gt;var box3:Sprite = new Sprite();&lt;br /&gt;box3.graphics.lineStyle(1, 0x000000); // black border object&lt;br /&gt;box3.graphics.drawRect(0, 0, 100, 100);&lt;br /&gt;addChild(box3);&lt;br /&gt;box3.transform.matrix = new Matrix(1, .5, .5, 1, 150, 200);&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Take a look how different values of b and c parameter shear display object along x and y axis.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_uwXDfjmWSjM/S1cB1DR6DRI/AAAAAAAAAbM/2UqUUTK3SMs/s1600-h/FlashShearingExample.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 318px; height: 287px;" src="http://4.bp.blogspot.com/_uwXDfjmWSjM/S1cB1DR6DRI/AAAAAAAAAbM/2UqUUTK3SMs/s320/FlashShearingExample.jpg" alt="" id="BLOGGER_PHOTO_ID_5428809886743530770" border="0" /&gt;&lt;/a&gt;This also works for any display object. Feel free to create new MovieClip, give it linkage name gBox. Use next code:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;var gBox1:gBox = new gBox();&lt;br /&gt;addChild(gBox1);&lt;br /&gt;gBox1.x = 400;&lt;br /&gt;gBox1.y = 150;&lt;br /&gt;&lt;br /&gt;var gBox2:gBox = new gBox();&lt;br /&gt;gBox1.x = 400;&lt;br /&gt;gBox1.y = 150;&lt;br /&gt;addChild(gBox2);&lt;br /&gt;gBox2.transform.matrix = new Matrix(1, .5, .5, 1, 550, 300);&lt;br /&gt;&lt;br /&gt;Here is the result.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_uwXDfjmWSjM/S1cB9l040DI/AAAAAAAAAbU/qy_FcRxwIjw/s1600-h/DisplayObjectShearing.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 299px;" src="http://4.bp.blogspot.com/_uwXDfjmWSjM/S1cB9l040DI/AAAAAAAAAbU/qy_FcRxwIjw/s320/DisplayObjectShearing.jpg" alt="" id="BLOGGER_PHOTO_ID_5428810033456009266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You can even include shearing effect inside animation. Create another box Sprite and add counter variable. This variable will track amount of shearing. For testing purposes use simple onFrame function.&lt;br /&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;var box4:Sprite = new Sprite(  );&lt;br /&gt;box4.graphics.lineStyle(1, 0x000000);&lt;br /&gt;box4.graphics.drawRect(0, 0, 100, 100);&lt;br /&gt;addChild(box4);&lt;br /&gt;box4.x = 500;&lt;br /&gt;box4.y = 50;&lt;br /&gt;var counter:Number = 0;&lt;br /&gt;&lt;br /&gt;stage.addEventListener(Event.ENTER_FRAME, onFrame, false, 0, true);&lt;br /&gt;&lt;br /&gt;function onFrame(evt:Event):void&lt;br /&gt;{&lt;br /&gt; if (counter &amp;gt; .98) {&lt;br /&gt;  counter = 0;&lt;br /&gt; }else{&lt;br /&gt;  counter += 0.01;&lt;br /&gt;  box4.transform.matrix = new Matrix(1, 0, counter, 1, 0, 0);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;That's all. Now you understand shearing using Matrix object. So do I.&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-4303087063616645175?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/4303087063616645175/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=4303087063616645175" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/4303087063616645175?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/4303087063616645175?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2010/01/understanding-shearing-using-matrix.html" title="Understanding shearing using Matrix object" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_uwXDfjmWSjM/S1cB1DR6DRI/AAAAAAAAAbM/2UqUUTK3SMs/s72-c/FlashShearingExample.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUYHQXo-fCp7ImA9WxBQE00.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-2215345218290954917</id><published>2010-01-12T06:36:00.000-08:00</published><updated>2010-01-12T06:38:50.454-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-12T06:38:50.454-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="AS3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="downloads" /><title>SearchArray AS3 Functions</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/rN34y6t_Iow6jwfNoRt25ALqwyY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rN34y6t_Iow6jwfNoRt25ALqwyY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/rN34y6t_Iow6jwfNoRt25ALqwyY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/rN34y6t_Iow6jwfNoRt25ALqwyY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;By far the most downloaded file from this blog is &lt;a href="http://flanture.blogspot.com/2007/11/search-array-actionscript-functions.html" target="_blank"&gt;search array functions&lt;/a&gt; which have been downloaded more than 2050 times until today. Mattaka noticed in comment how union function is no different from intersection function, but actually function name is wrong - it is functions which returns intersection of two arrays.&lt;br /&gt;&lt;br /&gt;I have rewritten all functions into ActionScript3.0 version and added one more. &lt;span style="font-style: italic;"&gt;Combine function&lt;/span&gt; takes two arrays and returns single resulting array. If two given arrays are a[1,2,3] and b[4,5,6,7,8] resulting array will combine them into c[1,4,2,5,3,6,7,8].&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;a href="http://www.box.net/shared/7fj14higai" target="_blank"&gt;download as3 SearchArray class&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Class comes with usage examples. I'll try to add some new functions soon.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-2215345218290954917?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/2215345218290954917/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=2215345218290954917" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/2215345218290954917?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/2215345218290954917?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2010/01/searcharray-as3-functions.html" title="SearchArray AS3 Functions" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D0IEQHk9eip7ImA9WxBRFk0.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-5842118449967845554</id><published>2010-01-04T03:39:00.000-08:00</published><updated>2010-01-04T03:45:01.762-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-04T03:45:01.762-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="video" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorials" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="downloads" /><title>HowTo create Flash video captions using Subtitle Workshop</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KaQTpERi0aHrlEIr5yJ_M5-sYpo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KaQTpERi0aHrlEIr5yJ_M5-sYpo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KaQTpERi0aHrlEIr5yJ_M5-sYpo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KaQTpERi0aHrlEIr5yJ_M5-sYpo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;My choice for creating Flash video captions is simple work-flow which uses Subtitle Workshop, free subtitle editor. I'm using software version 2.51 which has support for 56 different formats, but doesn't have support for TT format (Timed Text), W3C standard used for Flash video files. More about &lt;a href="http://www.w3.org/AudioVideo/TT/" target="_blank"&gt;Timed Text&lt;/a&gt; specifications.&lt;br /&gt;&lt;br /&gt;However, you can very easily find this format support and implement it into Subtitle Workshop. Learn about &lt;a href="http://www.longtailvideo.com/support/forum/General-Chat/5723/Timed-Text-Captions-Any-exporter-out-there-" target="_blank"&gt;integration&lt;/a&gt;. Bottom line is you only need single .cfp (custom format) file.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.box.net/shared/qtp4b653kf" target="_blank"&gt;Download custom format file&lt;/a&gt;. (by &lt;a href="http://www.longtailvideo.com/" target="_blank"&gt;LongTailVideo&lt;/a&gt;)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;What you do after downloading this 1 Kb file is unzipp it and move to &lt;b&gt;...\URUSoft\Subtitle Workshop\CustomFormats&lt;/b&gt; folder. Open your Subtitle Workshop software, go to File - New Subtitle and create few dummy lines. When you need to save, choose Save as - custom formats and select (or load) your new TT format.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_uwXDfjmWSjM/S0HT6xjKD5I/AAAAAAAAAbE/ZlcKKdC1zKM/s1600-h/CustomSWFormat.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 201px;" src="http://1.bp.blogspot.com/_uwXDfjmWSjM/S0HT6xjKD5I/AAAAAAAAAbE/ZlcKKdC1zKM/s400/CustomSWFormat.jpg" alt="" id="BLOGGER_PHOTO_ID_5422848433017458578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;That's all there is about it, you are ready to make captions with you home made videos. Multilingual support is available.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-5842118449967845554?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/5842118449967845554/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=5842118449967845554" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/5842118449967845554?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/5842118449967845554?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2010/01/howto-create-flash-video-captions-using.html" title="HowTo create Flash video captions using Subtitle Workshop" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_uwXDfjmWSjM/S0HT6xjKD5I/AAAAAAAAAbE/ZlcKKdC1zKM/s72-c/CustomSWFormat.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkUER3Y9fip7ImA9WxBREU4.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-5960198844858980364</id><published>2009-12-29T17:54:00.000-08:00</published><updated>2009-12-29T17:56:46.866-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-29T17:56:46.866-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="blog" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><title>Thank you for 2009.</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CHbPcXijut8KGhmA3YSHNonrI1w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CHbPcXijut8KGhmA3YSHNonrI1w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CHbPcXijut8KGhmA3YSHNonrI1w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CHbPcXijut8KGhmA3YSHNonrI1w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;This year was successful for me both in my private life and outside of it. I got job promotion back in January and I didn't s... it up, which is kinda surprise for me :) When I think about it, now when this year is almost at its end, it was one of the best years recently.&lt;br /&gt;&lt;br /&gt;My hobby in blogging and Flash has reached the point when I really feel I can advance very fast and learn new staff quickly, so for next year I'm making one extra step. Although, this road was bumpy and few times I almost dropped it all (blogging + Flash), somehow I always found my way back. I guess I'm more addicted than I realized it!&lt;br /&gt;&lt;br /&gt;Actually, the main reason for constantly coming back is YOU! Thousands of readers every month is not something I can ignore, so thank you all for reading my blog. I wish you all happy New Year and good health.&lt;br /&gt;&lt;br /&gt;See you in 2010.&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-5960198844858980364?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/5960198844858980364/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=5960198844858980364" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/5960198844858980364?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/5960198844858980364?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/12/thank-you-for-2009.html" title="Thank you for 2009." /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A0EEQno4fCp7ImA9WxBSEEs.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-1891437848690733941</id><published>2009-12-17T08:58:00.000-08:00</published><updated>2009-12-17T09:06:43.434-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-17T09:06:43.434-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flash player" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="flash tools" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="AS3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="animations" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title>ActionScript TextFormat Animation Effect</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/O2mM0A9bMRfVMNkKyVo-loOA91M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O2mM0A9bMRfVMNkKyVo-loOA91M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/O2mM0A9bMRfVMNkKyVo-loOA91M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/O2mM0A9bMRfVMNkKyVo-loOA91M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Something I haven't seen around and I have need for is multiple selection tool. What is functionality of it? I want to paste any text inside TextField, than to be able to select one sentence from beginning of text with mouse drag action, then select another sentence from distant part of the text while selection of first sentence stays visible, and so on. After I select everything I wanted, button click action needs to copy multiple selected text inside new TextField, so I can use it in for something else. If I had to select 20 different sentences I'm saving time significantly. Anyone knows about such tool?&lt;br /&gt;&lt;br /&gt;Problem is you can set background color only to entire TextField. Now, I'm not familiar with Text Layout Framework and I'm not sure if this can be resolve using it, but even if it can then I need to target only latest Flash Player.&lt;br /&gt;&lt;br /&gt;Only solution left is to use TextFormat class to make selected text different from not selected one. Until I make it work, here is one example how to use TextFormat ActionScript class for animation effect.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 283px;" src="http://4.bp.blogspot.com/_uwXDfjmWSjM/SypjejeBgrI/AAAAAAAAAas/qc8EqxfTPEs/s400/FlashTextFieldAnimation.jpg" alt="" id="BLOGGER_PHOTO_ID_5416250878434837170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;First we need to do is import some stuff.&lt;br /&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;import flash.events.Event;&lt;br /&gt;import flash.events.MouseEvent;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Next thing we do is to create our input text field and two text formats, default format and selected text format:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;var txtFld:TextField = new TextField();&lt;br /&gt;&lt;br /&gt;var defaultFormat:TextFormat = new TextFormat();&lt;br /&gt;defaultFormat.color = 0x000000;&lt;br /&gt;defaultFormat.underline = false;&lt;br /&gt;defaultFormat.bold = false;&lt;br /&gt;&lt;br /&gt;var selectedFormat:TextFormat = new TextFormat();&lt;br /&gt;selectedFormat.color = 0x0000FF;&lt;br /&gt;selectedFormat.underline = true;&lt;br /&gt;selectedFormat.bold = true;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;We set look and feel for our input text field, some random lorem ipsum text and we add the text field to the stage:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;txtFld.name = 'input_field';&lt;br /&gt;txtFld.width = 300;&lt;br /&gt;txtFld.height = 400;&lt;br /&gt;txtFld.x = 50;&lt;br /&gt;txtFld.y = 50;&lt;br /&gt;txtFld.alwaysShowSelection = true;&lt;br /&gt;txtFld.border = true;&lt;br /&gt;txtFld.borderColor = 0x000000;&lt;br /&gt;txtFld.defaultTextFormat = defaultFormat;&lt;br /&gt;txtFld.multiline = true;&lt;br /&gt;txtFld.wordWrap = true;&lt;br /&gt;txtFld.background = true;&lt;br /&gt;txtFld.backgroundColor = 0xCCCCCC;&lt;br /&gt;txtFld.type = TextFieldType.INPUT;&lt;br /&gt;txtFld.text = "Lorem ipsum dolor sit ...";&lt;br /&gt;addChild(txtFld);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;In order to make multiple selection functionality work I'll need another output text field, but right now for this example we don't need it, so let's skip that step and write some code to animate our formats:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; background-color: rgb(255, 255, 255); width: 500px; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;var i:int = 3;&lt;br /&gt;addEventListener(Event.ENTER_FRAME, onEF, false, 0, true);&lt;br /&gt;&lt;br /&gt;function onEF(evt:Event):void {&lt;br /&gt;     if (i &amp;lt; txtFld.length-1){&lt;br /&gt;             txtFld.setTextFormat(selectedFormat, i, i+1);&lt;br /&gt;             txtFld.setTextFormat(defaultFormat, i-2, i-1);&lt;br /&gt;             i+=1;&lt;br /&gt;     }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;This on enter frame function means text format will change only for 2 characters at the time, while previously changed characters return to default format.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-1891437848690733941?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/1891437848690733941/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=1891437848690733941" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/1891437848690733941?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/1891437848690733941?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/12/actionscript-textformat-animation.html" title="ActionScript TextFormat Animation Effect" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_uwXDfjmWSjM/SypjejeBgrI/AAAAAAAAAas/qc8EqxfTPEs/s72-c/FlashTextFieldAnimation.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DUYHQH46eCp7ImA9WxBTFUo.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-8152669737985340184</id><published>2009-12-11T16:07:00.000-08:00</published><updated>2009-12-11T16:18:51.010-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-11T16:18:51.010-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="web development" /><category scheme="http://www.blogger.com/atom/ns#" term="flash builder" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="flex builder" /><category scheme="http://www.blogger.com/atom/ns#" term="RIA" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="flash tools" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title>Flash Builder 4 (almost there)</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hFHmDI54EOn4toYnv2DR_hcd6kU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hFHmDI54EOn4toYnv2DR_hcd6kU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hFHmDI54EOn4toYnv2DR_hcd6kU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hFHmDI54EOn4toYnv2DR_hcd6kU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Not yet a final release, but Flash Builder 4 (artist previously known as Flex Builder) is in beta 2 stage of development and 60 days trial is &lt;a href="http://labs.adobe.com/technologies/flashbuilder4/" target="_blank"&gt;available from Adobe Labs&lt;/a&gt; page. I guess this link will be valid for final release too :)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 188px;" src="http://1.bp.blogspot.com/_uwXDfjmWSjM/SyLfo-h58MI/AAAAAAAAAac/uzElQ3M9nAQ/s400/FlashBuilder4Beta2.jpg" border="0" alt="Flash Builder 4 preview screen" id="BLOGGER_PHOTO_ID_5414135597125726402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;You can read about some of the new features in &lt;a href="http://www.adobe.com/newsletters/edge/december2009/articles/article1/index.html" target="_blank"&gt;article&lt;/a&gt; written by Brian Rinaldi ,Edge December 2009 edition.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-8152669737985340184?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/8152669737985340184/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=8152669737985340184" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/8152669737985340184?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/8152669737985340184?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/12/flash-builder-4-almost-there.html" title="Flash Builder 4 (almost there)" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_uwXDfjmWSjM/SyLfo-h58MI/AAAAAAAAAac/uzElQ3M9nAQ/s72-c/FlashBuilder4Beta2.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CE8NQ34zcSp7ImA9WxBTEk4.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-5482952409758361538</id><published>2009-12-07T16:35:00.000-08:00</published><updated>2009-12-07T16:41:32.089-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-07T16:41:32.089-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fuse" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="flash tools" /><category scheme="http://www.blogger.com/atom/ns#" term="animations" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="AS2.0" /><title>Repetitive Flash Animation Effects Using FuseKit</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GDrZ-9SuhtLVVI8d1nzKkt2ijz4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GDrZ-9SuhtLVVI8d1nzKkt2ijz4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GDrZ-9SuhtLVVI8d1nzKkt2ijz4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GDrZ-9SuhtLVVI8d1nzKkt2ijz4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Again about &lt;a href="http://flanture.blogspot.com/search/label/Fuse" target="_blank"&gt;FuseKit&lt;/a&gt;. It is such wonderful animation tool once you start playing around with it you can't stop.&lt;br /&gt;&lt;br /&gt;Because some animation effects are so common I had to write few lines of code to make them easier to use.&lt;br /&gt;&lt;br /&gt;First of repetitive Flash animation effect I wanted to replicate is 'breathing effect'. This effect allows movie clip to change it's scale value so it looks like it breaths. I have dummy movie clip logo placed in the center of the stage and code to import FuseKit libraries:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; width: 500px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"&gt;&lt;br /&gt;import com.mosesSupposes.fuse.*;&lt;br /&gt;ZigoEngine.simpleSetup( Shortcuts, PennerEasing, Fuse );&lt;br /&gt;&lt;br /&gt;var f:Fuse = Fuse.open();&lt;br /&gt;f.label = "animation";&lt;br /&gt;// effect code&lt;br /&gt;Fuse.close();&lt;br /&gt;f.start();&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Now, one function solve everything and you put the code instead of commented line above with breath(x); where x is number of iterations. Here is the function:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; width: 500px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"&gt;&lt;br /&gt;function breath (a) {&lt;br /&gt; while (a &amp;gt; 0) {&lt;br /&gt;  Fuse.addCommand("delay", .5);&lt;br /&gt;  Fuse.openGroup();&lt;br /&gt;    logo.tween("_yscale", 200, .5, "easeOutCirc");&lt;br /&gt;    logo.tween("_xscale", 200, .5, "easeOutCirc");&lt;br /&gt;  Fuse.closeGroup();&lt;br /&gt;  Fuse.openGroup();&lt;br /&gt;    logo.tween("_yscale", 100, 1, "easeOutCirc");&lt;br /&gt;    logo.tween("_xscale", 100, 1, "easeOutCirc");&lt;br /&gt;  Fuse.closeGroup();&lt;br /&gt;  a-=1;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Breath function can have more parameters if you like, one for delay amount, another for scale value, yet another for animation duration ...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/" target="_blank"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 250px;" src="http://1.bp.blogspot.com/_uwXDfjmWSjM/Sx2f0axsqAI/AAAAAAAAAaE/UZIJd2q33ho/s320/fusekiteffect.jpg" alt="flash animation effect with fusekit" id="BLOGGER_PHOTO_ID_5412658050058987522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Next repetitive Flash animation effect I wanted to create is 'Jump effect'. Again, I'm using same logo dummy movie clip and make it jump using this function:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; width: 500px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"&gt;&lt;br /&gt;function jump (b) {&lt;br /&gt; while (b &amp;gt; 0) {&lt;br /&gt;  Fuse.addCommand("delay", .5);&lt;br /&gt;  Fuse.openGroup();&lt;br /&gt;    logo.tween("_y", 50, .6, "easeOutCirc");&lt;br /&gt;  Fuse.closeGroup();&lt;br /&gt;  Fuse.openGroup();&lt;br /&gt;    logo.tween("_y", Stage.height/2, .6, "easeInCirc");&lt;br /&gt;  Fuse.closeGroup();&lt;br /&gt;  b-=1;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;If you want to make movie clip bounce when hits the ground you can use easeOutBounce (or some custom variation, perheps?) instead of easeInCirc.&lt;br /&gt;&lt;br /&gt;That's all for now, more of these effects some other time.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-5482952409758361538?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/5482952409758361538/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=5482952409758361538" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/5482952409758361538?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/5482952409758361538?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/12/repetitive-flash-animation-effects.html" title="Repetitive Flash Animation Effects Using FuseKit" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_uwXDfjmWSjM/Sx2f0axsqAI/AAAAAAAAAaE/UZIJd2q33ho/s72-c/fusekiteffect.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D04ERH85eyp7ImA9WxNaFU8.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-7715135554910624236</id><published>2009-11-29T12:12:00.000-08:00</published><updated>2009-11-29T12:18:25.123-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-29T12:18:25.123-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="gumbo" /><category scheme="http://www.blogger.com/atom/ns#" term="flex examples" /><category scheme="http://www.blogger.com/atom/ns#" term="RIA" /><category scheme="http://www.blogger.com/atom/ns#" term="community" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="FXG" /><category scheme="http://www.blogger.com/atom/ns#" term="CSS" /><category scheme="http://www.blogger.com/atom/ns#" term="themes" /><category scheme="http://www.blogger.com/atom/ns#" term="components" /><title>Flex UI design, skins, themes and tools</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Rx2MB5DEVPDm1ocT0fAiIaNuebE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Rx2MB5DEVPDm1ocT0fAiIaNuebE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Rx2MB5DEVPDm1ocT0fAiIaNuebE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Rx2MB5DEVPDm1ocT0fAiIaNuebE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;related post: &lt;a href="http://flanture.blogspot.com/2008/05/flex-components-styling.html" target="_blank"&gt;flex components styling&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;If you ever wondered how to download &lt;a href="http://examples.adobe.com/flex3/consulting/styleexplorer/Flex3StyleExplorer.html" target="_blank"&gt;Flex Style Explorer v3&lt;/a&gt;, one of the ways is to open link in a browser (IE) and search for specific swf in browser's cache folder. Now you can use Flex Style Explorer for making skins and themes. If you are interested to read more about this subject here is list of &lt;a href="http://ntt.cc/2008/05/03/over-15-strongly-recommand-tutorials-you-must-read-for-creating-skins-and-themes-ui-design-in-flex.html" target="_blank"&gt;15 Tutorials for Creating Skins and Themes (UI Design) in Flex&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You don't wanna anything to do with previous versions of Flex, then check this &lt;a href="http://www.adobe.com/devnet/flex/articles/flex4_skinning.html" target="_blank"&gt;Introducing skinning in Flex 4 beta&lt;/a&gt;, written by Ryan Frishberg. More dev details on Flex 4 (Gumbo), advanced FXG and skinning at &lt;a href="http://www.hulstkamp.com/category/fxg" target="_blank"&gt;Andy Hulstkamp's blog&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.hulstkamp.com/byard/gumbo/cityRating/AHPopUpAnchorTest.html" target="_blank"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 255px;" src="http://1.bp.blogspot.com/_uwXDfjmWSjM/SxLV3AqcmOI/AAAAAAAAAZ0/l9ecY9JRYbc/s400/cityratingdemo.jpg" alt="" id="BLOGGER_PHOTO_ID_5409621243472943330" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Gumbo City Rating Demo&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;That's not all. Here is one small hidden treasure (at least for me :D) at Flexets, &lt;a href="http://sites.google.com/a/flexets.com/usefull-infor/resources/flex-skinning" target="_blank"&gt;Flex Skinning resources&lt;/a&gt;. All of the Explorers like Flex 3 Charting Components Explorer, Custom Easing Explorer or Audio Visualization Explorer you can open in your browser and download for later use. Great.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-7715135554910624236?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/7715135554910624236/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=7715135554910624236" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/7715135554910624236?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/7715135554910624236?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/11/flex-ui-design-skins-themes-and-tools.html" title="Flex UI design, skins, themes and tools" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_uwXDfjmWSjM/SxLV3AqcmOI/AAAAAAAAAZ0/l9ecY9JRYbc/s72-c/cityratingdemo.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D0EERXo7fip7ImA9WxNaEUo.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-5462891146942441745</id><published>2009-11-25T10:53:00.000-08:00</published><updated>2009-11-25T11:00:04.406-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-25T11:00:04.406-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="flex examples" /><category scheme="http://www.blogger.com/atom/ns#" term="RIA" /><category scheme="http://www.blogger.com/atom/ns#" term="fun" /><category scheme="http://www.blogger.com/atom/ns#" term="game development" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="LiveCycle" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="air" /><category scheme="http://www.blogger.com/atom/ns#" term="ColdFusion" /><title>Playing online chess with a crazy bot</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1oekL8CKRQ9H9F0xlVReuBy0wXs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1oekL8CKRQ9H9F0xlVReuBy0wXs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1oekL8CKRQ9H9F0xlVReuBy0wXs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1oekL8CKRQ9H9F0xlVReuBy0wXs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Adobe AIR application ChessJam is (no surprise) chess application which offers free playing of your favorite game with other enthusiasts around the globe right from your desktop. Visit and download &lt;a href="http://chessjam.com/" target="_blank"&gt;ChessJam home page&lt;/a&gt;. Current application version is 2.1 and it brings some new features like multi-game support (up to 6 games), UI enhamcements, improved rating system etc.&lt;br /&gt;&lt;br /&gt;You can read more about how this application is done in a post &lt;a href="http://gregsramblings.com/2009/11/09/the-making-of-chessjam-flexair-coldfusion-livecycle-ds-fun-project/" target="_blank"&gt;The making of ChessJam Flex/AIR + ColdFusion + LiveCycle DS = fun project!&lt;/a&gt; by author Greg Wilson. He reveals some of the code and application architecture used for making ChessJam.&lt;br /&gt;&lt;br /&gt;Since this is commercial project they decided to buy third-party library for AI engine. I'm not totally convinced they did good job with it, as you can see from image below.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 262px;" src="http://3.bp.blogspot.com/_uwXDfjmWSjM/Sw19g5kElPI/AAAAAAAAAZs/-dEOFv6hRzA/s400/41490039.jpg" alt="Adobe AIR chess application" id="BLOGGER_PHOTO_ID_5408116731703235826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Another thing I don't like about it is chat room within current game. Everyone can enter the game you're playing (no private game option) and watch game in progress. You get text notification about it "player238 is observing". Bad thing about it is you don't have an option not to see playing suggestions from others. That's very frustrating. Imagine real-world game where everyone is making comments about your next move, even worse in ChessJam you can't through at them angry, warning look!&lt;br /&gt;&lt;br /&gt;Greg also mentioned in his post about more than 1000 users, but very often I'm lucky if I find anyone playing at all! That's it. Generally, I like the app and hope it will be even better in the future.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-5462891146942441745?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/5462891146942441745/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=5462891146942441745" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/5462891146942441745?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/5462891146942441745?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/11/playing-online-chess-with-crazy-bot.html" title="Playing online chess with a crazy bot" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_uwXDfjmWSjM/Sw19g5kElPI/AAAAAAAAAZs/-dEOFv6hRzA/s72-c/41490039.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;CkEFQ3Y6fip7ImA9WxNaEEQ.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-19639052086106143</id><published>2009-11-24T11:13:00.000-08:00</published><updated>2009-11-24T11:23:32.816-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T11:23:32.816-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="video" /><category scheme="http://www.blogger.com/atom/ns#" term="web development" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="CSS" /><category scheme="http://www.blogger.com/atom/ns#" term="HTML" /><title>Zen-coding: hi-speed HTML and CSS coding</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/n3MRPqY5bAZhOlt6xJseWdfZfTg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n3MRPqY5bAZhOlt6xJseWdfZfTg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/n3MRPqY5bAZhOlt6xJseWdfZfTg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n3MRPqY5bAZhOlt6xJseWdfZfTg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;I just wanted to mention excellent work of Sergey Chikuyonok, who developed a new speedy way of writing HTML code using CSS-like selector syntax. This is really great stuff every web developer should adopt. Take a look at presentation:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;object width="400" height="275"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7405114&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=7405114&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="275"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Already, plugins are available for few editor and for my favorite Aptana. Here is the instruction &lt;a href="http://code.google.com/p/zen-coding/wiki/AptanaHowToEn" target="_blank"&gt;Using Zen Coding in Aptana/Eclipse&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-19639052086106143?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/19639052086106143/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=19639052086106143" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/19639052086106143?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/19639052086106143?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/11/zen-coding-hi-speed-html-and-css-coding.html" title="Zen-coding: hi-speed HTML and CSS coding" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CU4ESX4_eSp7ImA9WxNbFEU.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-5298944654556328388</id><published>2009-11-17T10:42:00.000-08:00</published><updated>2009-11-17T10:51:48.041-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-17T10:51:48.041-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tutorials" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="air" /><title>Simple Transparent AIR desktop ... thing</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DFG3_3Ti9JSijuA_C6KnI1mUygA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DFG3_3Ti9JSijuA_C6KnI1mUygA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DFG3_3Ti9JSijuA_C6KnI1mUygA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DFG3_3Ti9JSijuA_C6KnI1mUygA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;I read all those news about &lt;a href="http://flanture.blogspot.com/search/label/air" target="_blank"&gt;Adobe AIR&lt;/a&gt; and I check out new applications, even use few of them right now, but I haven't done much AIR coding myself. I wanted to change this sad fact and make my own 'hello world' AIR app, something very basic.&lt;br /&gt;&lt;br /&gt;My reference was Adobe AIR for JavaScript developers, pocket guide. In this &lt;a href="http://flanture.blogspot.com/search/label/books" target="_blank"&gt;book&lt;/a&gt;, there is an example for hello world app using html page as content, but instead I wanted to include one of my previously made SWF files as main content, &lt;a href="http://flanture.blogspot.com/2009/03/windmill-simulation-free-flash-file.html" target="_blank"&gt;Windmill Simulation&lt;/a&gt;. Just as a test I'll take transparent background, so I need to modify my file a little bit, to remove gradient background and put new background behind controls.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;AirWindmillSimulation.xml code:&lt;br /&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; width: 500px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;br /&gt;&amp;lt;application xmlns="http://ns.adobe.com/air/application/1.0"&amp;gt;&lt;br /&gt; &amp;lt;id&amp;gt;com.blogspot.flanture.AirWindmill&amp;lt;/id&amp;gt;&lt;br /&gt; &amp;lt;filename&amp;gt;WindmillSimulation&amp;lt;/filename&amp;gt;&lt;br /&gt; &amp;lt;name&amp;gt;Windmill Simulation&amp;lt;/name&amp;gt;&lt;br /&gt; &amp;lt;description&amp;gt;Desktop Windmill Simulation&amp;lt;/description&amp;gt;&lt;br /&gt; &amp;lt;version&amp;gt;1.0&amp;lt;/version&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;initialWindow&amp;gt;&lt;br /&gt;  &amp;lt;content&amp;gt;AirWindmillSimulation.swf&amp;lt;/content&amp;gt;&lt;br /&gt;  &amp;lt;title&amp;gt;Windmill Simulation&amp;lt;/title&amp;gt;&lt;br /&gt;  &amp;lt;systemChrome&amp;gt;none&amp;lt;/systemChrome&amp;gt;&lt;br /&gt;  &amp;lt;transparent&amp;gt;true&amp;lt;/transparent&amp;gt;&lt;br /&gt;  &amp;lt;visible&amp;gt;true&amp;lt;/visible&amp;gt;&lt;br /&gt;  &amp;lt;minimizable&amp;gt;false&amp;lt;/minimizable&amp;gt;&lt;br /&gt;  &amp;lt;maximizable&amp;gt;false&amp;lt;/maximizable&amp;gt;&lt;br /&gt;  &amp;lt;resizable&amp;gt;false&amp;lt;/resizable&amp;gt;&lt;br /&gt; &amp;lt;/initialWindow&amp;gt;&lt;br /&gt;&amp;lt;/application&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;I have SDK installed a long time ago and now all I have to do is type: &lt;b&gt;adl airwindmillsimulation.xml&lt;/b&gt; within shell. Here is how it looks on my desktop, above Milky Way Center background.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 194px;" src="http://3.bp.blogspot.com/_uwXDfjmWSjM/SwLwRxELTVI/AAAAAAAAAZk/Gt-YNmUqp3A/s400/SimpleAIRApp.jpg" alt="adobe air application example" id="BLOGGER_PHOTO_ID_5405146690817314130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;I need to change few more things so I can use this code in other projects, like drag and drop functionality and rezise feature. For 'hello world' - it's great!&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-5298944654556328388?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/5298944654556328388/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=5298944654556328388" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/5298944654556328388?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/5298944654556328388?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/11/simple-transparent-air-desktop-thing.html" title="Simple Transparent AIR desktop ... thing" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_uwXDfjmWSjM/SwLwRxELTVI/AAAAAAAAAZk/Gt-YNmUqp3A/s72-c/SimpleAIRApp.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;A0UASHgzcSp7ImA9WxNUFEk.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-3218572258942226814</id><published>2009-11-05T11:23:00.001-08:00</published><updated>2009-11-05T11:27:29.689-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-05T11:27:29.689-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tutorials" /><category scheme="http://www.blogger.com/atom/ns#" term="hacks" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="AS3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="animations" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title>AS3.0 preloader  part II : adding transparency</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NlBt6POCralseMmAlICt3eTeYsQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NlBt6POCralseMmAlICt3eTeYsQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NlBt6POCralseMmAlICt3eTeYsQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NlBt6POCralseMmAlICt3eTeYsQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;It occurred to me how it would be much better if loading bar and text field in &lt;a href="http://flanture.blogspot.com/2009/11/as30-flash-preloader-with-moving.html" target="_blank"&gt;as3.0 preloader from previous post&lt;/a&gt; change alpha during loading process. This is what I wanted to do: both elements (loading bar and text field) start with alpha zero, then it grows constantly to alpha 1 in a moment when 'percent' variable is 0.2 (which means loading bar is loaded 20%). After that alpha remains 1.0 until 'percent' is 0.8 and then starts to fade away so it has alpha 0.0 in a moment when loading is finished. Image explains this idea.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 221px;" src="http://1.bp.blogspot.com/_uwXDfjmWSjM/SvMmbY5ynKI/AAAAAAAAAZM/m77PC55PGFo/s320/AS3TextFieldAlpha.jpg" alt="as3 preloader alpha hack" id="BLOGGER_PHOTO_ID_5400702630130523298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Code for this effect is simple one. Inside ProgressFunction add just few lines:&lt;br /&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; width: 500px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"&gt;&lt;br /&gt; if (percent &amp;lt; 0.2) {&lt;br /&gt;  loadedTF.alpha = percent*5;&lt;br /&gt;  lBar.alpha = percent*5;&lt;br /&gt; }&lt;br /&gt; if (percent &amp;gt; 0.8) {&lt;br /&gt;  loadedTF.alpha = 1-(percent-0.8)*5;&lt;br /&gt;  lBar.alpha = 1-(percent-0.8)*5;&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;I'm not some math wizard, but this was really easy to conclude, I only had to draw the numbers on paper. So, it would be great if this works, but it doesn't. It needs one simple hack. Reason is &lt;a href="http://www.rabidgadfly.com/index.php/2008/10/14/making-alpha-work-on-as3-dynamic-text-fields/" target="_blank"&gt;this : as3.0 dynamic text field alpha hack &lt;/a&gt;. After I added blur filter to my text field everything worked, although I'm not quite OK with TF rendering quality.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-3218572258942226814?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/3218572258942226814/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=3218572258942226814" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/3218572258942226814?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/3218572258942226814?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/11/as30-preloader-part-ii-adding.html" title="AS3.0 preloader  part II : adding transparency" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_uwXDfjmWSjM/SvMmbY5ynKI/AAAAAAAAAZM/m77PC55PGFo/s72-c/AS3TextFieldAlpha.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;AkMBSHw6cSp7ImA9WxNUEkg.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-4651071584354570288</id><published>2009-11-03T06:21:00.000-08:00</published><updated>2009-11-03T06:27:39.219-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-03T06:27:39.219-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tutorials" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="AS3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="animations" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="downloads" /><title>AS3.0 Flash Preloader With Moving TextField</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fQ-T5KPAkiDpEtv1ukilTGFqLkY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fQ-T5KPAkiDpEtv1ukilTGFqLkY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fQ-T5KPAkiDpEtv1ukilTGFqLkY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fQ-T5KPAkiDpEtv1ukilTGFqLkY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;This simple ActionScript3.0 preloader has two graphic elements, gradient filled loading bar and text field 'loadedTF'. Code contains two functions, progressFunction and completeFunction. Variable named 'percent' inside progressFunction can have values between 0.0 and 1.0. Since loading bar graphic width = 300 we use single line code:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;loadedTF.x = percent * 300;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;to move our text field along with loading bar, which we animate using scaleX property.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 221px;" src="http://2.bp.blogspot.com/_uwXDfjmWSjM/SvA8ucI-WJI/AAAAAAAAAY8/h2bKg1bUnQM/s320/as3preloader1.jpg" alt="as3 flash preloader" id="BLOGGER_PHOTO_ID_5399882721742706834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Dummy page.swf which this preloader uses is small only 22kb, so in order to see preloader working you will have to use view - simulate download when you test preloader movie.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 222px;" src="http://4.bp.blogspot.com/_uwXDfjmWSjM/SvA8_9PyqbI/AAAAAAAAAZE/I-RpHzUsI14/s320/as3preloader2.jpg" alt="as3 flash preloader" id="BLOGGER_PHOTO_ID_5399883022687447474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;If you have any questions, leave comment.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://www.box.net/shared/4061ejh6ux" target="_blank"&gt;download source files&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;*_*&lt;br /&gt;&lt;br /&gt;p.s. this is post number 200 !!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-4651071584354570288?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/4651071584354570288/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=4651071584354570288" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/4651071584354570288?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/4651071584354570288?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/11/as30-flash-preloader-with-moving.html" title="AS3.0 Flash Preloader With Moving TextField" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_uwXDfjmWSjM/SvA8ucI-WJI/AAAAAAAAAY8/h2bKg1bUnQM/s72-c/as3preloader1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;AkYHQ3g9eyp7ImA9WxNVGUU.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-4516199579235169919</id><published>2009-10-31T04:20:00.000-07:00</published><updated>2009-10-31T04:22:12.663-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-31T04:22:12.663-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tutorials" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="AS2.0" /><title>Level Timer code explained</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/u5uDiqj1avsJ9A11Bzvy9OZo1v0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u5uDiqj1avsJ9A11Bzvy9OZo1v0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/u5uDiqj1avsJ9A11Bzvy9OZo1v0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/u5uDiqj1avsJ9A11Bzvy9OZo1v0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;It seems like my code in &lt;a href="http://flanture.blogspot.com/2009/10/how-to-create-flash-game-level-timer.html" target="_blank"&gt;How To Create Flash Game Level Timer&lt;/a&gt; post is not as straightforward as I thought, because it was rejected as Tutorial on one of the directories, so I decided to give detailed explanation of it. &lt;br /&gt;&lt;br /&gt;var count:Number = 0;&lt;br /&gt;// this is a counter variable&lt;br /&gt;&lt;br /&gt;var maxCount:Number = 75;&lt;br /&gt;// maxCounter is duration of level in seconds&lt;br /&gt;&lt;br /&gt;var intervalID:Number;&lt;br /&gt;// Identification variable for repeating interval function&lt;br /&gt;&lt;br /&gt;var timerStarted = false;&lt;br /&gt;// variable which tells us if timer has started or not&lt;br /&gt;&lt;br /&gt;var temp:Number;&lt;br /&gt;// variable for shortening code writing&lt;br /&gt;&lt;br /&gt;// next, we format and display seconds left &lt;br /&gt;if(maxCount &amp;lt; 60) {&lt;br /&gt;// if we have less then 60 seconds, &lt;br /&gt;&lt;br /&gt; timeleft.text = "0 : "+maxCount;&lt;br /&gt;// we display '0 minutes' in our Text Field 'timeleft' and concatenate maxCount seconds&lt;br /&gt;&lt;br /&gt;} else {&lt;br /&gt;// but if we have more than 60 seconds left&lt;br /&gt;&lt;br /&gt; if((maxCount%60)&amp;lt;10) {&lt;br /&gt; // and if we have to display seconds as one cipher number &lt;br /&gt;&lt;br /&gt;  timeleft.text = Math.floor((maxCount/60))+" : 0"+(maxCount%60);&lt;br /&gt;  // we display zero&lt;br /&gt;&lt;br /&gt; } else {&lt;br /&gt; // otherways, &lt;br /&gt;&lt;br /&gt;  timeleft.text = Math.floor((maxCount/60))+" : "+(maxCount%60);&lt;br /&gt;  // if we have two cipher number for seconds, we don't display zero&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;startlevel.onRelease = function() {&lt;br /&gt;// when click is released on startlevel button&lt;br /&gt;&lt;br /&gt; if(!(timerStarted)) {&lt;br /&gt; // if timerStarted variable is false (we don't want to duplicate interval)&lt;br /&gt;&lt;br /&gt;  intervalID = setInterval(_root, "hronos", 1000);&lt;br /&gt;  // we set interval function 'hronos' to repeat once every second to act as counter&lt;br /&gt;&lt;br /&gt;  timerStarted = true;&lt;br /&gt;  // we declare that timer has started&lt;br /&gt;&lt;br /&gt;  this._alpha = 0;&lt;br /&gt;  // and we make invisible startLevel button.&lt;br /&gt;  // We chould also remove it from stage! &lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function hronos():Void {&lt;br /&gt;// function hronos repeats every second&lt;br /&gt;&lt;br /&gt; if(count &amp;lt; maxCount) {&lt;br /&gt; // if counter is still less than maxCounter&lt;br /&gt;&lt;br /&gt;  count++;&lt;br /&gt;  // we increase counter by 1&lt;br /&gt;&lt;br /&gt;  temp = maxCount - count;&lt;br /&gt;  // temp variable holds seconds left until level end&lt;br /&gt;&lt;br /&gt;  // next piece of code is for formating and displaying purposes,&lt;br /&gt;  // same as above except instead maxCount we have temp variable.&lt;br /&gt;  if(temp &amp;lt; 60) {&lt;br /&gt;   if(temp &amp;lt; 10) {&lt;br /&gt;    timeleft.text = "0 : 0"+temp;&lt;br /&gt;   } else {&lt;br /&gt;    timeleft.text = "0 : "+temp;&lt;br /&gt;   }&lt;br /&gt;  } else {&lt;br /&gt;   if((temp%60)&amp;lt;10) {&lt;br /&gt;    timeleft.text = Math.floor((temp/60))+" : 0"+(temp%60);&lt;br /&gt;   } else {&lt;br /&gt;    timeleft.text = Math.floor((temp/60))+" : "+(temp%60);&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; } else {&lt;br /&gt; // if counter is greater than maxCounter&lt;br /&gt;&lt;br /&gt;  clearInterval(intervalID);&lt;br /&gt;  // we clear our interval&lt;br /&gt;&lt;br /&gt;  timerStarted = false;&lt;br /&gt;  // we declare that timer is out of business&lt;br /&gt;&lt;br /&gt;  count = 0;&lt;br /&gt;  // we set counter to 0 so we can use it again&lt;br /&gt;&lt;br /&gt;  startlevel._alpha = 100;&lt;br /&gt;  // and we make startLevel button visible again&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;I hope this explanation is clear enough. If you have any questions, don't hesitate to ask. &lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-4516199579235169919?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/4516199579235169919/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=4516199579235169919" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/4516199579235169919?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/4516199579235169919?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/10/level-timer-code-explained.html" title="Level Timer code explained" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry gd:etag="W/&quot;DkYCSXw7fCp7ImA9WxNVE00.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-253956599505989046</id><published>2009-10-23T06:14:00.000-07:00</published><updated>2009-10-23T06:22:48.204-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-23T06:22:48.204-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="community" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title>Protecting The Brand</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/thUIttnVy9nxb8aZyKUXKVpNnYA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/thUIttnVy9nxb8aZyKUXKVpNnYA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/thUIttnVy9nxb8aZyKUXKVpNnYA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/thUIttnVy9nxb8aZyKUXKVpNnYA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Few days ago &lt;a href="http://envato.com/" target="_blank"&gt;Envato&lt;/a&gt; (Australia based startup) announced they have to change one of theirs marketplace's name and URL. They run several websites like ThemeForest, GraphicRiver, AudioJungle, VideoHive, FlashDen and more. Latest one FlashDen is our suspect. What happend is that Adobe Systems Incorporated law firm representative contacted them asking to change their name, as &lt;a href="http://www.techcrunch.com/2009/10/18/adobe-to-envato-flash-is-ours-change-your-name/" target="_blank"&gt;TechCrunch reported&lt;/a&gt;. Envato did changed it into ActiveDen to avoid further legal problems.&lt;br /&gt;&lt;br /&gt;There are few very strange things here. First, FlashDen is already registered trademark in Australia from August 2008 and therefor Envato should be protected by law, but they decided to change their name and url right away. Second, many websites use similar names like flashcomponents.net, flashloaded.com (to name a few) and a LOT more, but it seems like only Envato is contacted about this issue or at least I'm not aware of others. Idea that this is only first step and that all those websites will be contacted in near future is unlikely because it will be biggest technology suicide of all times!&lt;br /&gt;&lt;br /&gt;Community responded and they responded hard. Just check 500+ comments on &lt;a href="http://activeden.net/forums/thread/important-news-flashden-is-changing-its-name-to-a/17446?no_signin=true" target="_blank"&gt;Envato forum&lt;/a&gt;. Some are furious, but many of readers are simply confused. Matthew Craig wrote:&lt;br /&gt;&lt;br /&gt;"This is absolutely ridiculous… A community developed around a product to promote that product yet the product thinks it’s harmful to the product having a community promoting it? Makes no sense to me. It’s like mall-cops on a power trip thinking they are real cops."&lt;br /&gt;&lt;br /&gt;and Mark wrote:&lt;br /&gt;&lt;br /&gt;"I’m pretty annoyed that companies like Apple, and Adobe are so vicious with it’s legal protection of their trademarks. Sad really."&lt;br /&gt;&lt;br /&gt;So, how about Adobe? What are their thoughts? Let's see what they say about &lt;a href="http://www.adobe.com/misc/trade.html#section-7" target="_blank"&gt;proper use of the flash trademark&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;"Trademarks help protect corporate and product identity, and the Flash® trademark is one of Adobe's most valuable trademarks. By following our guidelines, you can help Adobe protect the Flash brand name. The Flash trademark must never be used as a common verb, as a noun, or as a generic term for animation or video or to describe the output format. The Flash trademark should always be capitalized and should never be used in possessive form or as a slang term. It should be used as an adjective to describe the product and should never be used in abbreviated form."&lt;br /&gt;&lt;br /&gt;It seems that Adobe is just trying to protect their brand. There is nothing wrong with it and I think there is no room for talks about 'evil Adobe' (at least not for now). Just imagine what would The Ronald do in same situation. They will sue everyone, right away, until extermination! And after dust comes down, they will sue some more! If you put The Ronald and other big aggressive brands together in same room, Adobe would be like nerd teenager trying to get attention, nothing more. For now.&lt;br /&gt;&lt;br /&gt;*_*&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-253956599505989046?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/253956599505989046/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=253956599505989046" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/253956599505989046?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/253956599505989046?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/10/protecting-brand.html" title="Protecting The Brand" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;DkcGRX4zeyp7ImA9WxNWFk8.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-196398497635645372</id><published>2009-10-15T09:18:00.000-07:00</published><updated>2009-10-15T09:27:04.083-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-15T09:27:04.083-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="tutorials" /><category scheme="http://www.blogger.com/atom/ns#" term="fun" /><category scheme="http://www.blogger.com/atom/ns#" term="game development" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="downloads" /><category scheme="http://www.blogger.com/atom/ns#" term="AS2.0" /><title>How To Create Flash Game Level Timer</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/k7tNff65iPX01zyBnpZ0TiBxWic/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k7tNff65iPX01zyBnpZ0TiBxWic/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/k7tNff65iPX01zyBnpZ0TiBxWic/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k7tNff65iPX01zyBnpZ0TiBxWic/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;In this post I'll explain how to create Flash game level timer mechanism. Code I'm using here is very simple, it's not something you should use in your final product. Code is ActionScript2.0. &lt;a href="http://www.box.net/shared/yt9ulmcnyv" target="_blank"&gt;Sample FLA&lt;/a&gt; is Flash 8 file and it demonstrates how timer works.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 291px;" src="http://4.bp.blogspot.com/_uwXDfjmWSjM/StdLm9ArnXI/AAAAAAAAAYc/fNk3ml7kYDA/s400/flashgametimer1.jpg" alt="" id="BLOGGER_PHOTO_ID_5392862211383991666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Graphic elements are simple. We have startBtn movie clip in Library with 'startlevel' instance on Stage. Another graphic element is dynamic single-line text field with instance name 'timeleft'. When you start sample file situation our text field shows time left in minutes and seconds. Start level button is visible and waiting for click. When that happens button get zero alpha (should be moved from Stage) and countdown timer start to work.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 289px;" src="http://4.bp.blogspot.com/_uwXDfjmWSjM/StdL09en_yI/AAAAAAAAAYk/0JqDsP7aK_Y/s400/flashgametimer2.jpg" alt="" id="BLOGGER_PHOTO_ID_5392862452027752226" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Some formating is done, so numbers are displayed like they should, instead of 1:1 we have 1:01 etc. Timer resets when reach 0:00 and start level button is visible again, waiting for action. In real time situation, you can have different level durations for different levels. That means you should replace maxCount variable with Array of different intervals each represents duration of levels in seconds.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Here is the code:&lt;br /&gt;&lt;br /&gt;&lt;pre style="overflow: scroll; width: 500px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);"&gt;&lt;br /&gt;var count:Number = 0;&lt;br /&gt;var maxCount:Number = 75;&lt;br /&gt;var intervalID:Number;&lt;br /&gt;var timerStarted = false;&lt;br /&gt;var temp:Number;&lt;br /&gt;&lt;br /&gt;if(maxCount &amp;lt; 60) {&lt;br /&gt; timeleft.text = "0 : "+maxCount;&lt;br /&gt;} else {&lt;br /&gt; if((maxCount%60)&amp;lt;10) {&lt;br /&gt;  timeleft.text = Math.floor((maxCount/60))+" : 0"+(maxCount%60);&lt;br /&gt; } else {&lt;br /&gt;  timeleft.text = Math.floor((maxCount/60))+" : "+(maxCount%60);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;startlevel.onRelease = function() {&lt;br /&gt; if(!(timerStarted)) {&lt;br /&gt;  intervalID = setInterval(_root, "hronos", 1000);&lt;br /&gt;  timerStarted = true;&lt;br /&gt;  this._alpha = 0;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function hronos():Void {&lt;br /&gt; if(count &amp;lt; maxCount) {&lt;br /&gt;  count++;&lt;br /&gt;  temp = maxCount - count;&lt;br /&gt;  if(temp &amp;lt; 60) {&lt;br /&gt;   if(temp &amp;lt; 10) {&lt;br /&gt;    timeleft.text = "0 : 0"+temp;&lt;br /&gt;   } else {&lt;br /&gt;    timeleft.text = "0 : "+temp;&lt;br /&gt;   }&lt;br /&gt;  } else {&lt;br /&gt;   if((temp%60)&amp;lt;10) {&lt;br /&gt;    timeleft.text = Math.floor((temp/60))+" : 0"+(temp%60);&lt;br /&gt;   } else {&lt;br /&gt;    timeleft.text = Math.floor((temp/60))+" : "+(temp%60);&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; } else {&lt;br /&gt;  clearInterval(intervalID);&lt;br /&gt;  timerStarted = false;&lt;br /&gt;  count = 0;&lt;br /&gt;  startlevel._alpha = 100;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-196398497635645372?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/196398497635645372/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=196398497635645372" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/196398497635645372?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/196398497635645372?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/10/how-to-create-flash-game-level-timer.html" title="How To Create Flash Game Level Timer" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_uwXDfjmWSjM/StdLm9ArnXI/AAAAAAAAAYc/fNk3ml7kYDA/s72-c/flashgametimer1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;D0MFSXs6eip7ImA9WxNXGU4.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-7953739329068572458</id><published>2009-10-07T10:04:00.000-07:00</published><updated>2009-10-07T10:10:18.512-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-07T10:10:18.512-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="web development" /><category scheme="http://www.blogger.com/atom/ns#" term="widgets" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="downloads" /><category scheme="http://www.blogger.com/atom/ns#" term="AS2.0" /><title>Free Microblog Flash Widget v1.0</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zZYt4KDrIwco-IowJ8vZBVMmpa4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zZYt4KDrIwco-IowJ8vZBVMmpa4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zZYt4KDrIwco-IowJ8vZBVMmpa4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zZYt4KDrIwco-IowJ8vZBVMmpa4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;Microblog is Flash widget that represents tiny version of blog or website. It can be embedded on blog sidebar or as standalone application. Microblog is XML based widget. Entire content is stored and controlled from external data.xml file. You don't need any previous Flash knowledge to change the content. Simply, by changing text inside data.xml widget is updated.&lt;br /&gt;&lt;br /&gt;Main text field is scrollable. Use up and down triangles on right to navigate current page. If page has long text then navigation is there to help. You can also expand main text filed by clicking on rectangle placed between navigation triangles. Clicking again on same rectangle will shrink text field to it's original size.&lt;br /&gt;&lt;br /&gt;When user click on page title, Microblog takes him to original blog page or custom web location. Links are also stored inside XML file.&lt;br /&gt;&lt;br /&gt;On the left side of the widget you can load preview images in few formats: JPEG, PNG, GIF and even SWF. Preview files should be 60 x 60 pixels. Microblog free Flash widget is resizable. Original size is 250 x 125 pixels.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.box.net/shared/ek24gy0y7f" target="_blank"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 320px;" src="http://3.bp.blogspot.com/_uwXDfjmWSjM/SszKchJqjAI/AAAAAAAAAYU/qX80vWZH_7E/s400/MBX.jpg" alt="" id="BLOGGER_PHOTO_ID_5389905445339696130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Download archive file which includes: microblog.swf, data.xml, folder Images and help.pdf file with instructions on how to use and modify Microblog widget content. No Flash knowledge is required.&lt;br /&gt;&lt;br /&gt;Microblog movie clip contains link to this blog.&lt;br /&gt;&lt;br /&gt;You are free to use Microblog Flash Widget in any way you desire as long you don't sell it, claim it's your work, modify or use source without author permission.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;a href="http://www.box.net/shared/ek24gy0y7f" target="_blank"&gt;DOWNLOAD MICROBLOG WIDGET V1.0&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;For &lt;span style="font-weight: bold;"&gt;custom solution&lt;/span&gt; and support please contact.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-7953739329068572458?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/7953739329068572458/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=7953739329068572458" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/7953739329068572458?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/7953739329068572458?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/10/free-microblog-flash-widget-v10.html" title="Free Microblog Flash Widget v1.0" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_uwXDfjmWSjM/SszKchJqjAI/AAAAAAAAAYU/qX80vWZH_7E/s72-c/MBX.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C0MER346fyp7ImA9WxNXGE4.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-2109341466748253521</id><published>2009-10-06T05:11:00.000-07:00</published><updated>2009-10-06T05:16:46.017-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-06T05:16:46.017-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="iPhone" /><category scheme="http://www.blogger.com/atom/ns#" term="community" /><category scheme="http://www.blogger.com/atom/ns#" term="programming" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="cs5" /><title>Myth hacked: Flash on iPhone</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tqN6tbGSSvsxIqn8QYd470tv0oA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tqN6tbGSSvsxIqn8QYd470tv0oA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tqN6tbGSSvsxIqn8QYd470tv0oA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tqN6tbGSSvsxIqn8QYd470tv0oA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;Watch and weep!&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;object width="500" height="315"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rebv7iXKufw&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6&amp;amp;border=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/rebv7iXKufw&amp;amp;hl=en&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="315"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-2109341466748253521?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/2109341466748253521/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=2109341466748253521" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/2109341466748253521?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/2109341466748253521?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/10/myth-hacked-flash-on-iphone.html" title="Myth hacked: Flash on iPhone" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;CE8HQnw4fip7ImA9WxNXF0s.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-8486252536624777929</id><published>2009-10-05T10:04:00.000-07:00</published><updated>2009-10-05T10:13:53.236-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-05T10:13:53.236-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="video" /><category scheme="http://www.blogger.com/atom/ns#" term="catalyst" /><category scheme="http://www.blogger.com/atom/ns#" term="news" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title>Flash Catalyst beta 2</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Zt8ldp-3kQp9nwc76EsMW5Q79ts/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Zt8ldp-3kQp9nwc76EsMW5Q79ts/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Zt8ldp-3kQp9nwc76EsMW5Q79ts/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Zt8ldp-3kQp9nwc76EsMW5Q79ts/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;There was a lot of mixed reactions on beta 1 release of Flash Catalyst, from those who were praising it like &lt;a href="http://www.webkitchen.be/2009/09/23/the-flash-communitys-thoughts-on-flash-catalyst/" target="_blank"&gt;Flash On The Beach&lt;/a&gt; visitors to others who were &lt;a href="http://blog.digitalbackcountry.com/2009/09/iterative-design-with-flash-catalyst-and-flash-builder/" target="_blank"&gt;completely confused&lt;/a&gt; about where to include it concerning development workflow.&lt;br /&gt;&lt;br /&gt;Adobe has just released beta 2 of Flash Catalyst with lots of new stuff and improvement. Ryan Stewart gives you an introduction via his screencast.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6896851&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=6896851&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-8486252536624777929?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/8486252536624777929/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=8486252536624777929" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/8486252536624777929?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/8486252536624777929?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/10/flash-catalyst-beta-2.html" title="Flash Catalyst beta 2" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry gd:etag="W/&quot;CEMNSHoyfip7ImA9WxNXEEw.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-4298269149795893734</id><published>2009-09-26T17:44:00.001-07:00</published><updated>2009-09-26T17:48:19.496-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-26T17:48:19.496-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="examples" /><category scheme="http://www.blogger.com/atom/ns#" term="AS3.0" /><category scheme="http://www.blogger.com/atom/ns#" term="animations" /><category scheme="http://www.blogger.com/atom/ns#" term="actionscript" /><category scheme="http://www.blogger.com/atom/ns#" term="downloads" /><title>Windmill Farm Flash Animation</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UaQEoh1yKnGWXn3mHezhtd67uGw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UaQEoh1yKnGWXn3mHezhtd67uGw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UaQEoh1yKnGWXn3mHezhtd67uGw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UaQEoh1yKnGWXn3mHezhtd67uGw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;This next Flash animation is about clean energy sources, renewable energy, green technology. It represents windmill farm. Animated elements are windmills themselves, but also clouds are moving in same direction and with slightly different speed to create realistic effect.&lt;br /&gt;&lt;br /&gt;File is suitable for ecology and related blogs and websites, various presentation projects, etc. This Flash file is free to use in non-commercial projects. Uploaded zip archive contains 6 Kb Windmill Farm Flash Animation and readme.txt file with more information about the file.&lt;br /&gt;&lt;br /&gt;Windmill Farm Flash Animation is inspired by one of the posts from March this year &lt;a href="http://flanture.blogspot.com/2009/03/windmill-simulation-free-flash-file.html" target="_blank"&gt;Free Flash Windmill Simulation File&lt;/a&gt; (downloaded over 400 times). Leave comment with your thoughts and suggestions.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://www.box.net/shared/k2bm7gme9j" target="_blank"&gt;DOWNLOAD WINDMILL FARM ANIMATION&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Animation image preview:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flanture.blogspot.com/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 292px;" src="http://3.bp.blogspot.com/_uwXDfjmWSjM/Sr61g-xvTEI/AAAAAAAAAYA/eUHuk2AO_vs/s400/WindmillFarmWFFP19119.jpg" alt="Windmill Farm Animation preview" id="BLOGGER_PHOTO_ID_5385941782593752130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-4298269149795893734?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/4298269149795893734/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=4298269149795893734" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/4298269149795893734?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/4298269149795893734?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/09/windmill-farm-flash-animation.html" title="Windmill Farm Flash Animation" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_uwXDfjmWSjM/Sr61g-xvTEI/AAAAAAAAAYA/eUHuk2AO_vs/s72-c/WindmillFarmWFFP19119.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry gd:etag="W/&quot;C04FQno7eyp7ImA9WxNXE08.&quot;"><id>tag:blogger.com,1999:blog-932984404072302429.post-7402809023458812095</id><published>2009-09-25T15:10:00.000-07:00</published><updated>2009-09-30T07:45:13.403-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-30T07:45:13.403-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="flex" /><category scheme="http://www.blogger.com/atom/ns#" term="blogger" /><category scheme="http://www.blogger.com/atom/ns#" term="blog" /><category scheme="http://www.blogger.com/atom/ns#" term="flex examples" /><title>Thiefs among us (stolen content)</title><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iInLKsQoqBqNgX_F6fL-zjhjocU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iInLKsQoqBqNgX_F6fL-zjhjocU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iInLKsQoqBqNgX_F6fL-zjhjocU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iInLKsQoqBqNgX_F6fL-zjhjocU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_uwXDfjmWSjM/Sr1AxmCe58I/AAAAAAAAAXw/6EFV5pQZXOQ/s1600-h/stolencontent.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 355px; height: 400px;" src="http://4.bp.blogspot.com/_uwXDfjmWSjM/Sr1AxmCe58I/AAAAAAAAAXw/6EFV5pQZXOQ/s400/stolencontent.jpg" alt="" id="BLOGGER_PHOTO_ID_5385531950173710274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;This is screenshot of completely stolen post from this blog. Here is my &lt;a href="http://flanture.blogspot.com/2008/05/flex-example-simple-navigation.html" target="_blank"&gt;original post&lt;/a&gt; and here is the location of &lt;u&gt;stolen content *&lt;/u&gt;. Post is 100% stolen, even swf example and source. Off course, no contact information on thief's blog, but since it's on Blogger and he uses AdSense I know who should I contact about it.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I don't mind fair use with back link, but this is really ridiculous.&lt;br /&gt;&lt;br /&gt;* UPDATE: issue resolved - content removed by blog author.&lt;br /&gt;&lt;br /&gt;*_*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/932984404072302429-7402809023458812095?l=flanture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://flanture.blogspot.com/feeds/7402809023458812095/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=932984404072302429&amp;postID=7402809023458812095" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/7402809023458812095?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/932984404072302429/posts/default/7402809023458812095?v=2" /><link rel="alternate" type="text/html" href="http://flanture.blogspot.com/2009/09/thiefs-among-us-stolen-content.html" title="Thiefs among us (stolen content)" /><author><name>flanture</name><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="06215751082847434588" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_uwXDfjmWSjM/Sr1AxmCe58I/AAAAAAAAAXw/6EFV5pQZXOQ/s72-c/stolencontent.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry></feed>
