ActionScript 3.0 :: Knowing What Has Been Drawn In Graphics Object
Jul 17, 2009
Lets say I have a customMovieClip. I sometimes draw an ellipse with customMovieClip.graphics and sometimes a rectangle. Now I want to know what was the shape ( ellipse/rect) that was created using a particular graphics object. Doing this would enable me to pinpoint what exactly to do with that customMovieClip() instance.
Lets say I have a customMovieClip. I sometimes draw an ellipse with customMovieClip.graphics and sometimes a rectangle. Now I want to know what was the shape ( ellipse/rect) that was created using a particular graphics object. Doing this would enable me to pinpoint what exactly to do with that customMovieClip() instance.
Is it possible to edit vector drawings made in Flash (and in the FLA's library) within Actionscript? For instance, to change the line width or line color?
I have an application that creates a chart dynamically. This chart has a lot of information plotted on it (4-6 stock trends). I want to be able to toggle some of those lines with a button. Each trend is drawn with something like this:
Code: // establish a new Vector object for the commands parameter var line_commands:Vector.<int> = new Vector.<int>(); line_commands.push(1,2,2,2); // establish a new Vector object for the data parameter var line_coord:Vector.<Number> = new Vector.<Number>(); // use the Vector array push() method to add a set of coordinate pairs line_coord.push(0,0, 75,50, 100,0, 125,50); graphics.drawPath(line_commands, line_coord);
How would I toggle the line I just drew? My first idea would be to put some of this code inside a function and redraw the line with the same color of the movie's background color. I don't know if this is the best option, I was wondering if I could draw this line inside a Sprite or Movie Clip and just toggle its visibility?
Is it possible to access the graphics.* - characteristics of objects that I have drawn at authoring-time at runtime? If I have drawn a single line in a movieclip I'd like to do sth like this:
I'm using Flash CS3 to build a simple drawing application. When the user clicks a button, they select a particular movieclip. After clicking elsewhere on the stage, the clip is instantiated and added to the stage at the position of the cursor. I've also added the option of being able to click on the added clip and drag it around on the screen. And this all works fine.
The problem is that I also want to be able to dynamically draw and add objects to the stage via the Graphics class. Whenever I add objects in this manner, their x and y coordinates are always 0,0 no matter where I place them on the stage. This makes positioning these graphics very very problematic. I created a modified positioning function specifically for these dynamically drawn graphics and while it does "work", it feels less responsive than the positioning for movieclip objects. I'm still trying to optimize this function, but it seems to me that the ideal solution is for the graphics to have non-zero coordinates when placed in the middle of the stage like movieclip objects. Is there some "workaround" to achieve this?
I am trying to draw a line from x1, y1 to x2,y2 and i want it to be a line that repeats a pattern from an image. All I can see is that you can only draw lines and change their color or thickness but I would like it to repeat an image. Is that possible or do i have to use a really long and thin rectangle with a bitmap fill?The problem is I am making a game where the user will be able to actually draw the line so i have to make it be created dynamically. The game fantastic contraption [URL] has in the game a feature where you draw lines of any length and position that are filed with a picture.
I'm trying to use the BitmapData.draw() method on a sprite which I create through my own external class, but all I was getting was white. Finally figured out that it was taking a half a second or so for the sprite to pop up on the stage, and the draw method was apparently "pixelizing" it before it was drawn.
So my question is, how does one know when a non-loaded object is "ready"? Do I need to add my own event sent from the end of the external constructor code? I don't want to modify the class just to snap a picture of it. Waiting an arbitrary amount of time with a timer seems wasteful too.
Code: Select allvar bc:BarChart = new BarChart(500, 300); addChild(bc);} var bitmapData:BitmapData = new BitmapData(500, 300);
I saw this question a few times here and there but it never had a satisfying answer... It may be that there really is no elegant way to solve this (Polling for change in ENTER_FRAME is really bad!) but I've got to ask one last time.
I'm a Flex developer but it doesn't really matter in this case.
I would like to know when an object's global x/y was modified (or its transform's concatenated matrix's tx/ty, same thing), maybe because an indirect parent somewhere moved, etc.In particular, I have the object's gran gran gran parent which gets its scrollrect changed.
I am trying to find an object in the display list. All that is known, is the name of the class. I recursively iterate through every child in the display list to find my object's instance, and unfortunately everything was instantiated at runtime and was given a generic instance name. This videoplayer has around 300 children(ugh), and through trial and error I found my instance I need to get a hold of, instance60. Now it would be fine by using just the instance name, but the thought of it being called a different instance name would send this program into insanity.
Internally Flash obviously keeps a list of the primitives drawn using Graphics so I wondered if you have many such primitives in a Sprite, can you re-position/remove/alter individual items rather than clear and re-draw everything? Or is this deeper into the bowels of Flash than you're allowed (or recommended) to go?
I would like to change backgroundColor of an drawn object(square) by mouseover. I acutally found the function for mouseover in action scripts but BackgroundColor("#ccc") does not work.
Is there anyway I can effectively call the equiv. of setText on a Flex Graphics object ?Specifically I'm using a custom cell renderer to display data in a datagrid. The renderer uses the Graphics object to set the background colour of only a portion of the cell (say the left half) based upon the underlying data. I would like to be able to have text over only that portion of the cell which has the background colour (eg centred within the left half). I know all the widths (of both the cell itself and the graphics object) but I don't know how I can set text (centred) over the graphics object.
Is there anyway I can effectively call the equiv. of setText on a Flex Graphics object ?
Specifically I'm using a custom cell renderer to display data in a datagrid. The renderer uses the Graphics object to set the background colour of only a portion of the cell (say the left half) based upon the underlying data. I would like to be able to have text over only that portion of the cell which has the background colour (eg centred within the left half).
I know all the widths (of both the cell itself and the graphics object) but I don't know how I can set text (centred) over the graphics object.
I have a Sprite in which I have drawn a circle with a fill. Later on, I wish to modify the color of this circle. I have retrieved the Graphics object from the Sprite using getChildAt(), and have tried:
getChildAt(i).graphics.beginFill(0x550000);
however this does not work. I've RTFM'd but can't figure out exactly how to deal with the Graphics object.
I am making a Flash CS5 application in which the user draws transparent overlays on a Sprite placed on top of an image. The user needs to be able to erase his input as in MS Paint, Adobe Photoshop, or GIMP. Because the Sprite is on top of an image, there is no safe clear color I can think of to draw over the section that the user has just rubbed his eraser over
I'm implementing a simple painting programm. Therefor I need something like a Graphics.clear() function, not for the whole Grahpics object, but for a small area only.I don't want to paint in white color instead, I just want to really clear the previously drawn lines and stuff.
I am trying to create a custom object which will display particular graphics at a particular time (when the movie tells the object to show something). Well I made my object (the way I thought it would work) and I encountered a problem when I called graphics functions from the main movie.
I made a very stripped down version of the same object to test and see what was going wrong. Apparently, I can call "Draw()" directly from inside the constructor and it will use the draw methods, but I cannot call it from the movie (like in the script below) and I can't call it from another function in the object if that function is not called during the constructor.
The question is... am I doing this right? The simple version of my end goal would be to create this object and have a function that I can call in the object something like "DrawImage(imagePath:String)" and it will use the graphics to draw the image.
In the movie: ----------------------------------------------
I have a complex graphics data on a sprite or a shape (no matter which is exactly). But I want to draw shadow (inner too) for one Rect ( [10, 10, 240, 25] for example) or another path.
A simple moveTo(x, y) call before beginBitmapFill does not work :/ Neither does changing the x and y value of drawRect... (That just seems to have the same effect as an translation with the matrix...) Additionally I don't want do draw that thing in a separate Graphics-Object and add that one into the other...
The program has a background image over which these lines are drawn.The problem which I am facing is that the image overshadows the lines and the lines are not visible to the user.Since these lines do not have an id, I am not sure as to how I can assign a depth to them?
Is there a way to determine the current position of the pen in a graphics display object. Something similar to what is discussed in this thread but for AS3?
I'm trying to understand how the Flex framework draws objects (Button, Label, Image, etc.). The Button class seems to draw itself by addChild()ing its ProgrammaticSkin. However, where in the framework is the Graphics object being passed around in the hierarchy to achieve the drawing. I want to get to the level of 2D API.