Search Results

Search found 2580 results on 104 pages for 'as3 actionscript'.

Page 77/104 | < Previous Page | 73 74 75 76 77 78 79 80 81 82 83 84  | Next Page >

  • How can you prevent both jumpiness, and interrupting tweens with animated Flash buttons?

    - by Kevin Suttle
    This is something I've never been able to figure out. You've got a button offscreen you want to animate in. We'll call it 'btn.' You've got a hit area that serves as the proximity sensor to trigger btn's animation. We'll call it 'hitZone' (as to not cause confusion with the hitArea property of display objects). Both btn and hitZone are MovieClips. The listeners go something like this. import com.greensock.*; import com.greensock.easing.*; import flash.events.MouseEvent; var endPoint:Number = 31; hitZone.addEventListener(MouseEvent.ROLL_OVER, onHitZoneOver); hitZone.addEventListener(MouseEvent.ROLL_OUT, onHitZoneOut); hitZone.addEventListener(MouseEvent.CLICK, onHitZoneClick); btn.addEventListener(MouseEvent.ROLL_OVER, onBtnOver); btn.addEventListener(MouseEvent.ROLL_OUT, onBtnOut); btn.addEventListener(MouseEvent.CLICK, onBtnClick); btn.mouseChildren = false; function onHitZoneOver(e:MouseEvent):void { TweenLite.to(btn, 0.75, {x:endPoint, ease:Expo.easeOut}); trace("over hitZone"); } function onHitZoneOut(e:MouseEvent):void { TweenLite.to(btn, 0.75, {x:-1, ease:Expo.easeOut}); trace("out hitZone"); } function onBtnOver(e:MouseEvent):void { hitZone.mouseEnabled = false; hitZone.removeEventListener(MouseEvent.ROLL_OVER, onHitZoneOver); hitZone.removeEventListener(MouseEvent.ROLL_OUT, onHitZoneOut); trace("over BTN"); // This line is the only thing keeping the btn animation from being fired continuously // causing jumpiness. However, calling this allows the animation to be interrupted // at any point. TweenLite.killTweensOf(btn); } function onBtnOut(e:MouseEvent):void { hitZone.mouseEnabled = true; hitZone.addEventListener(MouseEvent.ROLL_OVER, onHitZoneOver); hitZone.addEventListener(MouseEvent.ROLL_OUT, onHitZoneOut); trace("out BTN"); } function onBtnClick(e:MouseEvent):void { trace("click BTN"); } function onHitZoneClick(e:MouseEvent):void { trace("click hitZone"); } The issue is when your mouse is over both the hitZone and btn. The button continuously jumps unless you call TweenLite.killAllTweensOf(). This fixes the jumpiness, but it introduces a new problem. Now, it's very easy to interrupt the animation of the btn at any point, stopping it before it's totally visible on the stage. I've seen similar posts, but even they suffer from the same issue. Perhaps it's a problem with how Flash detects edges, because I've never once seen a workaround for this.

    Read the article

  • Flash - playing video

    - by Yippie-Kai-Yay
    Hello! I'm developing a Flash-only application and I want to integrate the flowplayer directly into it, but not on the webpage using some swfobject-like approach. So, at some moment (for example, when arbitrary event fires), I would like to add the flowplayer object to the scene so that it starts streaming the specified video. Does someone know if that is possible? Would the following API (http://releases.flowplayer.org/apidoc-latest/index.html) help me somehow? Thank you.

    Read the article

  • [Adobe Air] Can I catch a mouseUp event of an mx:Window that did not fire hte mouseDown?

    - by Irene
    Hi, In an AIR application, I have one mx:TileList with several images. What I need to do is let the user drag and drop one of the images on the desktop, giving a feeling of a desktop widget. Firstly I tried to implement this using dragStart etc, but in the end I think it is easier to handle mouseDown and mouseUp on the TileList. In general the whole setup works as desired. When a mouseDown is detected on the TileList, I create a transparent mx:Window containing the corresponding image, and call the startMove() on the Window to simulate a dragging behavior. If I release the mouse, the Window stops moving as desired. My problem is that now I want some visual feedback during dragging. It works while the Window is moving, however I can't find a way to stop it when the user releases the mouse. The mouseUp is not fired from the TileList, nor from the s:WindowedApplication. I also tried to add a listener to the Window itself, but still with no luck. Some code: private function onMouseDown(e:MouseEvent):void { trace ("down " + e.target); if (e.target is TileListItemRenderer) { // first create a dragWindow dragWindow.startGlow(); // then show some visual feedback dragWindow.moveWindow(e); // and start dragging } } private function onMouseUp(e:MouseEvent):void { trace("up " + e.target); dragWindow.stopGlow(); // <--------- Not called! } <mx:TileList id="photoTileList" mouseDown="onMouseDown(event)" mouseUp="onMouseUp(event)">

    Read the article

  • Resize issue to fit dynamically with any browser size

    - by Qpixo
    I'm trying to make full flash site dynamically resize in any browser size. If the browser gets smaller than the site MC should constrain to fit in the browser. (EX: 1440x900) What I have right now works like 98% of the time, but when I switch to a bigger screen size, it screws up and makes the site tiny from left to right (menu, logo, etc.) (Ex:1680x1050) Does anyone know how to fix that issue?? positionScenesOnStage(); stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; stage.addEventListener(Event.RESIZE, handleObjectsOnStage); private function handleObjectsOnStage(event:Event):void { positionScenesOnStage(); } private function positionScenesOnStage():void { backgroundMC = new bgMC(); backgroundMC.x = 0; backgroundMC.y = 0; backgroundMC.width = stage.stageWidth; backgroundMC.height = stage.stageHeight; addChild(backgroundMC); logo_mc = new LogoMC(); logo_mc.x = stage.stageWidth - 1420; logo_mc.y = stage.stageHeight - 700; addChild(logo_mc); menuContainer = new MenuContainerMC(); menuContainer.x = stage.stageWidth - 400; menuContainer.y = stage.stageHeight - 680; addChild(menuContainer); }

    Read the article

  • movieClip in Array displays null, and aren't showing up on stage.addChild(Array[i])

    - by jtdino
    i am new to Actionscript3, i need to know why i keep getting Parameter child must be non-null. And my code won't display 5 enemyBlock objects onto the stage but only just one. any tips and help will be much appreciated. thanks in advance. returns: TypeError: Error #2007: Parameter child must be non-null. at flash.display::DisplayObjectContainer/addChild() at flash.display::Stage/addChild() at BlockDrop_fla::MainTimeline/EnemyBlockPos() at BlockDrop_fla::MainTimeline/frame2() // declare varibles var isEnemyMoving:Boolean = false; var enemyArray:Array; var enemyBlock:MovieClip = new EnemyBlock(); // assign EnemyBlock class to enemyBlock var enemyBlockMC:MovieClip; var count:int = 5; var mapWidth:Number = 800; var mapHeight:Number = 600; function EnemyBlockPos() :void { // assign new MovieClip not null enemyBlockMC = new MovieClip; enemyArray = new Array(); for(var i=1; i<= count; i++){ // add class to MC enemyBlockMC.addChild(enemyBlock); // randomize position enemyBlock.x = Math.round(Math.random()*mapWidth); enemyBlock.y = Math.round(Math.random()*mapHeight); // set motion enemyBlock.movement = 5; // add MC to array enemyArray.push(enemyBlockMC); } for (var w = 1; w <= enemyArray.length; w++) { addChild(enemyArray[w]); } } // endOf EnemyBlockPos

    Read the article

  • Set sprite width or height without scaling it's children

    - by Gabi Barrientos
    I am trying to dynamically change the width and height of a Sprite object, which is a container for other similar Sprite objects. The container object automatically changes it's size according to the size of it's children, but when I change the position of the children objects, the size of the container stays the same and it's children appear to be placed outside of the container. I tried to solve this problem by using something like this: if (container.width < (child.x + child.width)) { container.width = (child.x + child.width); } but when I use this code, the container object's children are scaled. Is there a way to change the container's size without scaling it's children?

    Read the article

  • Flex Import Class from a Module within a sub directory

    - by Tom
    I put some modules in a module folder. How do I import classes with the import statement when I'm in a sub folder? This won't work, not like classes which are in packages. modules/SomeModule.mxml <?xml version="1.0"?> <mx:Module> <mx:Script> <![CDATA[ import Fruit.Apple; ]]> </mx:Script> </mx:Module> Directory: . |-- Fruit |-- Apple.as |-- Modules |-- SomeModule.mxml `-- application.mxml

    Read the article

  • Filtering data in an array.

    - by user276424
    Hi all, I have an array that has 30 date objects. The date objects are indexed in the array from the minimum date value to the maximum date value. What I would like to do is retrieve only 7 dates from the array. Out of the 7, the first one should be the minDate and the last should be the maxDate, with 5 dates in the middle. The 7 numbers should increment evenly from the minDate to the maxDate. How would I accomplish this? Hope I was clear. Thanks, Tonih

    Read the article

  • Flex - weird display behavior on large number of Canvas

    - by itarato
    Hi, I have a Flex app (SDK 3.5 - FP10) that does mindmap trees. Every node is a Canvas (I'm using Canvas specific properties so I needed it). It has a shadow effect, background color and some small ui element on it (like icons, texts...). It works perfectly until it goes over ~700 nodes (Canvas). Over that number it shows grey rectangles: http://yfrog.com/bhw2pj . If I turn off the DropShadowFilter effect for the Canvas, they are also gone, so I assume it's a DropShadowFilter problem: http://yfrog.com/2d9y8j . The effect is simple: private static var _nodeDropShadow:DropShadowFilter = new DropShadowFilter(1, 45, 0x888888, 1, 1, 1); _backgroundComp.filters = _nodeDropShadow; Is it possible that Flex can't handle that much? Thanks in advance

    Read the article

  • How to modify a already made tween?

    - by Fahim Akhter
    Hi, I have a tween like this : new Tween(myObject, "x",null,nowPosition,finalPosition,time,true); sometween.start(); Now when the tween has not finished and is somewhere in the middle and the final position changes. I want this tween to be modified so instead of moving to its already defined postion the object goes to the final position. Any ideas?

    Read the article

  • Flash SWF not initializing until visible - can I force them to initialize?

    - by Jason
    I have an application that needs to render about 100 flash graphs (as well as other DOM stuff) in a series of rows that vertically extend many times beyond the current visible window - in other words, the users have to scroll down see see all the different graphs. This application is also dynamic and when a user changes a value in the DOM (anywhere on the page) it will need to propagate that change to all the Flash graphs at the same time. So I setup all the externalInterface callbacks and was careful to not let any JS start going until the ever-so-important "flashIsReady" call and...it worked great until I tried to update() the existing swf's with new data. Here was the behavior: - All the swfs load (initially) in both IE/Fox = good. - Updating swfs with new content works in IE but not in Fox = not good - Updating swfs with new content works in Fox --ONLY IF-- I scrolled down to the bottom of the page, then back to the top -- BEFORE -- I triggered an update(). So then I started tracing out each time a swf called the JS to say "flash is ready" and I realized, Firfox only renders swfs as they become visible. And To be honest - that's fine and actually, I am pretty sure that IE does this too. But the problem is that not only does Firefox not initialize the swf, Firefox doesn't even acknowledge the swf exists (expect for after onload) if it has not yet been visible. And the proof is that you get JS errors saying: "[FlashDOMID].FlashMethod is not a function". However, scroll down a little, wait until its visible and suddenly the trace starts lighting up "Flash Ready", "Flash Ready", "Flash Ready" and once they are all ready, everything works fine. Someone told me that FF does not init swf's until visible - can I force it? I can post code if you need...but its pretty heavy (hard to strip out the relevant from the rest) and I would like to avoid it (for your sakes) if possible. The question is simple - have you had this happen and if so, did you find a solution? Does anyone now how to force a not-yet-visible swf to initialize? Thanks guys.

    Read the article

  • iphone flash lite 2.0 support?

    - by cometta
    1.i dont have iphone, so may i know does iphone come with pre-installed flash lite 2.0 or above? if answer is Not, if a web page that embed flash lite app. can it prompt user of iphone to install flash lite easily ? 2. where can i get list of phones that support flash lite 2.0 and above?

    Read the article

  • How to create an object from 2 arrays?

    - by Ole Jak
    So I hava array Links and array Params with same langth N So what I need is to create an object where for each link from Links I will be able to see param from Params And than for example to be abble to call something like for each( item in object) if (item.param == "some value") { // some code } else... How to do such thing (Code exaMple, please)

    Read the article

  • FileReference.save() duplicates ByteArray

    - by bartekb
    Hi, I've encountered a memory problem using FileReference.save(). My Flash application generates of a lot of data in real-time and needs to save this data to a local file. As I understand, Flash 10 (as opposed to AIR) does not support streaming to a file. But, what's even worse is that FileReference.save() duplicates all the data before saving it. I was looking for a workaround to this doubled memory usage and thought about the following approach: What if I pass a custom subclass of ByteArray as an argument to FileReference.save(), where this ByteArray subclass would override all read*() methods. The overridden read*() methods would wait for a piece of data to be generated by my application, return this piece of data and immediately remove it from the memory. I know how much data will be generated, so I could also override length/bytesAvailable methods. Would it be possible? Could you give me some hint how to do it? I've created a subclass of ByteArray, registered an alias for it, passed an instance of this subclass to FileReference.save(), but somehow FileReference.save() seems to treat it just as it was a ByteArray instance and doesn't call any of my overridden methods... Thanks a lot for any help!

    Read the article

  • event listener says NetStream.Play.Start but I see no video

    - by Curtis
    I'm trying to test out the Adobe Media Server, and I'm following some tutorials in order to stream a video. I have a NetConnection which successfully connects to the application on the server, then I have the code below. It looks like it's supposed to play a video, but it doesn't. It creates the video object as a black square in the top left corner, and the event.info.code says NetStream.Play.Start, but I don't see the video playing. case "NetConnection.Connect.Success": var v:Video = new Video(); v.width=200; v.height=200; v.x=0; v.y=0; v.visible=true; v.opaqueBackground=false; stage.addChild(v); var ns:NetStream = new NetStream(nc); ns.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler); v.attachNetStream(ns); ns.play("mp4:polymorphics.f4v"); I can also try ns.play("rtmp://localhost/vod/mp4:tests/polymorphics.f4v"); but that gives me a Stream Not Found error The lines that begin with "ns" means that they're generated by my NetStream listener, as opposed to my NetConnection listener. Connecting... connected is: true event.info.level: status event.info.code: NetConnection.Connect.Success onReply recieved value: Hello, World! ns connected is: true ns event.info.level: status ns event.info.code: NetStream.Play.Reset ns connected is: true ns event.info.level: status ns event.info.code: NetStream.Play.Start

    Read the article

  • Loading Flash / Flex Applications in another AIR Application

    - by t.stamm
    Hi there, i'm loading a Flex Application in my AIR App and i'm using the childSandboxBridge and parentSandboxBridge to communicate between those two. Works like a charm. But i've tried to load a Flash Application (the main Class extends Sprite, not Application) and therefore i get a SecurityError when trying to set the childSandboxBridge on the loaderInfo object. In the Flex app it's like this: I'm casting the loaderInfo since the childSandboxBridge Property is only available in AIR. loaderInfo = FlexGlobals.topLevelApplication.systemManager.loaderInfo; try { Object(loaderInfo).childSandboxBridge = this; } catch(e:Error) { ... } In my Flash app it's like this: loaderInfo = myMainObject.loaderInfo; // myMainObject is the same class as 'root' try { Object(loaderInfo).childSandboxBridge = this; } catch(e:Error) { ... } In the below example i get the following SecurityError: Error #3206: Caller app:/airapp.swf/[[DYNAMIC]]/1 cannot set LoaderInfo property childSandboxBridge. The SecuritySandbox for both examples is 'application'. Any ideas why it doesn't work with the Flash app? Thanks in advance.

    Read the article

  • Flex 4: Getter getting before setter sets

    - by Steve
    I've created an AS class to use as a data model, shown here: package { import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.http.HTTPService; public class Model { private var xmlService:HTTPService; private var _xml:XML; private var xmlChanged:Boolean = false; public function Model() { } public function loadXML(url:String):void { xmlService = new HTTPService(); if (!url) xmlService.url = "DATAPOINTS.xml"; else xmlService.url = url; xmlService.resultFormat = "e4x"; xmlService.addEventListener(ResultEvent.RESULT, setXML); xmlService.addEventListener(FaultEvent.FAULT, faultXML); xmlService.send(); } private function setXML(event:ResultEvent):void { xmlChanged = true; this._xml = event.result as XML; } private function faultXML(event:FaultEvent):void { Alert.show("RAF data could not be loaded."); } public function get xml():XML { return _xml; } } } And in my main application, I'm initiating the app and calling the loadXML function to get the XML: <fx:Script> <![CDATA[ import mx.containers.Form; import mx.containers.FormItem; import mx.containers.VBox; import mx.controls.Alert; import mx.controls.Button; import mx.controls.Label; import mx.controls.Text; import mx.controls.TextInput; import spark.components.NavigatorContent; private function init():void { var model:Model = new Model(); model.loadXML(null); var xml:XML = model.xml; } ]]> </fx:Script> The trouble I'm having is that the getter function is running before loadXML has finished, so the XML varible in my main app comes up undefined in stack traces. How do I put a condition in here somewhere that tells the getter to wait until the loadXML() function has finished before running?

    Read the article

  • Resizable Button with background in flash CS4

    - by Bhavesh.Bagadiya
    Hi, I want to create a button which resize dynamically with content. to achieve this, I created a MovieClip in library and added four layers into it namely - text, bg, shadow and border. Problem I'm having is, if I make textfield autosize, only textfield resizes and others stuff remain as it is. if I calculate width required using xxxLineMetrics function and apply it to Button, background resizes properly but textfield also stretches with them and looks ugly. I want backgrounds(sibling of textfield) resize properly with textfield so button looks nice with resized background and normal autosized textfield. I hope u guys got what I want...any help appreciated... Thanks,

    Read the article

  • Having constrains object to move X,Y at the same time?

    - by Hwang
    The stage is separated into 4 sections, and I will be moving the camera around the stage. So at each particular section the camera will have an area of constrain it can move. I mange to constrain its X & Y, but it could only navigate either X or Y. How to move in X+Y at the same time? if (mouseX>sec2maxX) { TweenLite.to(vC, 1, {x:sec2maxX}); } else if (mouseX<sec2minX) { TweenLite.to(vC, 1, {x:sec2minX}); } else { TweenLite.to(vC, 1, {x:mouseX}); } if (mouseY<sec2minY) { TweenLite.to(vC, 1, {y:sec2minY}); } else if (mouseY>sec2maxY) { TweenLite.to(vC, 1, {y:sec2maxY}); } else { TweenLite.to(vC, 1, {y:mouseY}); } if i were to put X & Y in a same line of code it would be a lot of possibilities when the mouse is on top left or right bottom kind of situation, so I need to have it running seperately, but how can I combine it so that it could move X+Y?

    Read the article

  • Multiple dispatching issue

    - by user1440263
    I try to be synthetic: I'm dispatching an event from a MovieClip (customized symbol in library) this way: public function _onMouseDown(e:MouseEvent){ var obj = {targetClips:["tondo"],functionString:"testFF"}; dispatchEvent(new BridgeEvent(BridgeEvent.BRIDGE_DATA,obj)); } The BridgeEvent class is the following: package events { import flash.events.EventDispatcher; import flash.events.Event; public class BridgeEvent extends Event { public static const BRIDGE_DATA:String = "BridgeData"; public var data:*; public function BridgeEvent(type:String, data:*) { this.data = data; super(type, true); } } } The document class listens to the event this way: addEventListener(BridgeEvent.BRIDGE_DATA,eventSwitcher); In eventSwitcher method I have a simple trace("received"). What happens: when I click the MovieClip the trace action gets duplicated and the output window writes many "received" (even if the click is only one). What happens? How do I prevent this behaviour? What is causing this? Any help is appreciated. [SOLVED] I'm sorry, you will not believe this. A colleague, to make me a joke, converted the MOUSE_DOWN handler to MOUSE_OVER.

    Read the article

  • Issues rendering image in flash via Context.Response.Write C# asp.

    - by Justin
    I am having an issue rendering images in flash via a character array. I am sending it from a webhandler via Context.Response.Write as a Base64CharacterArray. It functions 100% properly in a windows environment, however when using a Mac the image data is not retrieved correctly causing the image to appear incorrectly. It does not affect the data,however as it is rendered properly in a player which accesses the data via a webservice. I am at the end of my rope on this one. Anything will help. You can find an example at the following url http://www.discoverirelandtoday.com/photoalbum/Public/Main.aspx Thanks

    Read the article

  • Flash error 1084: "Syntax error"

    - by Elliot Broomhall
    Hi I'm getting two error messages in Flash when using actionscropt 3.0 "Topbar,Layer 'Action Layer',Frame 1,line 12 1084: syntax error: expection semicolon before add. "Topbar,Layer 'Action Layer',Frame 1,line 12 1084: syntax error: expection rightbrace before semicolon Here is my code could anyone give some insight to what is actually happening thanks and help on rectifying the issue thanks. clip = Number(random(7)) + 1; while (Number(clip) <= 7) { clip = Number(clip) + 1; Scale = Number(random(80)) + 1; setProperty("/star", _x, Number(random(800)) + 10); setProperty("/star", _rotation, Number(random(330)) + 50); setProperty("/star", _xscale, Scale); setProperty("/star", _yscale, Scale); setProperty("/star", _y, Number(random(800)) + 50); n = Number(n) + 1; bn = "star" add n; duplicateMovieClip("star", bn, n); set(bn add ":n", n); } // end while clip = "0";

    Read the article

  • create dynamic navigation from xml file in flash cs3

    - by mjr
    action script newbie here :-) What I want to do is this, hand an xml file to a swf and have the swf generate a dynamic text box and button for each of the links in the xml file a rudimentary navigation here's the xml <?xml version="1.0" encoding="UTF-8"?> <page> <page name="Page Name 1" url="/page-1/" /> <page name="Page Name 2" url="/page-2/" /> <page name="Page Name 3" url="/page-3/" /> <page name="Page Name 4" url="/page-4/" /> </page> and in my fla I have a button in my library named 'nav_button' there's a layer named actions and in frame 1 I have this var xml:XML; var xmlList:XMLList; var xmlLoader:URLLoader = new URLLoader(); var button:Button = new Button(); xmlLoader.load(new URLRequest("links.xml")); xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded); function xmlLoaded(event:Event):void { xml = XML(event.target.data); xmlList = xml.children(); trace(xml.length()); for(var i:int = 0; i < xmlList.length(); i++) { button = new Button(); button.x = 25; button.y = i * 50 +25; addChild(button); } } the xml imports fine, but when it comes to the for loop and adding the buttons and text boxes to the stage, I'm toast

    Read the article

  • Drawing outlines around organic shapes

    - by ThunderChunky_SF
    One thing that seems particularly easy to do in the Flash IDE but difficult to do with code is to outline an organic shape. In the IDE you can just use the inkbucket tool to draw a stroke around something. Using nothing but code it seems much trickier. One method I've seen is to add a glow filter to the shape in question and just mess with the strength. But what if i want to only show the outline? What I'd like to do is to collect all of the points that make up the edge of the shape and then just connect the dots. I've actually gotten so far as to collect all of the points with a quick and dirty edge detection script that I wrote. So now I have a Vector of all the points that makeup my shape. How do I connect them in the proper sequence so it actually looks like the original object? For anyone who is interested here is my edge detection script: // Create a new sprite which we'll use for our outline var sp:Sprite = new Sprite(); var radius:int = 50; sp.graphics.beginFill(0x00FF00, 1); sp.graphics.drawCircle(0, 0, radius); sp.graphics.endFill(); sp.x = stage.stageWidth / 2; sp.y = stage.stageHeight / 2; // Create a bitmap data object to draw our vector data var bmd:BitmapData = new BitmapData(sp.width, sp.height, true, 0); // Use a transform matrix to translate the drawn clip so that none of its // pixels reside in negative space. The draw method will only draw starting // at 0,0 var mat:Matrix = new Matrix(1, 0, 0, 1, radius, radius); bmd.draw(sp, mat); // Pass the bitmap data to an actual bitmap var bmp:Bitmap = new Bitmap(bmd); // Add the bitmap to the stage addChild(bmp); // Grab all of the pixel data from the bitmap data object var pixels:Vector.<uint> = bmd.getVector(bmd.rect); // Setup a vector to hold our stroke points var points:Vector.<Point> = new Vector.<Point>; // Loop through all of the pixels of the bitmap data object and // create a point instance for each pixel location that isn't // transparent. var l:int = pixels.length; for(var i:int = 0; i < l; ++i) { // Check to see if the pixel is transparent if(pixels[i] != 0) { var pt:Point; // Check to see if the pixel is on the first or last // row. We'll grab everything from these rows to close the outline if(i <= bmp.width || i >= (bmp.width * bmp.height) - bmp.width) { pt = new Point(); pt.x = int(i % bmp.width); pt.y = int(i / bmp.width); points.push(pt); continue; } // Check to see if the current pixel is on either extreme edge if(int(i % bmp.width) == 0 || int(i % bmp.width) == bmp.width - 1) { pt = new Point(); pt.x = int(i % bmp.width); pt.y = int(i / bmp.width); points.push(pt); continue; } // Check to see if the previous or next pixel are transparent, // if so save the current one. if(i > 0 && i < bmp.width * bmp.height) { if(pixels[i - 1] == 0 || pixels[i + 1] == 0) { pt = new Point(); pt.x = int(i % bmp.width); pt.y = int(i / bmp.width); points.push(pt); } } } }

    Read the article

< Previous Page | 73 74 75 76 77 78 79 80 81 82 83 84  | Next Page >