ActionScript 3.0 :: Calling MVC Inherited Methods ?
Jul 7, 2009
I'm having a hard time calling a method from a particular class within a MVC design pattern. I'm successful at calling the methods from the base (Model) class but haven't been able to call methods from it's subclass (PhotoModel).
My Objective From within the Controller subclass (PhotoController) call a method from my the Model subclass (PhotoModel).
In my document class file I have the following code which connects the two classes together.
PhotoDocument.as
ActionScript Code:
public class PhotoDocument extends MovieClip
{
public var photoModel:PhotoModel;
[Code]....
I thought that defining the model class in this way would declare the PhotoModel class as the model for the PhotoController class, therefore letting me call it's methods and any inherited methods with syntax similar to this; model.method();. Using this syntax I can call the methods in the base Model class but not in the subclass where I've defined additional methods the base Model class does not have.
I've tried a billion different ways to call the methods inside the extended model class but have only a huge pile of failure to show from it.
View 9 Replies
Similar Posts:
Jun 10, 2011
I'm working on a class that is an extension of the Sprite class. For the framework I'm working on, it would be nice if this new class didn't have the addChild and addChildAt methods. Is there anyway to hide these inherited methods?
View 2 Replies
Feb 15, 2011
I am writing this post because i have not found an answer to this. I wrote a class that will get several function names and then proceed to call them. Thing is, i want this code on a base class, which is on a separate swc.
[Code]...
If i override the createThing function, and add the exact same code, there is no problem. Is there a way around this? I think this is a bug on AS3 not distinguishing its real context, but i am not sure.
View 1 Replies
Jul 10, 2009
- Flash Media Server 3.5 (using ActionScript 3 for server-side code)
- Flex application (built in Flex Builder 3, using ActionScript 3)
Now, I'm trying to get the server-side ASC code to call something from a connected client. It doesn't seem to work (thought everything else works beautifully). I've tried stuff like the following in the server side:
- In the application.onConnect function, I've tried this:
...
currentClient.requestChat = function (reqID, destID){ trace("Requesting chat..."); currentClient.call("requestWaiting", new reqHandler(), reqID, destID);};
...
(Where reqHandler is just some handler that I know gets called).
- I've also tried the following code outside the onConnect function:
Client.prototype.requestChat = function (reqID, destID){ trace("Requesting chat..."); this.call("requestWaiting", new reqHandler(), reqID, destID);}
Both seem to fire appropriately (when triggered from another client). However, the "requestWaiting" method call to the clients doesn't seem to work at all. I've tried some AS 2 examples on the client side, like:
nc = new NetConnection(); nc.client = new Object();
// function for handling queueing of requests for this station nc.client.requestWaiting = function (reqID:String, destID:String):void { trace("HELLO"); // check to make sure this is the right location, and if so, queue it if (destID == "WhateverTheIDIs") { chatQueue.push(reqID); btnChatWaiting.visible = true; } // if }
...but that doesn't seem to fire at all. I know the Flex has "sealed" the NetConnection class itself, so I can't just "extend" it as I do the "client" property.I've als tried some more AS 3-oriented stuff, like trying to make the "client" property reference a separate class that handles callbacks, but that doesn't work easily for me as I need access to properties in the class that contains the NetConnection.
View 2 Replies
Dec 13, 2010
Seems like sometimes when Selenium should call a certain method, it instead calls another, as pointed out by the following log
[Code]...
I've tried both Selenium server 1.0.3 and the 2.0 alpha 7 versions, they both display this behaviour. FlashSelenium is involved so I'm not sure where along the way lies the bug. Furthermore it's hard to reproduce as it doesn't happen only for some methods, and doesn't always happen.
I've tried searching for issues similar to these but couldn't find any remotely similar... Anyone experienced the same behavior? And if so, is there a fix for it? Edit: I doubt FlashSelenium is at fault for this, as the log tells that the command arrives correctly at the server... But I can't seem to be able to follow the path of execution from the moment the Selenium server gets the command and passes over to the browser, to the moment where it gets the response.
View 1 Replies
Aug 18, 2011
I just went through a slideshow from Grant Skinner on improving performance of ActionScript. One tip he gave was written as, "Call methods directly instead of through a reference." I don't quite understand what this means.Does is mean to avoid making a function call to a variable referencing a function object?[code]Or do avoid making a function call to a variable referencing another object, which possesses that method?[code]
View 2 Replies
Dec 14, 2009
Hypothetically, I have a movieclip menu that's created using a class menu.as at runtime. When I instantiate that class on the stage of the main swf, how would I go about telling that stage what to do on a specific click? For instance, if I click button1 on the menu, how do I tell the stage to turn random_object's alpha down to 0?
Important note - buttons in the menu class are loaded dynamically, and there is no way (that I know of) of binding them specifically to event listeners on the main swf stage as in "menu.button1.addEventListener(...)". To summarize my question - how do I control the main stage from within a movieclip, without assigning eventListeners on that main stage?
I have managed to make it work using this method: Inside the class, I add an event listener to each button. On CLICK, the button calls e.currentTarget.root.desiredFunction() where desiredFunction is the function on the main swf stage I want to run. Is there a more efficient or clean way of doing this that anyone knows of?
View 6 Replies
Oct 27, 2010
-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?
View 6 Replies
Dec 7, 2009
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.
View 2 Replies
Jan 31, 2010
I've got a class (say ButtonBase) that extends MovieClip. ButtonBase has a method that names it ((this.)name = 'bb1') and adds it to the MainTimeline. Now I can see my extended ButtonBase MC on the MainTimeline. And if from a frame I write trace(this['bb1']), it returns an instance. The problem is that the instance is not recognized as an instance of ButtonBase. Suppose ButtonBase has another method, say testMethod(). Well, if I trace(this['bb1'].testMethod) from a frame on the mainTimeline, it returns undefined. If I trace(this['bb1'] is ButtonBase), > false I can attach a fla if you need it.
View 3 Replies
Nov 22, 2010
How do I write my class so it passes all of its functions/methods to the calling movieclip? For example, the following code imports my graphics class and creates a square:
ActionScript Code:
import sprites.vectorGraphics;
var vGX = new vectorGraphics();
var newSquare = vGX.createVector(this, 'square', 'rectangle', 20, 20, 0xff0000, 1, 0x0000ff, true);
That I'd like to be able to do is this:
ActionScript Code:
import sprites.vectorGraphics;
var newSquare = createVector(this, 'square', 'rectangle', 20, 20, 0xff0000, 1, 0x0000ff, true);
View 3 Replies
Jun 16, 2003
I'm working on a Flash MX application which involves a Parent movie and a Child movie.
I've loaded the Child movie into the Parent movie using LoadMovie. The instance name of the Child movie is Child1.
In the Child movie I have a user-defined function called getChildXML (we don't need to get into more details about the function).
The point here is that I want to call the getChildXML function from the Parent movie. I've tried something like Child1.getChildXML(); but with no luck.
View 4 Replies
Jul 4, 2010
I have a class (Wall) that inherits from Sprite.Sprite already has width and height properties. But for wall, I need to do some other additional calculations when the properties change (f.e. make sure the new size won't cause it to overlap any other walls).So, how do I set the width property inherited from the Sprite class from within the width setter of the Wall? (or perhaps there is an alternative way to do my bounds checking whenever width is set?)[code]
View 1 Replies
Aug 17, 2010
There's a Loader that I'm filling with different images depending on the button clicked. Now to keep it tidy I'm using the exact same loader. The problem is that no matter what I do to the image, the next image loaded always get's the properties of the previous one. I've used unload and the Loader returns 0 in width and height, and still the next image get's the previous image's w/h. Othe attempts have been separating it from the parent container and taking it out of the display list, and also using an Event.UNLOAD to make sure the previous image is out before the loading of the new image.
Script is gonne kinda long, but the basics would be these,
BrowserLoad.unload();
BrowserReq = new URLRequest("ImageB.jpg");
BrowserLoad.load(BrowserReq);
[Code]....
I guess it's general question: how can i be sure the image previously loaded in a Loader will not affect the next one coming? (its width and height being 0 has not been enough...)
View 2 Replies
Dec 22, 2009
i want to use alpha on a nested object where the hole object act's as one unified element.
i have a main container (sprite) holding some sprite objects with more nested sprites inside them (typical layout structure).
when i use alpha on the main container, flash set all Child objects to the same alpha resulting in an "overlapping" effect rather than one unified object
how do you override the alpha inheritance of a displayObject.
im already setting the cacheAsBitmap to true with no result. my last idea to fix this would be to, precalc the end result, create an bitmap object and position it correctly, hide main container, do the fading, remove image object and set original main container to alpha=1;
View 4 Replies
May 20, 2011
I am iterating through aChildObject which extends ParentClass. however the props from the parent aren't showing up.
View 4 Replies
Jun 11, 2009
Is it possible to change an inherited variable's type?I have a class, Switch, which defines a Boolean variable, _currentState. I then have a class, VariableSwitch, which extends Switch. I would like to redefine the variable _currentState as type int.
View 3 Replies
Aug 5, 2009
Override seems to completely replace a function's code.s there any way to "append" to the superclassed function instead of replacing it?i.e. - so that both traces show in this example:
Code:
package {
public class Top {
[code]....
View 5 Replies
Feb 15, 2012
Sorry to bother you with this thread, because I'm sure it's pretty obvious, but I can't see through it.
With this following code, I can't access the visible property of the Sprite class...
[Code]....
View 5 Replies
Jul 14, 2009
I was wondering best practices for views of inherited classes in PureMVC in this situation: Multiple classes inherit a BaseClass (lets say InheritedClass1 and InheritedClass2) Each InheritedClass has a respective view (derived from a base view class, but each unique) With a given dataset (lets say ArrayCollection of InheritedClass1/2 Objects), the respective views need to be dynamically loaded. The dataset is relatively large, so a TileList would be nice (since it only instantiates objects which are currently displayed) I can think of a couple solutions, but I find them to be too "hackish" to be the best solution:
In View: Repeater over a BaseClassView which attributes a view to a State (set to the "InheritedClass1" state to add a InheritedClass1 object) Pros: No unneeded memory increase (States' objects are instantiated when needed) Cons: View is dependent on the data types, so adds coupling In Mediator: Loop over the ArrayCollection and addChild() the views based on data type Pros: Works. Cons: Mediator is adding things to the View, which defeats the point of the separation of Mediator and View. Slower than a Repeater.
View 4 Replies
Mar 24, 2010
I made a document class for a project that is similar to this:
package{
public class test1{
// stage assets : these are all objects that were put on the stage in CS4
public var object1:MovieClip;
[Code].....
It seems the inherited class does not want to access the objects on the stage. Is this correct?
View 8 Replies
Sep 16, 2002
I have got to update one of his jobs.It's a set of images that scroll left and right with the mouse and scroll to the left when first loaded, also they enlarge when moused over, oh and they are buttons (this whole 'idea' was thought up by the client with a "I want it to do this" statement), and the code is a right mess.
All I have been asked to do is add an extra image, but I have added the image and the whole thing has broke. With some large gaps being added within the images.Can someone have a look at it and see what's going on, Alternatively i there is a better solution to get the same result (There has to be this looks like some sort of mash of various bits of other code).Links: Ziped FLA, SWF & current live site (about a third down the page next to "chose your favourite sport")
View 14 Replies
Aug 11, 2010
So I inherited a website which uses actionscript to present a series of photographs in a slideshow. I do not have any sort of grasp on actionscript.where in the following script the SPEED of the slideshow is controled? I need to slow it down.this._lockroot = true;
stop();
_root.pathToPics = "advertising_big/";
// fill this array with your pics
make a button to load an input text field for email addresses
View 2 Replies
May 5, 2010
I have the following code:
package { import flash.display.Sprite; import flash.events.MouseEvent;import lib.CustomEvents.ItemLoadCompleteEvent;import lib.Room.Item;import lib.Room.ItemStruct;
public class DragTest extends Sprite{private var itemInstance:Item;public function DragTest(){var tempItemStruct:ItemStruct = new[code].......
I have used the same code with a normal clip and it works. When I use it with my own defined item it does not work. Here are the details.
itemStruct: containing the properties of the item to be made. item : Loads the itemstruct defined item and puts it in a movieclip (item is inherited from movieclip).Traces from the above code, show that only the mouseUp function works mouseDown does not work. Though the same code works fine for a simple movieclip.I have already tried
stage.addEventListener(MouseEvent.MOUSE_DOWN,mouse Down);
EDIT: I have tried put the mouseDown on stage again if I click outside the item and drag from stage it both mouseDown and Up seem to work. But If I click on the item and drag. Still no luck. I have also added the item as movieclip on stage.
View 2 Replies
May 5, 2010
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:
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
[code].....
View 1 Replies
Dec 26, 2011
Reading a book i stumbled on this example:
Here is the class:
package com.learningactionscript3.loading {
import flash.display.Loader;
import flash.display.LoaderInfo;
[Code]....
What I deduce from this example is that the swfLoader.contentLoaderInfo and _ldrInfo = this.contentLoaderInfo refer to the same object in the same memory location. So you may think: "well the last added event will overwrite the first one (the internally one added). But it doesn't. The two event listeners will respond sequentially. First the internal listener and then the external listener.
View 1 Replies
Feb 8, 2012
public class A extends B implements C {
}
Class B and interface C have the same member function nameļ¼not the same signatureļ¼.This code can't be compiled. How can I solve this?
View 2 Replies
May 5, 2010
I have the following code:
package { import flash.display.Sprite; import flash.events.MouseEvent;
import lib.CustomEvents.ItemLoadCompleteEvent;
import lib.Room.Item;
import lib.Room.ItemStruct;
public class DragTest extends Sprite
{
[Code]....
I have used the same code with a normal clip and it works. When I use it with my own defined item it does not work. Here are the details. itemStruct: containing the properties of the item to be made. item : Loads the itemstruct defined item and puts it in a movieclip (item is inherited from movieclip) Traces from the above code, show that only the mouseUp function works mouseDown does not work. Though the same code works fine for a simple movieclip I have already tried stage.addEventListener(MouseEvent.MOUSE_DOWN,mouse Down);
EDIT: I have tried put the mouseDown on stage again if I click outside the item and drag from stage it both mouseDown and Up seem to work. But If I click on the item and drag. Still no luck. I have also added the item as movieclip on stage.
View 0 Replies
Oct 31, 2008
error 1152: a conflict exists with inherited definition
Tried to do this simple task: Created 2 buttons classes: a base class (ButtonBase) and another button (Button2) which inherits fron the base class Created a symbol in the library for the base button : a rectangle with a text field named "label_txt" Created a second symbol in the library for the second button type : an oval with a text field named "label_txt" Linked the first symbol to the "ButtonBase" and the second symbol to "Button2"
[Code]...
View 6 Replies
Apr 24, 2011
I have an actionscript 3 library item, "BG", that is linked to the class BGClass. BG contains a Sprite that has an instance name, "bg" and likewise BGClass has a public bg property. So the class looks like this:
public class BGCass extends Base {
public var bg:Sprite;
public function BGCass() {
bg.width = 200
}
}
Everything works fine. But if I wish to move the public bg into the Base class like this I get the error.
public class BGCass extends Base {
public function BGCass() {
bg.width = 200
}
}
[code].....
I have tried using getter setters in Base and overriding them in BGClass and I still get the error. Is this a bug in Flash? Is there a clean solution or do I need to create some sort of proxy variable to finally get bg to Base? I know that turning off "automatically declare stage instances" in Flash will get rid of the error but I need to keep it on for the designers.
View 2 Replies