ActionScript 3.0 :: Direct Methods Access Of Interfaced Object?
Jun 18, 2009My situation like this:IHost.as:
Code:
public interface IHost {
function doSomething() : void;
[code]....
My situation like this:IHost.as:
Code:
public interface IHost {
function doSomething() : void;
[code]....
I am still very new to Actionscript and have an okay working knowledge of Flex. I am working on an AIR application that runs a SQLite database underneath. The database is only 3 tables (projects, items and types). I was wondering if Actionscript best practices are to use a data access object or layer to store all of my database functions or to just run them inline as needed. I would assume an access layer would be best for interacting with the database for usability, but I can't seem to find much documentation for SQLite in AIR.
View 1 RepliesLoad external SWF file, an error: TypeError: Error #1009: Null object reference can not access the properties or methods.
View 0 RepliesI uses AS3 preloader embedded within HTML (standard Dreamweaver embedding). The preloader loads index.swf. I've noticed that site visitor can write down URL: [URL] and get direct access to the swf file of preloader. Hotlinking protection for swf extension (defined on server via cPanel) would resolve the problem but unfortunately [URL] must have access to swf files (otherwise flash site wonâ't start).
View 3 RepliesI"m new to AS3 and I would like to know how can I get to graphics of a Sprite so I could draw it directly from it. I mean I don"t want to use Sprite class as my concrete objects I just want Sprite to hold graphics so if my own object needs to be drawn it asks for graphics to SpriteManager which returns Sprite with required graphics and draws it exactly where I want to not where Sprite's coordinates points to.
View 1 RepliesI often write apps in flash where I wrap all the display elements into one parent display object container (not the stage). Let this parent container be mc_world for example. I declare this in my Document class (Main) as:
ActionScript Code:
public static var mc_world:MovieClip;
Since this container is unique and often times needs to be referenced from various classes in the project (that are not its children) I find myself often doing Main.mc_world across my project to access this container.
Is it bad practice to directly access static members of the Document class throughout my project? Are there any simple alternatives? I don't want to dispatch events every time I need to access mc_world. And using a singleton class doesn't seem all that different from the Document Class (which only has one instance right?).
right now I have a code that rotates an object based on the position of it and the mouse. Thats all great but it sucks for a game, It is way too responsive. What I tried doing is making to rotation var:
[Code]...
after that I made rot2 the direct rotation between the object and the mouse: rot2 = Math.atan2(Ydiff, Xdiff) * 180/Math.PI; //(forgive me if this has spelling errors, as I am writing it //by hand right now) then I make rot effect the object: object.rotation = rot; now that the basics are set up I just need to make a code that compares rot2 and rot, if rot is less than rot2 it adds on to rot, if it is greater, then it will subtract.
(source at bottom) this all works well until you hit the most annoying part, the one i cant figure out how to fix.... basically there is a gap where the numbers go from 180 to -180, so the code flips out, reads this as it is supposed to, but this makes the object rotate a full 360 degrees around instead of just like 2 degrees to bridge the gap. If anyone has insight on this or thinks they might know what to do,
[Code]....
I am creating an object pool to cache some recyclable objects in memory at the outset of my application in order to avoid (as much as possible) the performance issues caused by GC running; if possible I'd like to minimize the memory my object pool reserves, so I'm attempting to pool generic forms of the objects (with no methods) and then casting the generic variants to more specific and complex object types which extend the generic form when I actually want them on the stage.
The trouble is that to do this requires the generic variant class to import/extend MovieClip (because the more complicated objects are themselves MovieClips and make use of DisplayObject methods)-- does simply importing and/or extending a class add to the memory an object takes up when instantiated even if it never uses methods from the inherited class? It makes sense that it would, and some light profiling seems to suggest that it does, but I'm not 100% certain. About how large should an 'empty' MovieClip instance be in bytes?
I need to call a method writeln() from the method buttonClick() which is in another class. Also need from a method of readResponse () method call loadSocket (str: String)
Errors:
Attempted access of inaccessible method writeln through a reference with static type main2.as$36:CustomSocket.
Call to a possibly undefined method loadSocket through a reference with static type Class.
Here is my code with 2 classes:
ActionScript Code:
package {
import flash.display.Sprite;
import fl.controls.Button;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldType;
[Code] .....
How would I access a loaded in swf files public methods in my main swf.
var temp:ExternalSWFLoader = new ExternalSWFLoader("FX_Ticker.swf");
temp.x=temp.y=0;
Ticker =(Sprite)(temp);
[Code]......
I can't seem to access anything from a loaded swf file. I can, however access parent variables/methods from inside the loaded swf file.
var ldr:ProLoader;
function loadExternalSWF():void {
ldr = new ProLoader();
[Code]....
This just gives me the error:
TypeError: Error #1010: A term is undefined and has no properties.
EDIT: wrapperMC is just an empty movie clip instance that I've created and positioned on the stage to load the external movie into.
Access methods / properties of embedded swf? [code]...
View 7 RepliesEverything talks about accessing methods & variables.
Simple:
- I have a local flash file that is loading .swf files from a local directory, and playing them.
Code:
for (x=myBanners.length-1;x>-1;x--){
var bannerName:String = "banner" + (x+1);
var movieLocation:String = myBanners[x].firstChild.nodeValue;
[Code]....
I have an urgent task to implement in my project code. I can't able to access the new properties and methods which are present in FileReference Class. For load() ,save() methods needs runtime version of Flash Player 10. I need to include the flash player 10 in CS3 publish settings Version. Otherwise you can suggest how i can able to access the FileReference class new properties and methods without CS4.
View 7 RepliesHow would you go about calling the public properties and methods of a SWF you load in actionscript?
I have been using stackoverflow for years to answer my programming questions so I wanted to give back by writing a guide to an issue I had a lot of trouble figuring out. This is my first user guide so tell me if there is anything I can do to improve it.
I'm using a movieClip inside a ScrollPane to show a list of CheckBoxes. The amount of CheckBoxes shown is dynamic, it depends on a SQL query. After the query is done, I add as many CheckBoxes as rows in the result set. What I am trying to do is to access some methods I wrote in the MovieClip inside the ScrollPane to get the length of the CheckBoxes, check which ones are selected and the label they have (their label is also defined by the SQL query).
I've tried this
valueINeedToGet = Object(root).scrollPaneInstance.source.functionINeedToRun();
But it returns error #1006
How can I access the code inside the MovieClip inside the ScrollPane?
How do I access the methods of a dynamically created movieclip/object?
For simplicity sake I didn't post code on how I dynamically created the movieclip. Instead, assume its already created. It is an object. It is called field_2. Below it is referenced by using getChildByName('field_' + field.id);
Check_box_component.as
public var testVar:String = 'test';
public function testReturn()
{
return 'value returned';
[Code]...
When I trace temp.testReturn, why does it show "function Function() {}" instead of "value returned"?
This link below helped me get this to this point.
[URL]
Let's say I have a FLA file with document class called main. In main, let's say I have a method called test1 that just outputs "hello world" via trace. On the FLA I have a movie clip. In that movie clip, when the timeline reaches frame 123, I want it to invoke the test1 method (I just set up a simple action on the frame). However, I get an error saying that the method is undefined. I try this.parent.test1() too but that gives me the same error. Is it not possible to invoke a document class property from within the timeline of a movie clip that's on the stage?
View 2 RepliesAlright, so I'm creating objects dynamically,[code]...
View 4 Repliesi'm attaching clips from library using attachMovie. inside those clips are functions. I'd like to call those functions a few lines after instantiating them using 'attachMovie.' It seems that the clip isn't fully loaded because my functions aren't being called. I tried using movieClip.onLoad, but no dice.
View 1 RepliesImagine the following setup. The main swf loads a child swf.In AS2 i would simply use _parent or _root to call the desired function. How can that be done in AS3?Can this still be done? Can I call a function on the main swf from the loaded one? How about the other way around, this time, from main to loaded swf?
View 1 RepliesI have created a loop to instantiate tiles on a board. In the following example, "Gametiles" is an array containing objects of class "Tile" which is a class that extends MovieClip. "Game" is a MC that I added to the stage in the flash developing environment.[code]This method is a bit cumbersome though. I really don't want to have to create a var and call getChildByName every time I want to interact with these properties or methods. How can I set up these children so that I can access them directly without the extra steps?
View 1 RepliesLet's say I have a defined ClassA. ClassB extends ClassA and there's a Movie Clip instance on the stage linked to ClassB. How would ClassC access the properties and methods of ClassB without extending ClassB or creating a new instance of ClassB? The way I'm currently doing it is by referencing the stage instance linked to ClassB and then using the dot syntax to access ClassB instance variables, and this works only if the the accessed variables are public or internal, depending on what package ClassC is part of. I would like to know if there's a better, cleaner way to accomplish this.
[Code]....
My aim is to access the FileReference class Flash Player 10 properties,methods and Events using CS3 instead of CS4.For load() ,save() methods needs runtime version of Flash Player 10.I need to include the flash player 10 in CS3 publish settings Version.Otherwise you can suggest how i can able to access the FileReference class new properties and methods without CS4.
View 1 RepliesI'm recording and playing back mic input using Flash Media Server, and even though it's just audio, we're saving the output as FLV. I'd like to get a waveform of the recorded audio. Ideally, since we already have a lot of saved/recorded audio, I'd like something that can take a loaded FLV and get the waveform, as opposed to generating it at record or playback time.
AS3 has the new Sound.extract() method that can be used for this (plenty of online tutorials), but it seems like it only works for MP3. Is there a way to use this method on FLV audio? Or is there another to extract a waveform from a FLV?
How do I get the list of all methods from an object? I know I can get the object class in this way:
var className:String = flash.utils.getQualifiedClassName( myObject );
var objClass:Class = flash.utils.getDefinitionByName( className ) as Class;
In JavaScript I can iterate over the prototype of an object to get its properties and methods. Is that possible in ActionScript 3? Do you any good source for metaprogramming/reflection over ActionScript 3?
So I am writing a program which uses Dictionary to store objects. For example
var dictionary:Dictionary=new Dictionary();
var myObject = new myObject(var1, var2, var3);
dicionary["key"]=myObject;
where var1, var2, and var3 are simply means of assigning values to variables in myObject.can I access values or functions that are found in myObject? In myObject class I have some getters and setters. Can I use a getter to get the value of var1 for example.
dictionary["keys"].getVar1()?
-I know one can call javascript functions from as3 using ExternalInterface, but in all the examples I've seen the function has been a standalone function on the page. Can methods on objects (that are on the page) be called. E.g: obj.someFunc() rather than just someFunc()?
-The return value can be stored as well using ExternalInterfaces. Can this return value be a javascript object? If so, its methods be called from it directly?
I'm having problems with my usual eval methods of creating objects to read off dynamic values programmatically using concatenation. I've found the set command doesn't seem to work with objects that are dynamic....
Code:
function createobject(item){
//create it and store something in it
set ("_root.item"+item.stored, "data storage test for item "+item);
}function checkobjects(){
for (i=1;i<5;i++){
checkit=eval("_root.item"+i);
trace("_root.item"+i+".stored="+checkit);
[Code] .....
Running this produces the output of...
Code:
_root.item1.stored=undefined
_root.item2.stored=undefined
_root.item3.stored=undefined
_root.item4.stored=undefined
How to do this - basically I'm trying to load data, then use that to create dynamic objects and values within it, then I'm trying to work with those values by again using loops to read off the dynamic values during runtime. Obviously if these were "fixed" variables, then it would be easy, problem is that its impossible to use the new Object() command with dynamic names!
Previously I've used this:
Code:
checkit=eval("_root.item"+i+".stored);
trace("value is "+checkit);
Is it my imagination, or was this stuff a lot easier to do in AS1?
I have a class file named Main.as and another class called icon.as
package {
import icon;
public class main {
public var _time:String;
function main() {
[Code] .....
How do I get the current update from the main class without calling the MainObj repeatedly. Is this possible in Flash AS3, or any other alternate method for this idea.