ActionScript 2.0 :: Why Nested Button Will Not Move Its Parent
Jan 22, 2007
I have 2 child movieclips nested into one working parent movieclip, then the parent movieclip is animated. The nested working parent movieclip should move to the side once a child movieclip is clicked. Currently, the parent is unaffected by clicking on a child movieclip. What gives?
Below is a layout of the movieclip:
Button List Box
| |
v v
Subparent(groups btn and list box)
|
v
Parent(animated)
I need the parent to animate once the child Button is clicked.
I am working on a tool for use in our office which creates XML. At this point I am working on getting an error message to appear when the user enters incorrect data in one of the textfields. I have a MC which contains my error message as well as a button. The button will move the MC back off of the stage. Everything works up to the point where I click the nested button. I suspect there is a problem in referencing the parent MC from the button.Here is the code for the entire project. I am sure there are more than a few errors since I am relatively new to AS
i have a nested swf that functions just fine.i have a parent swf (that holds the nested swf) that has a button (not related to functions of nested swf) that no longer works when combined.the button is simply a link button to a url... is there a very simple solution to this?
I have setup a video interface with a stock video player in the parent mc. In the same swf next to the player, I have a mc which is a video thumbnail chooser. The thumbnail buttons are located two levels down within this mc (nested within two mc) in order to facilitate the scrolling independent of the player. In the parent, where the video player lives, I placed a function:
function vid1(event:MouseEvent): void{ pubPlayer.source = 'Steve480.flv'; }
In the child mc where the thumbnail buttons are, I want to call the parent function like this:
I have setup a video interface with a stock video player in the parent mc. In the same swf next to the player, I have a mc which is a video thumbnail chooser. The thumbnail buttons are located two levels down within this mc (nested within two mc) in order to facilitate the scrolling independent of the player. In the parent, where the video player lives, I placed a function:
function vid1(event:MouseEvent): void{ pubPlayer.source = 'Steve480.flv'; }
In the child mc where the thumbnail buttons are, I want to call the parent function like this:
I am trying to do the move vertically animation on a button nested in the vertical layout. I am not sure if the Hgroup restricts the button moving vertically.
Ok im rather new to flash so ill do best i can to describe this. I have a HealthBar movie clip with 3 layers, bottom layer is just a red rectangle, middle layer is a green rectangle that is a movie clip, and the top layer is just a border. the green rectangle movie clip has an instance name of bar. i put my HealthBar on my stage with an instance name of healthBar and i change it when the players health goes down by calling _root.healthBar.bar._xscale = health where health is 0-100.
this works all fine and dandy. now i have a movie clip of MiniBoss with an instance name of miniBoss# where # is a number of the layer depth when it is created. in the MiniBoss movie clip i have an instance of the HealthBar with an instance name of bossHealthBar. i tried to call from within the MiniBoss class bossHealthBar.bar._xscale = health but i get an error that there is no property of bossHealthBar.bar._xscale. how do i access the bar in the HealthBar in the MiniBoss clip from the MiniBoss class in its onEnterFrame() method?
I'm switching from as2 to as3 and everything was going swimmingly with my new site until i tried to use a _root call to a function on the main timeline by a loaded movieClip that is loaded nested into 2 other movieclips. the movieClip needs to tell the _root when it's done playing so the root knows to load the next one in line through a php call. Everything works except for the _root call. In as3 there's no such thing as root anymore so I figured no big deal, i'll just find out what the new thing is and holy crap wtf! I can't figure this out!! I've read from doing stuff like custom eventLisnters (which i am trying now) and casting the root as a movieClip and then I read this whole crazy tutorial on building an event structure and the proper MVC way of coding and blah blah blah ALL I WANT TO DO is tell the _root that the loaded MC has reached the end of its timeline. Basically if it were as2 i could just go _root.loadNext(); and it would work.how to make a loaded MC talk to the _root timeline and call a funciton from there?
I have a very specific AS2 parent/child movie clip issue. I have a main Character movie clip which contains as nested frames each profile of the Character (front,back,left,etc). Within each of these child profile MC frames, animations for those profiles are further nested in frames. Then, essentially I have movement code as part of the key listener:
And later code to reset to the character's resting frame after key release: Code: switch(Character._currentFrame){ case 5: Character.gotoAndStop('Back'); break; [Code] .....
The problem is that when I try to Character.gotoAndStop('Front'); after key release, flash thinks, you're already on the Front frame (because the walk animation is a child of that MC and is already playing). Therefore the walk animation just keeps playing after the key has been released.
I'll give a complete explanation of what I'm trying to do. I have a video player as a separate SWF. In this video player I have a VideoContainer class extending Sprite, which contains the video and a control bar with specific video buttons.
This SWF is loaded in another main SWF, which has a menu that is on top of everything else. When I click "Fullscreen" in the video SWF, everything goes smoothly, except the menu remains on top of the VideoContainer object.
I need a way to change the display order of the loaded SWF, to put it on top of everything else on Fullscreen and change it back when Fullscreen goes off. All this needs to be made inside the video player. Also, the configuration of the children can change (the video player can be loaded in different places in the main SWF), so I can't use a certain unchanging path.
I'm looking to create an animation loop in Flash. The base character animation I have is 27 frames. However to have the background move at the correct speed, the entire animation is 432 frames.
Since I am making the animation so long anyway, I want the character to blink halfway through the animation loop. I went into the head symbol and extended its animation from a single frame to 432 frames. Halfway through that animation I swap out the image for one that is blinking (3 new images added for the blink).
So, now the symbols are nested like: 432 frames -> 27 frames -> 432 frames
But it doesn't seem like Flash is smart enough to animate it as I would expect. It only repeats the first 27 frames of the child symbol.
The next thing I tried was extending the 27 frame character animation out to 432 frames. I did this by copy-pasting the character animation 16 times. But this also does not work because copying the keyframes also copies the position of the child animation's playback. This causes the animation to constantly reset and never reach the blink.
I also tried using the copy motion option, but it didn't seem to do anything different than copying keyframes.Is there an easy way to make this animation work? I can't possibly need to manually position a total of 576 keyframes (there is actually another level to the nesting which does not use any tweens, just keyframes) could I?
I have a Flex tree with an ArrayCollection as data provider. The collection holds an array of CategoryVO objects. Each object can have another array of CategoryVO objects inside it's "child" attribute. This way the tree displays the data correctly. Now I want to get the parent of a specific item, e.g. tree.selectedItem. Using XML as data provider the item parent is avaiable thorugh the parent() method. But I can't convert my data to XML. How can I get an item's parent? Perphaps using the tree's dataDescriptor?
Setting properties of a nested clip from the associated document class of the parent clip. I am developing a Jigsaw puzzle in Flash. I am developing a class for puzzle piece. The code of the PuzzlePiece class in given as follows.
PuzzlePiece class package { import flash.display.MovieClip; import flash.events.MouseEvent; public class PuzzlePiece extends MovieClip { private var pieceX:Number; [Code] .....
Is it wrong to access it like that. The PuzzlePiece is the export for a puzzle clip. For the time being I am hard coding the dimension as 60. I have aloso uploaded the fla and as files. [URL].
Recently I worked in a project using Flex. Its a Photo editing project. I have took a Canvas and take a image in that canvas using the code canvas.addChild(image) . Now i can move the image freely by using moving code. The image move inside the canvas and outside the canvas. I want to move the image/child only inside the canvas not outside. How can i do this?
I was browsing through the AS3 help in CS3 and came across good ole Delta. I've been playing around with it and it zooms things just fine but I had an idea for a birthday card for my niece and now would like a way to have the mouse wheel do something perhaps outside of what Delta will permit. I want to move a nested movie clip to next and previous frames with the mouse wheel and until using it with delta for zooming only used it for scrolling. I got it to work but not how I'd like. Using this code I got it to go to next frame which is 1/3rd the battle:
I would like to attach (using A3) a movie clip to a draggable movie clip. I has set up a movie clip using startDrag() all works fine. But I would like to be able to dynamically place a movie clip inside it so that it too drags. Ive got it to partly work you can drag the original movie clip around and the attached movie clip (using aadChild) moves too. But if I grab the attached movie clip instead of the original clip it moves independently.
Is there a way of getting a movie clip inside the draggable movie clip and have it fixed in place and not move if you happen to attempt to drag it.
I'm having a hard time working out the most appropriate way to move a child movieclip between parent objects.
I'm creating a board-game type game wherein I've dynamically created an array of 'Square' movieclips, with no visual elements, which are arranged in a 10x10 rectangle on the stage. I then dynamically add the appropriate types of piece movieclips to the various squares with the addChild() method. In general, a square should only have one child piece at a time.
All of this works well for setting up the play area, but now I'm having an issue with moving a piece from one square to another. I want to have the user click a square with a piece on it, then click the destination square to move the piece. I have the logic for determining where a user can move any given piece to, but I don't know how to actually move the piece.
The pieces are all different class objects that extend both a base class I call Piece as well as the MovieClip class. The main issue is that when dynamically adding the various pieces to the squares, I don't provide them a unique name to access them later. I don't bother with unique names because I have no way of knowing which piece instance will be in a given square, so using getChildByName(name:String) isn't very useful.
So I can think of two routes that I can take: Making a getter/setter for the Square class that manages a private Piece property (as well as the adding and removing of the child piece to/from the parent square), or using getChildAt(index:int) to try to access the child piece.
I want to go with the first route as it seems to be the most maintainable to me. My problem is that I can't work out how to manage empty squares in this scenario. My instinct is to null to private _piece property of one square once I've moved the child piece instance to another square... but I'm fairly certain that the private property is a reference type, and nulling it out will null the actual piece object even after it's changed parents.
i am using a movieclip who has two nested movieclips, the problem i am dealing is that when i try to get the width or height of the parent movieclip it always showing the values of the small nested movieclip, when i draw the movieclip it draw perfect but when i read this values shows that error, what can i do?
Is it possible to have the child movieclip rotate separate of the rotation properties assigned to the parent? so ultimately giving the child element it's own axis?I've customized Lee Brimelows (gotoandlearn.com) 3D carousel to spin on the x axis to make it a vertical carousel. I've also rotated that by 45 degrees on the y axis to see all the items, and wrote a snippet of code to hide the left portion of the carousel. The entire carousel is contained within the 'container' movieclip, and inside of that are my carousel items (as seen below), with the larger item being the item in focus.
On rollover of the item in focus, I want to rotate it so it faces the viewer (as seen below),basically removing the 45 degree rotation applied to the container.The problem i'm running into is when you rotate the container (changing the rotationX of the container), the axis basically rotates with it, so when i rollover the next item 'in focus', the following happens..(in the example where it appears how it want it to, the carousel is at a rotationX of 0, so it works fine)
[code]All clips are squared.Ok, on the PlayerPlane, there are little soldiers, which have hotkeys. The effect I'm trying to create is I want to position the GameStage so that the currently selected soldier appears in the center of the GameClicker clip.The GameStage is movable by the player (to scan other areas of the map)by holding the CTRL key, so it's easy to kinda lose track of where your players are.I have tried using localTo Global and globalToLocal techniques, but I think I'm lost on the actual math of getting the GameStage to move the correct distance so that the selected soldier is centered to the GameClicker.[code]
how to write a actionscript code for a button when the button is clicked it should move to the nextframe.
// About and smile1 button scripts stop(); _root.smile1.onPress = function() { if (mouse_over_smile1) {
[code]....
i have given 3 functions as onEnterFrame,onPress,onRelease. i tried all these but didnt get the result.smile1,smile2,smile3 are button instances which are declared on the monie clip.my main thing is i hav a button, when i click on that button it should go the next frame which i have declared in "gotoAndPlay(6)" method.
I am having problem with a getProperty thing. I have built a menu system that I want a bar to move over the button when the user rolls over the button. I have 3 buttons which have the following code on them:
on (rollOver, dragOver) { /:Ymove = -119; } on (rollOut, dragOut) { /:Ymove = /:origYpos; }
and then I have an mc called bar which is within an mc called subMenu, which is within an mc called intro, which is on the stage. I have the following code on the same mc as buttons and bar, on first keyframe:
I have a movieclip ('A') which contains a button symbol with only a hit state (invisible button).
when you roll over this invisible button, an .flv starts playing and when you roll off, the .flv stops playing.
Now, i want to add a button above the invisible button (still within the movieclip 'A') so i can add a link. The problem is that this button's hit area will conflict with the invisible button.
in other words, rolling onto this new button will mean rolling off of the original invisible button and the .flv will stop playing (i want it to keep playing).
I'd like to use a conditional with hitTest to check if the mouse is over this second button when the .onRollOut is triggered on the first button OR just use hitTest to determine if i'm still within the bounds of the first, invisible button (it's the same dimensions as the clip containing the 2nd button)
the way i'm attempting it isn't correct or it'd be working i imagine:
Code: function out() { if (! 2ndButton.hitTest( _root._xmouse, _root._ymouse, false)) {
I have kept 12 buttons inside a Movie Clip. When I refer this with dot and when clicked it works fine. But the same is not working with function. This works
ActionScript Code: scroll_mc.Feb.onRelease = function() { var month:String; month=this._name;
I am working on a tool for use in our office which creates XML. At this point I am working on getting an error message to appear when the user enters incorrect data in one of the textfields. I have a MC which contains my error message as well as a button. The button will move the MC back off of the stage. Everything works up to the point where I click the nested button. I suspect there is a problem in referencing the parent MC from the button. Here is the code for the entire project. I am sure there are more than a few errors since I am relatively new to AS.
I am trying to design a menu system that pops up which I have just about managed. however nested in the menu movie clip are a number of other movie clips which I want to use as buttons but I am having problems getting the movie clips to load a swf once clicked. I tried putting a button in side the menu movie clip and it would not even recognize the mouse over which makes me think you can not nest buttons or movie clips in another movies clip?
Here is the code import mx.transitions.Tween; import mx.transitions.easing.*; import flash.events.Event; menuMC.flowerB.onRelease = function() { loadMovie("test.swf", 1999); [Code] .....
I am trying to get this drop-down menu to work, I've followed several video tutorials and have pieced this together, but I am FAR from REALLY knowing what I am doing...The trace function shows the NavBar_mc is working, but I don't understand how to get the eventListener to goToAnd Play a frame label on the main timeline. Similar problem with the drop down menu.To clarify: The AS that controls the glowFilter on the main buttons is on the main timeline (the GlowFilter part works, but not the navigation):
stop (); var navBtnGlow:GlowFilter = new GlowFilter(0xffffcd, 0.5, 0, 10, 2, 1, true, false); navBar_mc.addEventListener(MouseEvent.MOUSE_OVER, navOverF); navBar_mc.addEventListener(MouseEvent.MOUSE_OUT, navOutF);
I got a "preloader" that creates an movieclip and loads an SWF. Now in the loaded SWF i want a close button to go back to the "preloader". The preloader isn't an actuall preloader but some sort of mainclip.Now i tried this:removeChild(MovieClip(e.currentTarget).parent.pare nt.parent)But i get error:ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.at flash.display::DisplayObjectContainer/removeChild()at MethodInfo-6()
Sorry to pose this type of question yet again. I have been searching for the past 24 hours for a solution, and am losing the will to live. I am very new to AS 3.0 (and don't have much programming experience), so I guess that's a big part of the problem.
Here's the situation: I have a movie clip on the main timeline (frame 1) whose instance is called "Main_mc". Within Main_mc I had some buttons, each defined this way in the script: