Actionscript 3 :: Drawing On Screen From A Non-sprite Object?
Oct 5, 2010
I'm trying to debug AS3 code on production. I have no access to trace(), can't write to disk or open a socket. What I want is to display something on screen.
With AS2 I could just access _root and create a text field with my trace data.
how I can pull this off with AS3? My class extends Object, it is not a sprite and is never added to a parent display object.
Everytime I google this question I see confusing information about masks and blends, none of which seems to directly apply to what I think should be an easy thing... There are three Sprites involved here...the lowest layer sprite is pretty much a background. I want to overlay a translucent Sprite on top of the background and then I want the third, top-most Sprite to act as a hole, so that the area inside the third Sprite is completely transparent, so that the background sprite is completely visible. How would I go about doing this dynamically (i.e. dynamically drawing the masking sprite and hole using the Actionscript graphics calls)?
I have a brick class where I have created a rectangle using flash.display.graphics.I am using this brick class to create a grid of 10 X 10 in another class called grid using new brick() in a for loop.I have another class called ball where I have created a circle with flash.display.graphics.The problem is that I want to remove / destroy individual bricks when the ball hits the bricks on Event.ENTER_FRAME which is not happening.the error I get is shown only for the last brick that is created in a for loop.ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display:isplayObjectContainer/removeChild() at grid/ball_movement()// my function in enter frame event The code I wrote in ENTER_FRAME is
I have a brick class where I have created a rectangle using flash.display.graphics.I am using this brick class to create a grid of 10 X 10 in another class called grid using new brick() in a for loop.I have another class called ball where I have created a circle with flash.display.graphics.The problem is that I want to remove / destroy individual bricks when the ball hits the bricks on Event.ENTER_FRAME which is not happening.the error I get is shown only for the last brick that is created in a for loop.[code]
Basically I've got a reasonably complex drawing object in a fla and I want to reproduce it in a class definition using the drawing api. However obviously this is a tedious task, so is there some trick or automated method of doing this?
Last time I needed to do this it was a drawing of an arrow and I ended up writing down x,y,width,height values for everything but this one has curves in it which I don't have experience with drawing anyway.
I have two options and I want to know whats faster. I have a pool of 1000 sprites objects in as3 on screen. When its needed each sprite has to resize itself. I can 1- Make each sprite a simple container to use graphics to draw a rectangle, that is, call a 'spriteInstance.graphics.' ,draw the rectangle and on each 'refresh', I do graphics.clear and redraw the rectangle but with the new size, this for each sprite. or 2- Create each sprite with a border and on each refresh, resize it Whats better?
I have a program that dynamically draws a polygon wherever the user clicks on the screen. (using lineto, moveto) However this polygon is always behind the other symbol objects on the screen even though its added last in the childlist. Is there an issue with depth when drawing symbols vs. drawing with lines? How can I ensure my dynamic object will display in front?
I am writing a program in AS3 that gradually draws a line following some points on a bitmap. Firstly I draw the bitmap on the screen ( load into a sprite, add the loader to the sprite and the sprite to the screen) Then I draw the line on it segment by segment.( add an empty Sprite to the screen and then do lots of lineTos)Sometimes my line drawing process goes wrong and I was hoping to see where this happens, but Flash Player 10 seems to have some clever optimisation, so that it waits to put the display on the screen until after it has calculated all of the sections of the lines. This means that if it goes wrong it never displays the picture, and I cannot see what is going on. This is very frustrating when I use the debugger in Flash as it does not even refresh the screen when it reaches a break point how to turn this optimisation off and force it to draw stuff onto the screen as it is calculated.
The game involves HP (health points) and i made it decrease everytime i am hit by a bullet. The problem is: How can i draw the Health points (a string) on screen?
Basically, I have a BitmapData object which is acting as a virtual screen.
I have a MovieClip which I want to render to the bitmap using the same transformation as though the bitmap were the screen. However, the MovieClip is not attached directly to the root
The BitmapData.draw() method takes a Matrix as an optional parameter, which I think I need to set as the MovieClip's localToGlobal transformation matrix. However, I don't know how to obtain or construct this!
I am very new to flash, and don't fully understand the drawing system yet. I want the user to be able to draw boxes on the screen. This is the code I am using:
Code: Select all//Declare boxes var boxes:Array = new Array(); var num:Number = 0; //Drawer var drawer = new Sprite(); drawer.graphics.lineStyle(1,0x00ff00); this.addChild(drawer); [Code] .....
How can I have the user see the box as they are drawing it, moving with the mouse, rather than just drawn at the end? Are flash's drawings just one time, or can they be dynamically drawn and refreshed?
I am drawing a rectangle at 0,0 with a line-style-thickness of 4px. It has height 100% and width 50%. The right-hand edge has a border 4px wide, but all 3 other sides are only 2px, suggesting the mid-point of the edge is classed as the border. Why isn't the edge drawn 'inside' the rectangle?
Im writing an IOS game using AS3. Here's the problem- I have an image on the screen that moves around. When the image's y value goes negative (the image is partly off the screen), the frame rates bottom out. I've gone over my code pretty thoroughly, even threw together a few test projects just to experiment. In all the test I do, whenever there is an object that is off screen, even partially, the frame rates drop. It's making scrolling backgrounds impossible. BTW, I'm using Packager for iPhone and a 3G (not 3GS). Frame rates are normally 24 with no problems
I'm new to Adobe Flash CS4. I'm making an animation of some fish underwater. I have 2 small fish motion tweened to follow a large fish from left to right. When I view the animation in full screen the small fish seem to be wiped off the screen at a certain point. The tween box continues to follow it's path but the symbol disappears. This only seems to happen with larger objects.
I want a sprite to be added to the stage, then move along the stage, I guess using the ENTER_FRAME listener. Then when it reaches a certain point, for example ball.x = 200; it is to stay there. Also when it reaches that point, another iteration of the ball sprite is added to the stage at another point on the stage, and then do the same thing as the previous on (like move across the screen until it reaches the stop point (like the one before).This adding of Sprites and then moving, checking if it reaches a point, if so, stop this sprite from moving, then add another sprite in the initial position, would be on a loop until a condition is met, i.e counter = 100;I can't seem to get it down on code, (cue people going "man this is easy"!!) So in short1) add sprite to stage at sprite.x = 100; sprite.y = 150;2) move sprite across stage 10 pixels per frame3) when sprite.x => 500; stop the sprite.counter++;4) add another sprite instance in the original location (sprite.x = 100; sprite.y = 1505) repeat steps 3)-4) until counter == 100, then go to 6
In my Flex application, using a custom control, I am making a JSON request to grab some data from the server. My rendering depends on this data such as knowing how many boxes to draw. How can I either force the rendering to wait until I've got the data before drawing to screen or have the boxes draw once we receive the data? I have an event listener for Event.COMPLETE for my JSON request and in there, I call methods that add to the control. I've tried invalidateDisplayList but that doesn't seem to do anything for me?
I am trying to move a 'Shape' object across the screen. As the object moves, a copy is being left at the initial position. Almost as if only an instance of original object ahs been moved
This is not an issue for moving an image or MXML graphic. Is something wrong in setting to the move object?
The code is as follows
private var arrow:UIComponent; private function resetAssets():void{ arrow = new UIComponent();
I've received a number of graphics from an Illustrator user - they imported as symbols containing drawing objects. When I opened one of these symbols and tried to tween (fade out) the drawing object, I don't have the Alpha option. I don't use Illustrator myself and I had to install CS4 so I'm not used to that either.
I'm having a hard time with strokes. First I selected a stroke and the properties panel would not let me change it's thickness. How to add a stroke to an object. We used to have a tool that allowed us to apply a stroke to an object. That is gone now. How we attach a line to an object now?? It looks like Adobe has changed Flash CS4 to be more like Photoshop. It is about as intuitive as a tax form.
Well, I've been using flash a while, but I just ran into a newbie problem.. I must have hit some sort of hotkey, but I can't figure out how to undo it or anything in the preferences. Anyways, I'm running Flash CS4 and normally when you draw a shape and select that shape it selects the fill and it looks like little dots all over the shape when its selected. Now when I click on a shape it has a border around it and I can't just select a piece of the shape. Also, what's bothering me is that when you draw two shapes on top of each other, Flash used to merge those shapes automatically, but now they are staying separate unless I manually Union them. It still says they're drawing objects, its not converting them to symbols or anything, but they are kind of acting like symbols in the way I can interact with them. How can I turn this setting off?
I want to load two picture and add every picture to every sprite object,such as picture a to sprite1 and picture b to spriteb,I know I can load a pictue by following code:
loadImage('a');loadImage('b');private function loadImage(imagePath:String):void { var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded); loader.load(new URLRequest(imagePath));}private function
What I'm about to ask might be completely nonsense/basic or something else. Because my AS knowledge is too little. Hope I can explain correctly. I am tring to create a sliding banner animation dynamically. The reason that I create dynamic is that I want to load banner images and headlines from XML file.
What I'm about to ask might be completely nonsense/basic or something else. Because my AS knowledge is too little. Hope I can explain correctly
I am tring to create a sliding banner animation dynamically. The reason that I create dynamic is that I want to load banner images and headlines from XML file.
So I found a sample project with .as and .xml file. It does what I want but it has no animation. You can see the demo here: [URL] As you can see, there's a transparent info panel below. Here's the code how it is being created:
private var infoPanel:Sprite = new Sprite(); private var titleField:TextField = new TextField(); private var description:TextField = new TextField();
I want to load two picture and add every picture to every sprite object,such as picture a to sprite1 and picture b to spriteb,I know I can load a pictue by following [code]...
I'm making a resize function that has to resize a Project object that extends Sprite.
But I keep ketting a type coercion error: TypeError: Error #1034: Type Coercion failed: cannot convert AS:: Project@318ff89 to mx.core.IUIComponent.
I've tried casting the Project object to an UIComponent or DisplayObject, but this also throws a TypeError.
[AS]var resizeTarget:UIComponent = new UIComponent(); resizeTarget = UIComponent(target.getChildAt(0)); var myResize:Resize = new Resize(resizeTarget);[/AS]
So basically should I try avoiding the use of Sprites in Flex?
In my movie I have a round drawing object, which I wish to view enlarged (about 2000% of original size). While editing it looks fine and round but after publishing all the roundness is lost and instead I get visible angles. I attach 2 images to visualize, one from the editing stage and the other after publishing. Is there any way I can get around that strange effect? I created the image from some text i "broke apart" to a drawing object. Attachments: edit.png (2.5 K) published.png (1.3 K)