Share Posted October 12, 2010 Hi I'm trying to make an interactive whiteboard for kids, when the click on any shape from the menu a duplicate is added on the stage that can be transformed example of square adding function: square_mc.addEventListener(MouseEvent.CLICK, addSquare); function addSquare(e:MouseEvent):void { newSquare = new Square(); newSquare.x = stage.x/2 + stage.width/2; addChild(newSquare); manager.addItem(newSquare); manager.selectItem(newSquare); and each new shape added is the selected one what i'd like to do is change the color of the selected item by clicking on a color palette , im currently using this code but its not working function changetored(e:MouseEvent) { TweenMax.to(manager.selectedItems, 1, {tint:0x000000}); } any clues as to where I'm wrong? thanks! Link to comment Share on other sites More sharing options...
Share Posted October 13, 2010 If you want to tween an array of objects to the same end values, you'd use allTo(), not to(). And you need to affect the selectedTargetObjects, not the selectedItems (selectedItems is populated with TransformItem instances, not the actual target DisplayObjects). function changetored(e:MouseEvent):void { TweenMax.allTo(manager.selectedTargetObjects, 1, {tint:0x000000}); } Link to comment Share on other sites More sharing options...
Author Share Posted October 13, 2010 Thanks, I tried that, but its not working. Is "manager.selectItem" suffice to make sure the item is selected? Or is there another function I need to add? I guess my question is how do I know which items are already on the stage and selected? Link to comment Share on other sites More sharing options...
Share Posted October 13, 2010 manager.selectItem() will select a particular item, yes. You can use manager.selectItems() to select more than one. If TweenMax.allTo(manager.selectedTargetObjects, 1, {tint:0x000000}); isn't working, I'd need to see your code - I wonder if you're calling that AFTER a click has deselected everything, so selectedTargetObjects is empty? Have you tried tracing out the length of the resulting array? Link to comment Share on other sites More sharing options...
Author Share Posted October 13, 2010 I think I don't have a selectedTargetObjects array, I suppose that's my problem? I'm not sure how to create one :/ I don't want all the shapes on the stage to change color, just the ones that are selected (handles on them) var newSquare:MovieClip; var newTriangle:MovieClip; var manager:TransformManager = new TransformManager({bounds:new Rectangle(0, 10, 800, 600)}); square_mc.addEventListener(MouseEvent.CLICK, addSquare); Triangle_mc.addEventListener(MouseEvent.CLICK, addTriangle); function addSquare(e:MouseEvent):void { newSquare = new Square(); newSquare.x = stage.x/2 + stage.width/2; newSquare.y = square_mc.y; addChild(newSquare); manager.addItem(newSquare); manager.selectItem(newSquare); } function addTriangle(e:MouseEvent):void { newTriangle = new Triangle(); newTriangle.x = stage.width/2; newTriangle.y = stage.height/2; addChild(newTriangle); manager.addItem(newTriangle); manager.selectItem(newTriangle); } colorpicker_mc.addEventListener(MouseEvent.CLICK, changetored); function changetored(e:MouseEvent) { TweenMax.allTo(manager.selectedTargetObjects, 1, {tint:0x000000}); } Link to comment Share on other sites More sharing options...
Share Posted October 13, 2010 No no, you don't need to create a selectedTargetObjects array - that's something you can ask the TransformManager anytime. It spits back an array containing all the targetObjects that are currently selected. Try putting this above your TweenMax call: trace(manager.selectedTargetObjects.length); Is it 0? If so, that means nothing is selected. Keep in mind that by default, autoDeselect is true, so when the user clicks off of one of the selected objects, it will deselect it. So, for example, let's say the user selected an object and then click on your colorpicker_mc component/MovieClip - that would immediately cause the object to be deselected. See what I mean? If you'd like TransformManager to ignore clicks on colorpicker_mc, you can add it as an ignoredObject, like: manager.addIgnoredObject(colorpicker_mc); Link to comment Share on other sites More sharing options...
Author Share Posted October 14, 2010 yes that made perfect sense, and it worked. Thank you so much! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now