ActionScript 3.0 :: Get Class To Display Sprites Independent Of Main?
Feb 26, 2011
I've been trying to write a class that will automatically draw shapes on the stage each time it's instantiated.
The problem is that I can't find a way to do this without having an unbroken hierarchy of classes extending Sprite all the way back to the main class.[code]...
I'm not really asking how. What I'm asking is, is it possible? And I ask because I thought it was not - certainly it didn't work in AS2 - and yet that's what I appear to have done. Am I going crazy? Structure: A SWF (#1) with a class NewActivity that extends class AActivity. Another SWF (#2) with a shared library of code in it, including AActivity. A third SWF (#3) which loads the library followed by SWF#1. Here's what happened: I didn't expect AActivity to be able to be shared. I mean, it should be compiled no matter what in SWF#1, as SWF#1 includes a class that extends AActivity. I had added some properties to the AActivity class, ran the project, and when SWF#3 tried to set those properties I was told they couldn't be applied. "Of course", I said, "I need to recompile SWF#1, because the code is now out of date. The version of the class there doesn't include these new properties.".
However, that didn't work. I got the same problem. Maybe, I thought, there's a definition conflict between SWF#1 and the library, so I removed the AActivity class from the shared library in SWF#2 for the time being. Only SWF#1 uses it, and it should already be compiled into SWF#1 as, like I said, it is extended by another class there. But when I ran the project, I was then told that the AActivity class could not be found at all! Looking at SWF#1 in a decompiler, there is in fact no mention of AActivity (I had up to this point assumed it was implied). So this left just one option: I needed to recompile the library in the first place, not SWF#1. I added AActivity back to the library, recompiled, and it worked.
To check I wasn't going crazy: I added a test property to the AActivity class and recompiled the library. The containing project - SWF#3 - then set this property on SWF#1, which had NOT been recompiled, and then read it back out. No errors. I should point out that the getting/setting of this property is done through an IActivity interface - AActivity is not being accidentally compiled into the main project (SWF#3), and the decompiler indicates this also. Am I going nuts? I really didn't think having a runtime shared super class was possible in any way. If it is, that opens up a whole new world of awesome, even though I've created this project on the basis of that being impossible.
I'm trying to display objects from class files and methods.
Now I was looking at the source of this project here [URL]
To learn how to do this from AS3, main question I have how is the Main() class being called there? There is no actionscript in the frames of the FLAs so where is the call coming from to the Main class to initialize display? Is there something special about the Main() class that has it called when a swf is loaded.
I tried to duplicate it by making a simple Main which extends MovieClip and simply placing it in the root folder of the project but it isn't being auto called and it hasn't worked.
I have an arrayCollection of objects that extend Sprite, and have bitmaps within them. I want to display these in a list (or some other component that would allow a user to scroll through them, and see their associated data.)
When I do: myList.dataProvider = myArrayCollection
the list just shows a bunch of lines of [Object, Item] instead of the visual sprites.
Here is a simplified version of my Object:
public class myUIC extends UIComponent
[Code]...
Tried many different ways to get it to show up in a List, but can't do it.
how to get a Class file up and going in Flash and that works fine but say I want to import other classes. I try "import testCass" above in my import statements section of my as file and that doesn't work. What do I have to do to get that to work?
I am trying to code a flash app entirely in the document class. I am using GestureWorks with a touch screen. When a user essentially presses a button it calls a method that should hide a specific graphic but not the graphic they touched.
Essentially I need a way to refer to a graphic on the screen using a method besides 'e.target'.
I am receiving this error: Error #1009: Cannot access a property or method of a null object reference.
[Code]...
It can access photo1Sprite as 'e.target' when the button click happens on the photo1Sprite. The problem happens when to click one button (not photo1Sprite) and have it effect photo1Sprite. So I can make photo1Sprite react if my method is attached to it directly using 'e.target' but not if I am trying to call it from a method that was called from another element on the screen.
I have two classes. The Main class calls a function, which is defined in a Second class.I'm getting the following error:Error 1120: Access of undefined property myFunctionBasically, I am creating buttons in the Main class that will add a corresponding Child to an Object in the Second class (if you click one button, child x1 will be added, if you click another button, child x2 will be added, and so forth).Here's the relevant code for the Main.as file:
I have question regarding removing instantiated objects. Let's say i have a main class in which i instantiate a custom video player (or whatever) class:
Code: ... var videoPlayer = new VideoPlayer(...); addChild(videoPlayer); ...
And inside VideoPlayer class i have of course dozens of objects (movie clips, sprites representing different parts of VideoPlayer) and dozens of event listeners attached to them. My question is, if i want to remove this VideoPlayer class from my main class is it enough to just do:
I have a initApp.as which instantiates a class which needs to access the "currentState" property and the States array as well. However we cannot get this to work as we cannot see how we can access this information.
Within initApp.as currentState is accessed via "this.currentState". This does not work in the class which is instatiated within initApp.as. The following error is thrown:
I have question regarding removing instantiated objects. Let's say i have a main class in which i instantiate a custom video player (or whatever) class:
[Code]...
From my experience, if i don't destroy for example event listeners from my VideoPlayer class and just remove VideoPlayer class the way described they still get fired with null exception messages etc. This is something that's bugging me for a while so i would really like to know what's best thing to do here?
I have a main class which listens for an event dispatched from another class say class A. Also there are other classes say class B, class C etc.There is a controller class.Classes B, C dispatches events that gets listened by the controller and works well.But the events dispatched by the Class A doesn't get listened by the main class.What might be the problem. Detailed Explanation of the problem.There is a main mxml file.
Class files are in: ProcessInput.as DBController.as ShortMemDB.as ....etc
The main mxml file gets the input from a textArea. Sends the input to the capturedInput (input:String) function using set method which is in the ProcessInput Class.Now I need to dispatch events NORMAL, COMMAND depending on the input obtained after the processing, where I'm having problems. The reason is that if the event NORMAL is dispatched a particular function inside the DBController is to be called. If COMMAND event is dispatched then I need to call another function. This idea doesn't work since the events doesn't get listened.But the events dispatched by the CSDB class when listened by the DBController works well.
I'm trying to load a RSL library into a flash animation developed with Flash CS5 IDE, that extends a custom class and implements an interface. I have reduced the problem to the simplest setup and find that I can have my main class extend another class or implement an interface, but not do both at the same time if I want to load an RSL.I have a very simple class to extend:
import flash.display.Sprite; public class MySprite extends Sprite {[ code]...........
but if I want both I get the VerifyError: Error #1014 with MySprite not found and ReferenceError: Error #1065.
I'm not sure that I'm on the right track here. I've got what is essentially a 'gateway' movieclip and depending on the CLICK a corresponding movieclip (form) is loaded -- these all being in their own AS file. There are multiple corresponding pages that will all load/close in their own fashion but the 'gateway' will reload in it's own function-- consequently, I have this function on the main_AS. Can I trigger this function from the sub class or do I need to move the 'reload' function to a 'reload' class.
I am refactoring a hugh action script solution in Flash builder (beta 2) using the flex 4 sdk.The project does NOT use the mx framework.What i want to have is:
A big 'MAIN' project several small 'MODULE' projects. each 'MODULE' class refrences the 'MAIN' project as an External reference (doesnt compile into swf) - this is done by setting link type = external in the 'MODULE' project properties -> library path.'MAIN' loads a 'MODULE' project on runtime using the 'loader' class.
the problem:I recieve an error from the MODULE project: VerifyError: Error #1014: Class [some class in MAIN] could not be found.
I have a document class called Main.as In the class constructor I have the following listener:
enter code here var listeningFORModeChangeToStudent:Sprite = new Sprite; listeningFORModeChangeToStudent.addEventListener(TellAllModeChangeToStudent.STUDENT,exp); addChild(listeningFORModeChangeToStudent);
[code]....
In a third class I make a call to the despatcher in the previous class:
enter code here var ThisTellAllModeChangeToStudent:TellAllModeChangeToStudent = new TellAllModeChangeToStudent; ThisTellAllModeChangeToStudent.tellAllModeChangeToStudent();
I have trace statements in eveything and from this I know the despatcher in TellAllModeChangeToStudent is being called.The problem is that the listener in the main.as is not calling the function exp.I cant see why and I dont know how to check if the listener is actually seeing the dispatch event?
Iīm making a game and now I wonder if itīs good practice to have a class named Main for my game. I was thinking about to have a Preloader, Console and Game classes. Now I donīt know anymore. Maybe itīs better to have a Main class that loads including a preloader, which loads Console wich loads Game.
Thatīs the better way to making a game application? Iīm talking about best practices.
why if yes there has to be a Main class that extends Sprite?
i want to add to stage a movieclip in another class not the .as file as the same name of .fla file how can i get this.When i run same code in main.as i get the result but in another class it runs but no result.
How do I listen from the main class to a sub class for a variable change?
package { import flash.events.* public class DataBase extends MovieClip {
[Code].....
This is what I have so far for the sub class but I can't seem to figure out how to listen to this variable change from Main() or even if I am dispatching the event properly.
I have a problem with classes. What I am trying to do is this: I create a main class and then i import another class into it.then I create an instance of the new class and add it to the stage.the problem occurs when im trying to use the new classes methods.
import classes.NewClass; var test:NewClass = new NewClass(); addChild(test);[code].....
My first experience is build an aquarium with a lot of fish swimming, and they can be clicked. When one of them is clicked we should receive a trace message saying ("Iïŋ―m a Fish!"). To do this, I thought that the best way will be:
1- create a document class, named Main.as
2- create a base class, named Clicked.as
2- create a movie clip with a fish.
3- export the movieclip to actionscript. In the mc properties set Class as "fish" and Base Class as "Clicked".
i have a game that i want to put load screen on, which i created a separate class for. first the main class is initialized and in the constructor function, it does an addChild(loadScreen) which places an instance of the loadScreen MC on the stage. within the loadScreen is a "Play Button" that when a user presses this button i want it to continue startGame in the Main class. the way i tried it was Main.startGame from the loadScreen class, but that obviously does not work. is it possible to call a function from a different class.i have three files:
Using Flash CS5 Professional I have created a symbol, dragged it onto the stage, and given it an instance name of GreenLight1. If I want to make this visible from the document class, I can simply do the GreenLight1.visible=true; and poof it's good to go when I test the file. As long as I stay in the document class I am good to go, but now I'm trying to move to another class and hitting ALL kinds of trouble just trying to get Flash to allow me to access this simple object. All I am looking to do is have this GreenLight1 go invisible (visible=false) when a certain condition occurs in this new class and Flash just won't let me access GreenLight1 at all. Things I've tried thus far:
stage is passed to the class and is referenced by _stage and is working just fine when I do _stage.addchild or anything like that. So I have tried "_stage.GreenLight1.visible=false;" and I get "ReferenceError: Error #1069: Property GreenLight1 not found on flash.display.Stage and there is no default value." My document class extends Sprite, so I figured I'd try the root function. So I tried "Sprite(root).GreenLight1.visible=false;" and I get "1119: Access of possibly undefined property GreenLight1 through a reference with static type flash.display:Sprite." I tried to create the Resource class as described therein. To which I came across the same problem that I started with in that it doesn't know what GreenLight1 is to begin with so I got "1120: Access of undefined property GreenLight1." Here is my code for Resource.as (am I supposed to pass something to this class from the document class?)
I'm new to Flash AS3. I started making a game and I am a bit confused. Let's assume that I want to create a game that has multiple levels/modes, how can I do this in an object orientated way?
When i create games in other languages e.g. XNA C#, i create a separate class then create an object of that class within the main class and run the game based on a simple statement.
I'm trying to build a shuffle function that somebody gave me into my card game. I two external .as classes; one is Shuffle.as, which is my document class, and the other is card.as. I'm building the shuffling function into Shuffle.as. I think I'm getting close to making it work, but there are some problems. I keep getting this error message: "5000: The class 'Shuffle' must subclass 'flash.display.MovieClip' since it is linked to a library symbol of that type." Here is my code. Shuffle.as code
I have just started to work in AS3 and stuck in a problem. I have created a fla document named main.fla I have defined the document class as Main which is attached. The problem is preloader shows only when the file is completely loaded. How can I appear the progress preloader for the main file.
I have a movie clip (mc_menu) that sits on the main timeline. Inside mc_menu I have several buttons that display items inside the mc. I also need to display an image on the main timeline. I have converted the image to a movie clip (mc_01). I am using AS2.