Flash :: Instantiating A AMF PHP Class Not Working
Jul 9, 2010
I am trying to use AMF PHP to pass variables to a flash file, thus far I cannot see anything wrong with my code, but I have very little experience with creating classes, so here it goes, here is my code,
index.php:
<?php
include "amfphp/services/flashMe.php";
$session = true;
[Code].....
Flash is looking for the flashMe class and the push method within that class, but I keep getting null variables in my flash file when I run it
Is there a way I can load a swf file but not automatically instantiate it's DocumentClass? Instead I want to do something like the following: protected function mainLoaded(e:Event = null):void { trace('mainLoaded'); var main:* = this.mainLoad.createClassByName('Main'); trace(main); } Where mainLoad is an instance of CasaLib's SwfLoad and createClassByName is the equivalent to loaderInfo.applicationDomain.getDefinition(); The thing is that when my swf finishes loading I can see it is created, because of some trace calls, although its obviously not added to the display list.
I have a symbol named picHolder. In symbol properties under linkage, I chose "Export for ActionScript" and "Export in frame 1" and gave it a class name of picHolder.Normally, to instantiate a new instance, I'd say:
Code: var tempPic:picHolder = new picHolder(); and I'd go about my way.
My Class B imports Class A.Class A is associated to an FLA. This FLA has a moviclip (MC) in its library.Now I need to dynamically instantiate that movieclip MC from Class B. How can I do that??
When I set the following class as my document class it works (draws a rectangle) but when I don't set it as my document class and instead instantiate it using var myRec:simple_shape = new simple_shape(); in first frame of my timeline nothing happens no rectangle and no error either). why and how I can get it to work without setting it as my document class?
I asked yesterday how to call a function from an XML file, and I figured out how to make that work using the string-to-function call.so in my XML file I have <ITEM CALLBACK="ContactsList">View All</ITEM>, and my TextMenu class parses the XML file and creates my navigatable text menu instance. When enterMenu():String is called, it looks to see if the CALLBACK attribute has a value, and if so it returns it as a String.so..
var callbackFnc:String = textMenu.enterMenu(); if(callbackFnc != null) {
I am loading one swf into another using the Loader class, but when the child swf finishes loading and is added to the display list, its Document Class is not instantiated. I have a few trace statements that should execute when the object is created, but nothing is happening when loaded into the parent SWF. When I compile the child SWF on its own, the Document Class runs as expected.
So I'm wondering... how do I associate a child SWF's Document Class with Loader.content?
I've got a confusing situation which wont seem to fix itself basically I have my main class, my iContent class (which will hold each page and have functions for all pages), and my individual pages.
The homepage is instantiated by calling the iContentClass.goHome method in the main document class. The home page contains a button to go on to the next page. This button references the goColourBrowserPage function within the iContentClass, which removes the child (being the home page) and attempts to add a child (colourBrowserPage).
For some reason this doesnt work! It doesnt seem to add the child and wont let me remove the child of the home page! I've been sitting here for 3 hours trying to work it but to no avail!
I'm making an app with pages set out as classes which extend the MovieClip class.
What I've got are back buttons and different pages which go to the same page, however... If I end up going out of a page and back into a page (specifically one with drawn squares and dynamic text boxes called from a web service), it seems to have kept all of the original information.
So far I've tried killing all of the children with a while loop targeting the index and also using weak event listeners - neither is working!
If I only instantiate a class once should I make its vars static? I understand how this is of benefit if I make multiple classes, clearly you use less memory as it creates a reference to the same place for each class. Are there any other benefits for creating static vars or functions ?
For example I have my class 'MainMenu' which I create once (might even be my document class). In it I create a Code: private var someHolderForStuff:Sprite = new Sprite();
Should I rather create Code: private static var someHolderForStuff:Sprite = new Sprite();
I have a MovieClip symbol that has 2 frames (for now). Depending on how it was initilialized, I want it to gotoAndStop at either frame or 2.Inside my class definition (Animal.as), I have written this as my constructor:
var type:String; public function Animal(t:String = "") { type = t;
Let'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.
I'm having this problem: I have an external fla (Dawn.as) and I want to instantiate the class from the external file into the main swf timeline, but when I try doing that I get an error:
ActionScript Code: TypeError: Error #1009: Cannot access a property or method of a null object reference. at Code::Chapter/initialise()
've tried calling constructor class from my main.fla, and it just doesn't work. The error when I try to instantiate the constructor is that it needs an argument... and since the class extends a Sprite.
PHP Code: public functionportGal():void { this._images = new Array();
I am trying to set up a script that will generate a matrix repeating the same symbol X by Y times. For example, b(3,2); should generate...
OOO OOO
...and after many days of being tested by this problem I have narrowed the location of my problem down to what can be seen up in the following.
Code: for (a=0; a<4; a++){ for (b=0; b<4; b++){ var z:Number = ((a*4)+b); _root.attachMovie("Light", ("L" + z), _root.getNextHightestDepth(), {_x:(a*45), _y:(b*45)}); } }
For some reason, that loop will only attach one copy of my "Light" movie. I cannot seem to figure out why more are not added. I am putting that code on the first frame of my movie. There is nothing else in my project yet.
I'm making a vertical (constantly) scrolling shooter & am trying to instantiate objects based on a timer. For example: At 30 seconds, place a building @ x, y. My problem is that the "building" is instantiated when the game starts and then again at the 30 second mark - instead of only @ the 30 second mark. If anyone could steer me in the correct direction,
Basically I have a function that is needs to tell 2 other classes to do something. It works for one of the classes: BigPlayButton, but not Background for some reason.TabMenu.as Class functionNote: The function below WILL call the hitPlayCircle function in my BigPlayButton class, but I get an undefined property error for the Background switchTitle function.
I have a problem with loading an image path reference into a movieClip.On my movie loading I attachMovie according to i (no. of instances)Then I generate a copy of the instances (these are prepared ready for print - I have this working)
However, the initial creation of these instances is handled when the Flash movie loads and uses part of the code below to generate thumbnails:
The class is called multiple times once then when triggered in a duplicate movieclip but fails somehow - maybe the clue is duplicate tho tried that (duplicateMovieClip..)
I am migrating an application from flex sdk 3.4 to flex sdk 4.5.I am using a telnet example of AS3 tutorials as base to construct a generic socket class that implement a specific protocol.The main problem is that the new application with the validated socket class does not fire any event (no error - no connected - no data - nothing). The try catch with the connect method does not throw any error. I checked if the events were successfully connected, but they are not fired never.Update: I used the suggestions to modidy the code. Actually, now I am receiving an error on the security policy.
This is the constructor: public function GenericSocket(server:String, port:int, output:TextArea) { // set class variables to the values passed to the constructor.
I'm running into a problem loading an external swf. Check it out here: [URL]
If it's working right, the top and bottom red areas should end up looking exactly the same.
I have "init.swf" loading "cc_home.swf" into a container. When successful, it should fade up (that animation is in "init.swf") and then load the white text (cc_home.swf). What you're seeing on that page is init.swf on top, and cc_home.swf down below.
When I test init.swf directly from Flash, it works fine. In the browser, though, it doesn't load the movie.
Here's the code I'm using in "init.swf" to load cc_home.swf (which I got from Kirupa):
var mycontainer:MovieClip; var myloader:Loader = new Loader(); var urlrequest:URLRequest = new URLRequest("cc_home.swf") myloader.load(urlrequest);
I made a class that runs fine when used in a movie published from flash 8 on a PC WinXP, but when i try to use it in mx2004 Mac OSX, i get the error:
Code: **Error** xxxxx:Archive 02 WIP:test:PicSwitch.as: Line 42: There is no property with the name 'onMotionFinished'. tweenIn.onMotionFinished = function() { **Error** xxxxx:Archive 02 WIP:test:PicSwitch.as: Line 48: There is no property with the name 'onMotionFinished'. tweenOut.onMotionFinished = function() {
In my class on the first line i use:
import mx.transitions.Tween
... so that i can use the Tween class in my class.
I have a simple input box with an on-screen keyboard. When I type into the box using the on-screen keyboard (adding characters to the box programatically) the Selection class overall isn't letting me control the input.I'm assuming this is a scope issue of some sort. The input belongs to one class while the onscreen keyboard belongs to another.Is the Selection glass global or is it class-scoped? Even when I pass a reference from one class to another and request Selection.getCaratIndex() from the class that generated the input it continually returns -1 which is not correct.The kicker is I can make a new AS2 document, put an input box on the screen, add text to it (all programmatically), Selection.setFocus() the input, run Selection.setSelection() to the last index of the input and Selection.getCaratIndex() returns the valid number. So there's something funky going on when classes are involved.
The only way the Selection class is working is if I use a real keyboard or mouse click, then it works fine. This isn't very useful in an on-screen keyboard context however.Are there any mines I should avoid when using the Selection class in an application where multiple other classes are involved? Is Selection really global or should I worry about scope with it?
EDIT: If I have a class called Items and it has a movieclip instance which is loaded from a url. The startDrag on item fails. If Items contains a movieclip which we initiate from a SWC (not load it) on Drag works fine. Now how to solve the issue where I have a class which has a movieClip loaded from outside.I have the following code:
I like to make alias varaibles for long names, so that i don't have to keep repeating huge lines of text, but when i try to create one for a custom class, it fails.
Code: Clients["Client"+i] = new Client(); var Client:Object = Clients["Client"+i]
Its almost as if flash is trying to make the new variable a new Project(); instead of a reference to the other variable...