ActionScript 2.0 :: "this" Refers To Wrong Instance?
Nov 27, 2006
Bumped into a problem and don't understand why this is happening. I got _root timeline, there I placed mc.map (movieclip), inside it I got a button, and on that button I placed this code:
Code:
on (press) {
trace(this._name);
}
And in the output window I see the name of the movieclip instance ("map"). Why? I need it to refer to that button...
I have this code which tests if another grass instance is next to the current one. So far so good. The trace statement correctly outputs when it finds an instance nearby. The first time this will say: "instance1 100,100 found instance3 97,100 nearby" which is correct. But further down the code when I do the hitTestPoint, the wrong instance is in the array. Instead of saying "testing instance3 97,100 97,100 true" it has instance1 in the array and says "testing instance1 100,100 97,100 false". How can that be when I put instance3 in?[code]
ok I am having what I think is a targeting problem.I'm loading a swf into a blank container inside another movie (main). The AS in the loaded swf refers to positions of MC's in itself _x & _y etc.However once it is loaded, those positions are not true... ex. if the center of the swf is 200 by itself depending in where it is loaded, it might become 400 or any other number - reletive to the main movie's stage (I hope Im being clear).I need the AS in the loaded swf to refer to itself (x/y values relative to its OWN stage). So how do I target that? _root.MC.containerMC doesnt seem to work, but is this on the right track? Basically when an swf is loaded into another, does its _root now become the main timeline of the movie its loaded into???
I've got this book- OReiley Essentials Actionscript 3.0..[code]i would like to ask if 'this' in this.pet refers to which object VirtualZoo or VirtualPet?
Ok, so here's the problem. What happens in the above, is that I call 'loadTheXML()', it loads the xml file into xmlLoader and then runs the event handler 'onLoad'. My problem is here: once I get into the event handler 'this' refers to xmlLoader, not the class. Therefore, I have no way of calling wannaCallThis(). How do I call a member function of the class from inside the eventHandler?
package { import flash.display.MovieClip; import flash.display.Graphics; public class Rail extends MovieClip
[code]...
this is a simple Rail class, what I am trying to do is take the for loop out of the timeline and build into the Rail class itself. How do I refer to the Rail class itself within the method? If I am doing this the wrong way please let me know! Would it be better if I created another class, say a "RailSpacing" class and build the for loop into the contructor into that?
Also, if I wanted to add depth to the rail(textures or something else to make it look real) and still be able to change the color without transforming the entire rail instance, what could I do ActionScript wise. I have come to the conclusion the only way to do this is creating a multilayered movieclip and target the base object and not the highlight/ shading layer.
Also, if I created a nice graphic/movieclip and exported it for ActioSncript, how can I find the class file and add too it? Is this even possible? Is it possible to draw something that is detailed and export it and then add some methods?
I have a client that is wanting me to create a flash website in which they can add products pages (product info, images, etc.) themselves after the website is completed. I will setup up the first few products then they will do the rest. Would I wanted to go with dynamic text and empty movie clips loading the images? If so how could I have this create a duplicate page that refers to the new text and image?
I've noticed there is something in AS3 that allows "shearing or skewing" of an object, but I was wondering if it's possible to do the equivalent of what Photoshop refers to as "transform>>perspective"
Does creating a new instance of an Object that uses an identical name to an older instance, delete the previous instance? Or should the original instance be deleted first? The code uses a ridiculous amount of XML vars. Isn't it less memory intensive to parse the XML and save the properties to an Object, and then delete the XML Object, rather than keep the XML Object around and reference it's child nodes directly? Is it better form to break up a huge XML file (>600lines/3200vars) into smaller chunks?
I have a library object (SomethingMC) which extends a custom class (Something). Something, in turn, extends MovieClip.If adding SomethingMC to the stage within Flash CS3 IDE, is it possible for it's super class (Something) to assign an instance name from a class constant (Something.THE_CONSTANT)?
The above does not work. It throws Error #2078: The name property of a Timeline-placed object cannot be modified. if the instance is assigned a name in the IDE, and it just doesn't work if no name is assigned in the IDE.
I have a BUNCH of bumpers of four types bounceUp, bounceDown, bounceLeft, bounceRight. during a collision which you hit determines the bounce so they always do the same thing so here's my question.....can i just name every bounceUp instance the same thing and then just add that one instance name to the list the collision detector checks?
i just dont wanna go through and name a hundred each of bounceUp s and bounceDown s individually as the potential for screaming increases proportionally.......
I placed a movie clip instance inside a button, and I want this movie clip to play when the button is released. I'm using this code on the frame containing the button:
function playMovie(event:MouseEvent) { this.theButton.theMC.gotoAndPlay(3);
Does anyone know if it is possinle to scroll a graphic or a movie instance as well as a text instance in flash. I want to scroll text and images as well. Actually text with imges embedded in it.
I am wrapping my brain around OOP in AS2. I am making two posts on two different subjects. My question here is: when should I use local instance variables, and when should I attach new properties to the instance object? (Feel free to correct my terminology.) Let's say I have a class for a scrolling background, which scrolls when I mouse over its edge. I want to put these values somewhere:
1) How wide is the border in which a mouseOver makes it scroll? This is basically a semi-constant I set it up once and keep it the same, unless the user changes it in an options menu to make the border wider or narrower. Call this scrollBorderWidth.
2) How fast is the background scrolling now? I want to track this so I can smoothly change the scroll speed over several frames. This is often changed. Call this scrollSpeed.
It seems I have two ways I can store and access these values and darned if I know which is better practice. METHOD A: Make them local variables in the class, so the scrolling background instance has them as local vars. I set them up thusly:
I'm making a flash company profile in the style of a website, except it won't be uploaded online.and i made each button skip to a frame that i already named
some of the buttons are skipping to the wrong frames for some reason,the ones that are not working properly have some pretty big picture files on them,could this be the reason or is it just an action script mistake?
I did a banner in flash CS3. I did 8 things and you see them one after the other one. The first time that it plays it goes on the right order but after it finished, when it normally has to start playing again, it plays in wrong order (the first then the third, the last, the second again the first, last and so on), it just does what he wants and not what I did.
I have built a website that contains two flash galleries on two separate pages.Each .swf galllery is meant to call a separate xml, loading the relevant text and images.The galleries work perfect when using Firefox-windows, Firefox-mac and Safari and on my local machine(macbook)The galleries do not work using IE-windows, the problem being it loads both galleries with the same xml. [URL]
I have an AS2 flash movie that has some labeled frames. On the first frame of a particular scene, I have some code that creates a menu of buttons that I construct from movie clips and vector graphics. The onRelease function of those buttons is assigned deep in some code thusly:
When one of these buttons is clicked, the scene name reports correctly, but the movie goes to a frame 3 frames later than the targeted frame. I know this because I put trace actions on the subsequent frames like this: code: trace('2 after');
Now, when I click on the button in the area where the movieclip is it will register this movieclip as event.target. I would like to make the button the event.target regardless where I click and prevent flash from registering the movieclip inside the button as the target.
What I have done is create a new actionscript 3 document, imported to stage my bitmap then converting it to movie clip, then i just apply the 3d spin motion preset.When i try the movie it spins ok apart from 1 frame where it looks like the bitmap moves to the left slightly.Do I need to delete frame 1 or the last frame perhaps
This is a bit of an odd-ball problem. I've created a website 524 frames long, but am creating the pre-load bar *after* the website is done. I could move all the frames a few over, but this would require remapping all my many, many buttons. What I've done then, is told Frame 1 to go to Frame 525, and put the preloader there. I should note the site works perfectly without the pre-loader, I just want it to be smooth once it makes it online.The following code is being used for the first frame (frame 525) of the pre-loader:
I need to distribute some images vertically parallel to a dynamic text field wich content is loaded from an XML file. The first image top-aligned, the last one bottom-aligned and equal gap between them. Easy, no? That's what i thought but I'm banging my head as I can't get it and my only guess is the textHeight property has a wrong valueI calculate the gap between images with:imgGap = (txtHeight - imgsHeight) / (nImgs - 1);the problem is that the first 8 images reach the textfield bottom:1046 px (the sum of the first 8 images)1281 px (7 gaps x 183)gin = 25;}