i also write this question in as2 forum, but i need it also for as3i have instance of class "HelloClass" on my main movie :_root.mc.HelloClass.variable1.fullurlso my HelloClass exteds movieclip and has var named Variable1 that also class with var fullurli want to access fullurl string value dynamically , somthing like:_root.["mc"].["HelloClass"].["variable1"].["fullurl"]so i can access every var from external swf
var sp:Sprite = new Sprite(); sp.x = sp.y = 40; addChild(sp);
[Code].....
I want different actions for different MCs, but I can't access my MCs. I gave them names btn.name = "btn" + i;, but whenever I tried using MCs instance name "btn0" or "btn1" and so on it didn't work. So what is an instance names for my MCs?
I've added a movie clip dynamically using the following code:
var apie=new cPie() apie.x=100 apie.y=100 stage.addChild(apie)
I now have a pie on my stage. Yum. Assuming this works like a movie clip placed on the stage by dragging and dropping, I added this in to change an instance in the pie.
What I have is a navigational button. On click, it adds a MovieClip that contains a SWF.This SWF is a third party news reader/blog. My problem is that when I click on another Navigational button, I can't remove the added SWF (whether I use removeChild() or unload()).The container MC that was added to hold the SWF is removed but the newsreader stays. I assume this is because, that while the newsreader itself works great, it has too many unremoved event handlers, connections.
My main problem is that I can't figure out how to call that added swf by it's name and where on the displaylist it resides. Because I really want to use this newsreader, I've come to accept that I can't remove it. What I'm doing instead is trying to set up a conditional that looks to see if this SWF is already on stage, if so, do nothing but make it visible again(don't re-add the SWF).This is what I have so far, but it's not working (or at least not working without error)
Code: var blogNewsMC:BlogNewsMC = new BlogNewsMC(); function loadBlog(url:String) {
I'm using a library that has a function that returns an instance of some class Engine.
I'd like to tack on some interfaces to Engine, so I subclass it class InterfacedEngine extends Engine implements AwesomeInterface. but when I change the code that uses the classes from this:
var engine:Engine = generateEngine();
to this: var interfacedEngine:InterfacedEngine = generateEngine();
It gives me a runtime error (elision mine):
TypeError: Error #1034: Type Coercion failed: cannot convert ...::Engine@1bc2bf11 to ....InterfacedEngine.
I have a base class which is being created via remote_object [RemoteClass alias] from the server.I have other specialized classes that are derived from this baseclass, but serialization with the server always happens with the base class.The base class has meta data that defines what the derived class is, for example
[RemoteClass (alias="com.myco...')] public Class Base {
I have to admit I pretty much ran away from Flash when AS2 came along and only used it for animation purposes over the last 5 years.So I'm having a major crash course in AS3 in Flash CS3 and I'm not enjoying it one bit. I'm getting maybe 10mins of finished work per hour as I try to figure out the limits and rules of AS3. Quite often it seems that AS3 simply can't do what I want it to. Anyway: Characterchecks.as is the main class and it loads a bunch of XML into four arrays. The file starts like this:[code]If I trace the value of, say, cc._Categories from the main FLA, it's empty. I'm guessing that the next line of AS in the main FLA doesn't wait for the previously called function to complete? (This may tie in to my next problem)My next step is that I want to display various things based on the data in the array. I have another class, Display.as which will hold all the functions to create the items on display. I thought it would be best for these to be a separate object. I wonder if I'm right?
So I declare an instance of Characterchecks in the main FLA and call it cc, and then run the functions to populate the arrays... Now I create an instance of Display and call it cd. How can I get functions in cd to see the values of the variables in cc? And if the main timeline can't tell that the functions aren't finished filling the arrays, how is cd supposed to know?I might be asking dumb questions, or maybe I'm doing things ***-backwards, I don't know. I'd appreciate any help, I really would. This whole thing has me at the end of my tether... being the most technically advanced person in my circle of co-workers and web design friends means I have no-one to explain why things need to be done a certain way or what the best way is.
I'm creating a little game - The player controls a character that follows the mouse. Pigs run away from the player, and the player has to get them all into a pen. To make the game a little more difficult I'm trying to add an enemy - wolves, that attempt to perform a 'hunt' method every x seconds. This method sends a reference of the wolf instance to Main (my document class) and Main then loops through the pigs on stage to see if there's any nearby. Now as far as I know this works - my problem is I'm unsure how to send the pig instance reference back to the wolf that called the hunt method, so it can then 'target' the pig, and then attempt to pounce on it.
I'm with a doubt that is crashing my project over here. Example: I have my class....
Code: package { public class SoundPlayer extends CheckVersion{ public static var saveId:Object = {}; public function SoundPlayer($url, $vars):void{ trace(saveId[$url]) // here the class return to me the first call [Code] .....
If I access SoundPlayer.Init(), I pass my URL and my variables, I got the first access, but for example, when I save this variables on my constructor and want to access again with a different call, the flash output returns like "null", like... SoundPlayer.PlayInit("myId"); take a look bellow
Code: public static function PlayInit($url :String):SoundPlayer { trace(SoundPlayer.saveId[$url] as SoundPlayer); return SoundPlayer.saveId[$url] as SoundPlayer; } How I can access this variables in second time?
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 am trying to pass a variable to a method in one of my Classes so I can use it to create the correct movieClip (image).
My Class code looks like this: package { import flash.display.MovieClip; import flash.display.Sprite; public class SlideShow extends MovieClip{ public function SlideShow() { [Code] ....
I am getting the following error: SlideShow.as, Line 30 1046: Type was not found or was not a compile-time constant: Background.
Topic title explains what i want to do. Say I have a variable roomNumber (a string) and in a game where i move about, roomNumber will change (say, room34 to room35). When a new room is visited i want a new instance of my class Room to be created, but with the instancename of what the variable currently is. (point is that i can go back to a previous room, without it being changed because the instance has already been created) so... roomNumber:RoomClass = new RoomClass(); well, it unfortunately works so that the new instance is named roomNumber, and not room34.
I am writing a code where I am trying to create a sprite variable in one class, and create several new instances of that sprite variable in another that all need to be on the stage at the same time. For example I created a variable like this, var ball:Sprite = new Sprite(), then drew the sprite in the same class that that variable was created in, then using encapsulation (i.e. _myNewInstance:AddNewInstance = new AddNewInstance(ball)) I am trying to reference that variable and create several new instances of it in the "AddNewInstanceClass" through for loops.
I have recently started out with flash oop concepts and was wondering how to do create an instance of an extended movie class without dragging and dropping the clip from the library ....I have figured out this method..
I'm working on a photo-sharing demo using AS2.0, I would like to dynamically load photos (stored as jpgs in the .fla's local directory) into MovieClips, and apply a class instance to them. Currently, for debugging, I've imported jpgs to the Stage, converted them to MovieClips, and then accessed their linkage properties, setting them to the class I need them to implement. But for the final application all of this will have to be done with code.
I know how to dynamically load the jpg into a MovieClip using loadImage(), and I know how to create a MovieClip that is an instance of a class by using attachMovie() with a library symbol and the class name. How do I combine the two? Is there a way to access the linkage properties of a MovieClip dynamically?
If an object, or say... a document class, creates an instance of a class (and stores it as a variable), and it doesn't pass any arguments to the constructor of the class, can that class object, by simply having a function of it called by the parent, tell who sent it that command/request?
In other words, can a class object know who called it (such as it's parent) via a (seemingly) anonymous call?
Quick question. I have been Googling this all morning, but it's either not there, or else written in a way that doesn't register. I am inclined to believe the latter, as this seems like it should be something completely trivial to me. I made a small Flash file using AS 3.0, and this is the first time I've really been able to stick to the OOP way of doing things and not hack together a mix of stuff from the timeline to get around not having everything work in the classes.
So I'd like to keep it that way, but one thing is eluding me: I can't call a method of an instance of another class (than the one I'm calling from) without resorting to "DocumentClass(root).instanceName.method." Intuition tells me there has to be a better way of doing this (like, without having to reference the document class every time I call another class instance's function; and CERTAINLY without having to use the word "root" - that just seems so Flash 5 to me. Does anybody have a better way of doing this that they can share?
I have a question regarding AS3 memory management. Supposing I created an instance variable for a Class, in this case or type Sound: public class SoundStore extends Sprite{ var s:Sound; Then within various class functions I referenced this variable multiple times, each time I wanted to load in a new sound: s = new Sound(); Am I correct in thinking that each time I created a new Sound I would be overwriting the previous allocated memory?
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 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.
There's a movieclip, lets call it myMovieClip. Inside this movieclip there is a dynamic text box, lets call this one myText. Now to change the text within this text box that is embedded in a movieclip, it's simply:
[Code]....
However, what if there is a variable, called myVariable that stores the instance name of the text box. With only one text box I know it's pointless, but for the sake of example, lets leave it simple. So, suddenly the code looks like: