ActionScript 3.0 :: Get A Display Object's TintColor?
May 13, 2009
i have a tinted mc on the stage, which i want on roll-over to change its tint - so far no problem, but not surprisingly i want to return to the original tint on roll-out, and that's where my problem is - how to get the tintColor property?
i'll make it even more simple - place a MC on the stage, give it some tint. now according to the help files the 'tintColor' is a property of the Color class, however if you'll write this code: trace(_mc.transform.colorTransform.color.tintColor) you'll get an error, for the 'color' property of the 'colorTransform' returns uint, not a Color object.
ok, let's try to overpass this issue by doing so:
var ct:ColorTransform = _mc.transform.colorTransform;var c:Color = new Color(ct.redMultiplier,ct.greenMultiplier,ct.blueMultiplier,ct.alphaM ultiplier,ct.redOffset,ct.greenOffset,ct.blueOffset,ct.alphaOffset);trace(c,c.tintColor, c.tintMultiplier);
the output you'll get is your clip's color AFTER the tinting and 0 for both tintColor and tintMultiplier. and in case you wonder, it doesn't matter if i apply the tint directly to the MC on stage or with code. so how can i get a display object's tintColor?
If I create a rectangle with 100px width and 100px height and then rotate it, the size of the element's "box" will have increased.With 45 rotation, the size becomes about 143x143 (from 100x100).Doing sometimes like cos(angleRad) * currentWidth seems to work for 45 rotation, but for other bigger angles it doesn't.At the moment I am doing this:
var currentRotation = object.rotation; object.rotation = 0; var normalizedWidth = object.width;
Can you make one Bitmap Object (I'm using an external jpg) or something similar, and then display it many times simultaneously without creating a separate object each time?
Also, would they be easily removed or hidden?
I've got a little checkmark jpg graphic loaded here, but I'm not sure how to go about using it in many places at once.. I can only display it in the one place at any one time...
I'm thinking there might be a way to load the picture once, then use its bitmapData elsewhere in new display objects somehow, without needing to reload the image over and over?
It's my understanding that a display object cannot be in the display list more that once.So if I add something to the stage shouldn't a second addition of the same object replace the first? for instance:
[code]...
there should now only be one "myDisplayObject" on the stage.
How can i cast a object to another type? in AS3 i tried putting (objectType) infront of the variable but it doesnt work, below i have added objects of fishes into the child, and i am getting the fishes back out when mouse down is triggered, and then calling the fishes what to do. however i cant call the method of the custom class fish because it is a displayobject.[code]...
I am trying to build an MXML application with Flash Builder 4.5, and I am integrating an API that requires the root of a display object to be a MovieClip. Personally I think this is bad design but I have to go with it. The root object always seems to end up as the stage, because of course I have to add the object to the stage for it to be added to the display list. Is there some way that I can either change the stage type in an MXML application to a MovieClip or is there some way to force a MovieClip wrapper to become the root of a display object?
hey guys i have 6 moveable objects, what i want is to be able to click a button and a text field appears that displays the x and y co-oridinates off each object, is this possible and if so is there a way also i could have another button where the user inputs the numbers he wants from x and y and the objects will go to that posisition
I have MCs loaded from the Fla library through my main class. These are drag objects. When one of these is clicked, I want the player to run a function that will disables some based on one selected. When I tried the obvious reference, I had an error. I've been advised to add these to an array, but I can't even do that.
Code:
import HO_42;
I set the objet to a variable above the constructor function:
Code:
private var office:HO_42;
The constructor calls a function that loads the objects to the stage (and this works fine if I don't try to access the object), here is an example of the load and access code:
Code:
office = new HO_42(); addChild(office); office.x = 441.9;
I have a Flash application that includes an MC (bitmap object) that is dynamically assigned to a Class. In that Class, other graphics are created, but the class MC is overlapping those graphics. Event though I tried dynamic depth swapping, it generally works, yet not for the inherent MC assigned to the class. The MC still overlaps the other graphic, even if I have swapped that graphic to the top depth
i have this really basic class and all it does is create a button...i have another class called main where i want to put the button on the stage...problem is it all compiles but can't get the button to display..
public class Main extends Sprite { public function Main() {
I tried to mask a 3D Display object using some code from the AS3 reference but was unsuccessful:
var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 40, 40); addChild(square); myDisplayObject.mask = square;
Is it possible to mask a 3D Display Object? (Can I draw a 3D Display Object through the Flash UI or must it be done via AS3? My guess is no, otherwise more people would be doing 3D in Flash without great travail.)
Right now I have a point that I have to update with the x and y of a display object to use with the hitTestPoint object; is there any way I can get a point from a display object without having to make a new point var and continually update its x and y?
Is there a way to make a display object always be at the top of the display list?For example, I know you can set the childIndex, i.e:setChildIndex(myDisplayObject, numChildren-1);But is there a way that an object has sensed that something else has been added to the display list and restack themselves accordingly?
I have a flash slideshow with 2 divs overlaying it, one at the top and one at the bottom.[code]Both overlay properly in Firefox/Safari/Chrome, but nothing I try seems to make it work in IE. I'm using Remy Sharp's HTML 5 enabling script to make the HTML5 mark-up work in lower versions of IE.What's funny is that the second div, #intro overlays correctly, but #top-menu always appears behind the` slideshow.All 3 elements are absolutely positioned with z-indexes explicitly set. No matter how high or low I set them the flash object is always in front of the #top-menu element.I have checked the rendered <param> tags and one of them lists wmode as transparent.The flash object is dynamically inserted with php through a CMS, so I have no access to the <embed> tag that many have suggested adding the transparent attribute to.
im making a game and it has enemies randomly spawning at the top of the screen going down to the bottom, so far it all works fine, except for when i try to remove them when they reach the bottom of the screen I get this error
Code: ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller. at flash.display::DisplayObjectContainer/removeChild() at spaceavoider/deleteenemy()[/Users/bobbymoranville/Desktop/space
I'm having trouble retaining interactivity in a DisplayObject (MovieClip) that has been altered to become a 3D object in Flash 10. The current structure is as follows: MovieClip1 with Mouse EventListeners nested inside MovieClip2 inside MovieClip3. MovieClip3 is rotated in 3D space via rotationX and rotationY as well as in Z space. After this happens interactivity in MovieClip1 does not function.
I keep this warning Warning: 3D DisplayObject will not render. Its dimensions (8192, 3172) are too large to be drawn. However the object is drawn perfectly. So should I worry about this or should I be trying to use scrollrect or masking to remove the warning?
Is there a way to make a display object ignore completely all mouse events and also at the same time not prevent/hinder display objects below it from detecting mouse events?
I am trying to figure out how to get access to a display object that was created in one subclass from a different subclass. Here�s my example: I created PnkRabbit.as and BluRabbit.as as separate classes (both extending RabbitTemplate.as).
I called them from Client.as (document class for Rabbits.fla) using an addRabbits button. Then I created MovePinkRabbit.as and MoveBlueRabbit.as (both extending Move.as which is listed as a protected var in RabbitTemplate.as). With this setup I can run Rabbits.fla and get a trace statement to come from MovePinkRabbit.as and/or MoveBlueRabbit.as, but I can�t figure out how to get access to the PinkRabbit and BlueRabbit movie clips from MovePinkRabbit.as and MoveBlueRabbit.as, so that I can actually move the clips. Here�s some of the code, (complete code and FLA in zip file).
This is the error I am getting....This is the situation I am using addChild and removeChild. I have two main movieclips that this is based around. workss_mc and work_mc. workss_mc is the slideshow, work_mc is the selection grid. When you click on an object in work_mc I am adding adding a child (workss_mc) and removing work_mc at the same time. That works fine; however, in workss_mc I have a back button, this back button is used to remove works_mc once it is removed it sends you back to work_mc. Once you are back on work_mc everything should work completely the same, however, it's like it's ignoring the code.Here is the code for the button:
Code: urbanthmb_mc.addEventListener(MouseEvent.CLICK, clickHandler); function clickHandler(event:Event) { var workss_mc = new mc_workss();[code].......
when i addChild an object to the stage the x and y placement of that object is always diff from the ones people display in tutorial. nowhere in their code or mine did i define the x or y yet.... so how is it that there placement of when they add the object onto the stage is diff then mine?