ActionScript 3.0 :: Detect The Type Of DisplayObject (Sprite, MovieClip, Bitmap Etc)?
Nov 22, 2009
Is there a way to detect the type of a DisplayObject with a switch case statement?I noticed that you can check if the displayobject compared to the type returns true or false.
Trace(mydisplayObj is Sprite); //return true or false
Trace(mydisplayObj is MovieClip); //return true or false
But isn't there an option to get the type of the displayObject directly?
like,
switch (typeof(mydisplayObj)) {
case Sprite:
break;
I am building little games never anything too big. I'm having fun. I'm getting the following error message 1067: Implicit coercion of a value of type String to an unrelated type flash.display:DisplayObject.
It's got to do with the varObject variable I pass into the hitTestObject (at the end of the code) a. I exported the moveclip for actionscript and gave it an instance name so what's the problem???
So for instance, I've got three .as files called 'Helicopter.as, Game.as, Blue.as' and I also have a .fla file called Helicopter.fla (These files are all suppose to link together, to make the helicopter game) . In the Game.as file, I have the following;
[Code]....
Flash doesn't recognise the original Helicopter symbol (in the Helicopter.fla file, because I deleted it). But I want the system to detect the 'circle' drawn using API (In the Helicopter.as file). And I have no idea how to how to name the API drawn circle 'Helicopter', thus I'm getting an error. So how do I name the API circle to 'Helicopter', so the Game.as file recognises it.
If I have a BitmapData that's already been drawn onto a Sprite. Is there a way to redraw the BitmapData onto a Sprites Graphics object without having to invoke beginBitmapFill and passing in the same BitmapData?
var loader = new Loader(); loader.load(new URLRequest("http://127.0.0.1/items/boing.png"))); var o:DisplayObject = addChild(loader); o.x = 100; o.y = 100;
But if I cast to sprite it doesn't work? Ie the sprite appears on (0, 0) instead of (100, 100):
var loader = new Loader(); loader.load(new URLRequest("http://127.0.0.1/items/boing.png")) var o:Sprite = Sprite(addChild(loader)); o.x = 100; o.y = 100;
How would I properly have a sprite instead of a DisplayObject? I need some sprite's features (drag'n drop, useHandCursor...), yet I wish I could still use the very quick writing with the loader.
I load an png image and add it to the display list. Now I want to add this image more than once, like a pinball game there could be 3,4,5 balls, all with the same image. But I cant add the same image reference more than once to the display list, right? So should I make a copy of it? How can I copy it and add to the display list without needing to load it from file more than once?
I tried using this: [URL] But didnt worked! I use the class Loader to load an png, and I use the Loader.content as a parameter of that function. When I add the result to the displaylist nothing appears!
At startup I want to know in AS3 if a DisplayObject has been mirrored in the X or Y-axis during artwork. Basically I want to know if a MovieClip got a negative scaleX or scaleY after using free-transforms.
myDisplayObject.scaleX and myDisplayObject.scaleY always starts out positive regardless any mirror actions during artwork.
The two functions I desire are: function mirroredInXAxis(dpo:DisplayObject):Boolean; function mirroredInYAxis(dpo:DisplayObject):Boolean;
im trying to create a PDF from flash (with hi-res images). using alivePDF, the pdf end is easy enough. but the hi-res images are proving difficult.i saw a guy do it this way:
ActionScript Code: var image:ImageSnapshot = ImageSnapshot.captureImage(DisplayObject, 300, new JPEGEncoder());
having some trouble with hitTestObject and now Flash is telling me it can't convert my ip to a display object.. my problem is the ship class extends Sprite to begin with so I don't know what's going on:Compile error shows this:
TypeError: Error #1034: Type Coercion failed: cannot convert Ship$ to flash.display.DisplayObject. at Control/controlgame()
So I'm following a game tutorial to help me build a small game for a class and I'm getting an error I'm not sure about or how to fix. Basically at this point all I'm trying to do is generate an array of meteors that will go across the screen, there's still a ways to go on this but at this point when I test my file I get:#1034: Type Coercion failed: cannot convert Meteor$ to flash.display.DisplayObject.at SpaceGame/checkForHit()
if it is possible to covert a bitmap to a Sprite? I tried casting it to a sprite, but that does not work. The reason why is because if figured out that you can't use the addChild option on a bitmap.
how to addChild bitmap in Sprite. I have one bitmap image in my libary. Now, I want to add it into my "Sprite" display object. I can put my libary's bitmap into movieClip but I want to do in pure as3 .
I've got a Sprite object that I would like to extract somehow into a Bitmap object in order to manipulate certain pixels. For example, if i have a diamond shaped Sprite, I would like to convert it into a bitmap
This is a problem that's best explained in code. I don't see how active_button.upState, which I know is a TextField (see trace statements), mysteriously turns into a DisplayObject when I try to access the textColor property. I've included the error messages below for reference. Also, why is it that when I have an object that I know is a SimpleButton (again, see traces) I need to cast it to SimpleButton in order to store it in a var? That doesn't make any sense to me.
I'm getting an error when I click a button which brings me to frame 2. The error is:
Warning: No libraries were linked as Runtime Shared Libraries (RSLs) because of your publish settings: AIR Android [SWF] Lemonade-boy.swf - 862607 bytes after decompression TypeError: Error #1034: Type Coercion failed: cannot convert 0 to flash.display.DisplayObject.
I've got a menu which is buid up of 4 movieclips. To each moveclip i have attached a class. When a movieclip is clicked i want to add that specific class. But i get som errors here.. Someone who can help? This is the error i'm getting when a movieclip is clicked:
TypeError: Error #1034: Type Coercion failed: cannot convert Contact$ to flash.display.DisplayObject. at Main/menuClicked()
/*the point of this is to add a keyboardEvent to animate the image*/I am loading a bitmap image using this function:
var myLoader : Loader = new Loader(); var myURLRequest : URLRequest = new URLRequest("thesus.png");myLoader.load(myURLRequest); function myOnComplete(event : Event) : Bitmap{ var loader : Loader =
Following up from: http:[url]...I am trying to comeup with a function to print without creating a sprite, because that's what it seems to be causing my problem:
public function printScreen():void { var pJob:PrintJob = new PrintJob(); var options:PrintJobOptions = new PrintJobOptions();[code]....
This is coming up with an: Error: Description Implicit coercion of a value of type flash.display:Bitmap to an unrelated type flash.display:Sprite. So how do you print a bitmap without creating a Sprite?
Maybe it is a bad habbit which still i have from Flash Professional, but : I am trying to add a simple Sprite or/and Bitmap on just created, empty application, and it just not hapening.
I have a PNG that is a child of sprite object. The PNG consists of a shape in the middle of a transparent background (the alpha value is zero). I want to change the color of the sprite, but I do not want to change the transparent background.
What I want to do is draw the outline of an object using the IDE to create my movieclip symbol...this object will be an enclosed region e.g a cloud. I then want to be able to fill the internal area of the object with a bitmap using actionscript.
I had assumed that I would be able to do this via graphics.beginBitmapFill but there doesn't seem to be a way to specify to draw the outline within the MC or to do a floodfill with a bitmap using a point of origin within an enclosed region.
I load a picture file by Loader and add Bitmap into sprite,like follows:sprite1.addChild(myBitmap);Now I want to get the myBitmap from sprite1,how can I get myBitmap from sprite1,what code can I use?
I've just switched over to AS3, and I'm completely stumped with something.
I'm working on a project where I keep adding children to a MC already on the screen. There are two types of these children: Sprites that I use to draw lines using moveTo, lineTo, ect. Then there's sprites that have children inside of THEM that are bitmaps.
For some strange reason, the Sprites with the bitmaps on them always have a higher depth/index (AS3 terminology is still weird for me) than the normal Sprites.
Here's a diagram of my MC/children/children layers:
---------------=> (Sprites that draw lines) (MC on Stage) => ---------------=> (Sprites that hold bitmaps) => (Bitmap)
I want to detect whether the mouse has been clicked outside of a sprite (ie. a mouse click event anywhere on the screen except the sprite).
The idea is that you click outside an activated sprite to deactivate it. This is how menus and comboboxes function, but I can't see any way of doing it in actionscript.
I want to load an external image (dest) and display it on the stage, and i want to load another image (src) which will not be visible. When i hold the left mouse button on the image that appears on the stage, then a function that start copies the src image to the dest will be invoked. Actually i want to reproduce the scratch effect on an image that hides another underneath. here is my code [ the copypixels function is triggered on mouse_move event for debug purposes ]
Although the two images are loaded into memory and the first one is shown on the stage, when the mouse_move events triggers the corresponding handlers the copy does not work.