ActionScript 3.0 :: Using HitTest From Within Class With MovieClip On Stage?
Aug 26, 2011
I'm getting really tired of AS3 now because I cant get it to do basic things like hit tests which were so easy in AS2. Basically, I generate a number of fish of varying scale, speeds and directions using this on the first frame of the timeline and the constructor function in the fish.as file:
ActionScript Code:
function DisplayFish() {
for (var i:int = 0; i < 20; i++) {
var newFish:fish = new fish();
this.addChild(newFish);
[Code] .....
What I want to do is rather than setting a max / min x/y use a hit test with a side wall MC on the stage, and a hit test between this instance of fish and all other fishes so they bounce off each other. I've tried so many ways of hit testing from within the class with MCs on stage but just cant get it to work.
ActionScript Code:
if(this.hitTestObject(root.LeftWall)){
directionX = 1;
}
i just would like to know how to create an "hitTest" script inside a movieclip that is actually part of that hitTest code?I mean... I have mc A, and mc B. and the current hitTest code im using (that is on the timeline) makes mc A, destroy mc B when collide with it... but there are many mc B on the stage (with the same instance name) so, when mc A collide with one mc B, it destroys ALL mc's B... but i want it to destroy only the mc B that he collides, not all the others... maybe an hitTest script inside a movieclip B would work (somethig like "if MC A hitTest ME = i die" (not all the others)).
Does anyone know if it's possible to link a MovieClip on the stage to a class? I have a MovieClip on the stage called: square_mc and I have this Move class (see attached code). Of course when I set the class linkage of square_mc to the Move class, square_mc moves down the screen, Move is working. But how would I attach the Move class to square_mc at runtime, when it's on the stage?
public class MyClass extends MovieClip { public function MyClass():void { my_mc.addEventListener(MouseEvent.CLICK, action); } private function action(e:MouseEvent):void {
[Code]...
I can't able to access the my_mc(placed in FLA) movieclip. How do I access?
I'd like to know how I can reference root stage values from within a movieclip, or even worse, from a class. For example, I have a class called Bground.as. It does stuff, according to current stage size - so if someone were to resize the window/browser, Background updates in real time and does something fancy while it's at it. To do this "fancyness", I need stageheight and stagewidth. However, simply pointing to them does not work.
Here's the simplified ActionScript Code: package klaseFP{ // imports import flash.events.*; import flash.display.*; public class Bground extends MovieClip{ [Code] .....
TypeError: Error #1009: Cannot access a property or method of a null object reference. at klaseFP::Bground() at FullScreen_03_fla::MainTimeline/frame1()
Background works as a document class, works perfectly in fact. However, if I use it as the class of a library object, error 1009 shows up. Same thing happens if I simply put the code into the timeline of the library object - stage referencing simply causes it to break. So, how do I dynamically change the values of variables in Background, according to values in the main movie/app?
Does anyone know if it's possible to link a MovieClip on the stage to a class?
I have a MovieClip on the stage called: square_mc
and I have this Move class (see attached code).
Of course when I set the class linkage of square_mc to the Move class, square_mc moves down the screen, Move is working. But how would I attach the Move class to square_mc at runtime, when it's on the stage?
If you put a moviecilp on the stage and then write a class that extends movieclip, is it possible to make it so that this references inside your class refer to the movieclip on stage.
E.g. this.x would refer to the x reference of the movieclip on stage.
1.I have a MovieClip in the Library. There is a named and dynamic text box in the MovieClip. In Frame 1 of the .fla, I construct the MovieClip from the class StatusBoard and add it to the stage. There is one setStatus method in the class to set the text. This works fine.[code]
2.I have a bunch of buttons that I created from a class called LinkButton.as (they are MovieClips, not _btn buttons). FWIW, they are attached to other MovieClips, but they work fine. The trace output is fine. What I am trying to do is have the rollover change the text in the billboard.[code]
3. In lay terms, I used addChild to add a MovieClip with a dynamic TextField to the stagw and I want MovieClip buttons created from an .as class to be able to change the text on a rollover.What I can't seem to do is actually reference the billboard that I added using addChild from the .fla.The buttons work and trace the desired text, I can't seem to send that text to the billboard.
I've created a custom class (not the document class, otherwise there would be no problem) and I want to be able to access a MovieClip that is sitting on the stage.
How? MovieClip(parent), MovieClip(root)... don't work. What's the proper procedure?
Also, can I pass the MovieClip from the Document Class to another custom Class?
Does flash have an equivalent to Flex'sApplication.application.[insert application method or propertyI want to get access from an as3 class file to the mainstage. a call to this.root from the stage to the class will notwork because I need the root object stage to execute an addChild
How can I achieve this ? I tried MovieClip(root), MovieClip(parent), stage,mytextfield.text = ... etc. They all throw an null object reference problem.
I have a "box_mc" movieclip on the root of my stage and I need to select it from within my Document Class. I thought Stage.getChildByName("box_mc") would work, but it just returns null.
Is it even possible to associate a class file to a movieClip manually placed on the stage without setting up the class linkage in the library? If so, how?
P.S. linking in the library then placing on the stage is not a viable option. Nor is using "addChild" from the library.
How do I connect to the same class from the stage as well as from inside a MovieClip?
In other words: I've set a document class in my properties panel - I cannot access the class's methods from inside an MC. Why?
What are the different ways to connect a fla-file to a class (as-file)?
I've been playing around with AS3 for a few years now, but always avoided classes. But now the day has come for me to finally trying to get a hold of it.
I have a MovieClip in the library with a class associated with it. I can instanciate the MovieClip just fine using code and add it to the stage without any problems. But how can I manually add the MovieClip to the stage and feed it the one parameter when it's instanciated? I've tried all the usual stuff but nothing seems to work:
var testClip:className = new className("helloworld");
testClip is the name of the MovieClip that's been manually placed on the stage.
I'm currently working on a AS3.0 project in Flash. I have a main movie clip in flash on the stage. This mc contains 3 frames. They represent the pages in my application. In each of those frames are a lot of nested MCs. Such as menu buttons, display content for the MC buttons, etc. Everything is controlled by a class extending from MovieClip. When I run the application and press the green button on the second frame in a nested MC of the main Movie Clip on the stage. The event must jump to the 3th frame in that main MovieClip.
Here's the problem If I immediately press the green button, everything works great. But this does not happen when I press a different menu button first.
I have created a game in flash, and due to the nature of the game, I have many movieclips placed on the stage manually in Flash CS4. They are not programmatically added as children to the stage, and so I am having difficulty getting access to them in the document class. So far the only method I have been able to use is to do stage.addChild(active_area); (for example), but there are many movie clips, all very differently named, so this method seems incorrect.I've discovered that my MovieClips are not children of the stage, but in fact MainTimeline, as when I for loop through stage.getChildAt(i);, only one child, root1, is traced out. How can I access movieclips that were placed on the stage in the timeline from the document class, without having to manually add them as children to the stage? So it looks like my problem wasn't that I couldn't access the MovieClips, it was that I wasn't modifying the MovieClips' values, so I wasn't registering any change in them.
Here is the code after I fixed it: function manage_cursor(e:Event):void { prevX=currX;
All my custom classes that extend MovieClip simply trace as "MovieClip" when using stage.getChildIndex(i); I'm trying to search the stage to see what objects have been placed and then add them to the correct array. E.g. if I place 5 "Enemies" on the screen, I want to then add them to an array by searching the stage for the "Enemies" class, without naming each one and adding it manually in the code.
me only still learning as3, i've checked google there and back, but somehow i can't find the answer for this: how to target a movieclip instance which is already on the stage from within a class file? i mean, targeting it from the document class file is easy, but what is i want to target it from another class file?
I built my first simple class which just makes a movieclip move around randomly on the stage. I wanted to know if the "class" experts can take a look at my code and let me know how I can improve. I want it so that it is the most efficient code and can be applied to any movieclip that I want as easy as possible.
tl;dr:Using MTASC, How can I take a MovieClip that exists on stage and interface with it through a custom class? I'm a UI/UX designer and interface engineer, and I've recently been trying to improve my development workflow. I've been trying to achieve the following workflow:Create the UI in Adobe IllustratorImport the UI into Adobe FlashSet up MovieClips to allow interactivity on the stageExport the finalized design as an .swfWrite code to interface with the various parts of the UIInject the code into the precompiled .swf using MTASCI can do all of the above, but I've been having problems when it comes to writing the code. I'd like to write object-oriented code as much as possible, but I can't seem to link my custom classes to anything that starts on the stage. How can I take a MovieClip that exists on stage and interface with it through a custom class using the MTASC?