Actionscript 3 :: Use Case For ActionScript Dynamic Classes?
Aug 3, 2010Could anyone give me a good use case for ActionScript dynamic classes? Because it really looks like a bad pratice, for me, in every case.
View 3 RepliesCould anyone give me a good use case for ActionScript dynamic classes? Because it really looks like a bad pratice, for me, in every case.
View 3 RepliesI have some trouble with the conversion applied by BlazeDS to the name of the properties when this name begins with a lower-case letter followed by a capital letter. I have an ActionScript class similar to this:
[Code]...
What I'm trying to do is create a program that, depending on 2 variables, multiplies another variable by a static number. Heres the code I have so far:
[Code]...
I want this on an MC:
[AS]
i = 0;
switch(thing){
case 0:
[code]....
Basically what I'm wondering is, will I lose the value of i in the first switch once I'm out of the switch? Can the second switch read the 1st switch?
Im trying to create a program that, depending on 2 variables, multiplies another variable by a static number. A friend suggested I use case/switch instead of if/else statements,which is what I was using before.
[Code]...
Been trying to make the transition from AS 2 to 3 but not without it's speed bumps. My first major hurdle has been trying to dynamically reference a class by only knowing it's name. I came across the code of import flash.utils.getDefinitionByName; but that's not working for some reason. It keeps giving me the error:
Quote:
ReferenceError: Error #1065: Variable characterType5 is not defined.
My code in getting this is:
PHP Code:
import flash.utils.getDefinitionByName;
var className:String = "characterType" + 5;
var tempClass:Class = getDefinitionByName(className) as Class;
var char = new tempClass();
I'm building an application where it would be sweet to use dynamic instantiation of Classes.I'm using "flash.utils.getDefinitionByName" to get this done and, if I instantiate the Class in my code once, there is no problem at all.But, I want to be able to do this without instantiating the Class at least once before I go with the getDefinitionByName method.I'm using Flash Develop and the Flex SDK, coding with pure AS3.Is there any way to instantiate the Classes only dynamically?Or, any alternative to the getDefinitionByName method?
View 7 RepliesI really like the fact that dynamic features are available in Flash, despite their slowness.With that said, is there any way to "auto detect" when a new property is being added to a dynamic class?I'd like something along these lines:
Code:
public dynamic class Detector extends EventDispatcher
{
[code].....
if I create a new AS3 file with the following code:
Code:
function createArrays():void {
for(var i:uint=0;i<3;i++){
trace(i);
[code]....
If I set my document class to tst.as, remove all except the last line and put the following in a tst.as file:
Code:
package {
import flash.display.MovieClip;
import flash.events.*;
[code]....
or are there functions you can't build in external as but you can in the IDE?
I have four movie clips in my library that are defined as classes: Option0, Option1, Option2 and Option3. I have four buttons that pass a different value from 1-4 to a function. I want to add the clip to the display list that relates to the passed value. In AS2 it would go something like:this.attachmovie["option"+currentVal, "newOption", this.getNextHighestDepth()];
View 3 RepliesI'm making a program so that you can plug in your birth year and get some basic information on what Chinese year you were born in (Year of the Dragon etc).I created a class, linked it to an MC and looks like it is creating everything okay but the input text is definitely buggy.I can input text at the top of the stage but not in the actual text field.I have spent a lot of time on this and am completely clueless as to what is bugging this thing out.I guess I am not declaring something properly but I've had my TA take a look at it as well and she cannot figure it out. [code]
View 1 RepliesI have this code in my class but I get undefined from the trace. I also tried "this" or "_root". I cheked the value of "step" but it is defined.
ActionScript Code:
public function storeTr(step, I, I_LVL, BOX, ANS, ANS_DUAL, RT, EXPOSURE, N_MOVES, N_OTHER) {
var obj:Object = new Object();
[Code].....
From what I hear, getting/setting dynamic properties is a lot slower than regular properties.
But does allowing a class to be dynamic slow down the entire class for regular property getting/setting?
For instance, let's say I have this class (pretend those properties have setters as well):
Code:
public dynamic class Hero
{
public function get endurance():int
{ return _endurance; }
[Code].....
Obviously, calling and setting the "magic" property will be a lot slower, but will all properties become slower to get/set just because the entire class is set to dynamic?
Is it better to not set the entire class to dynamic, and instead create a new dynamic object, "additionalStats" where properties can be get/set to instead?
I've been trying out small snippets of code just to practice with and get comfortable with making classes and small games.Right now I am trying to make a simple combat with Orks. Where there is a Parent Class ORK with several ORK children classes like SentryOrk, MetalOrk, etc.
The Ork class basically puts in the many stats used by the ork such as health, strength, vitality, special, luck, etc. And then the children classes modify those like Sentry Ork will have less health and more luck.I did all that fine, but the problem I have is I want there to be multiple Sentry Orks out with their own defined stats.Right now whenever I do initiate the attack one out of three orks on the screen, they all share the same health.I know what the problem is, I just don't know how to go about dynamically making each class their own?Do I have to make a whole other class to bring them onto the stage with their stats like create a new class that handles all ENEMY POP UPS? I don't see how to do that either?:
[code]...
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.
The sound I wanted to stop or play are separates into background music and button sound effect. I know you could use SoundMixer.stopAll() to stop all sound, and some how exclude the bg music, IF everything is written in the same class. But what if the sounds are called from others dynamic classes? How could I target them and exclude the bg Music?
View 2 RepliesHow do you preload dynamic classes which loads its own content? cause theoretically speaking the classes doesn't have a size yet until it loads its content right?
View 1 Repliesi'm trying to learn about clases, and i tried to make an easy XML loader, but i gotta a problem with the attributes that doen't take the value i provide with the att variable. it shows me on the trace statement like undefined, and for example if i change the atrribute instead of being dynamic, to be static, it does work.
Code:
class XMLS {
function XMLS(Path:String, textfield:TextField, att:String, n:Number) {
var miXML:XML = new XML();[code].....
I created the code below which works as it should using the main timeline actions in AS3 - now, for my project I need this to work in AS3 using class files (basically I'm creating an app which uses pages as class files. This is intended to go on the 2nd page.for some reason though when I've copied it into my project and instantiated it when the page loads, even though all traces say that the squares should be there - they are not! The best I've had so far is one square in the final position![code]
View 0 RepliesIs there any way to auto-import as3 classes (internal/intrinsic Flash Player classes at least) using Emacs ?
Looked for as3-mode and actionscript-mode but nothing working was found. as3-mode can import class if it is opened in buffer (but not *.mxml files)
The examples I'll use don't do anything - they're classes without ANY members - no variables, methods, anything.
Let's say I extends Sprite and call it MySprite.
I save it in test.core
[code]...
Now I create another custom class called MyWindow that extends MySprite.
I save it in test.windows
[code]...
Then I create another class that extends MyWindows (the example I'll use is a document class - but that doesn't matter - I've tested using an instance too).
[code]...
Notice that I'm not even trying to instantiate the helper classes - just having them there throws the error.
If there is only a single helper class, everything runs fine.
Also note that - as far as I can tell - this only happens when extending one class from another package, then extending that class with more than one helper object.I'm pretty sure there's no namespace bumps or typographical errors, as this is a very pared-down version of the original application.
EDIT: seems the problem exists even without the crossing packages - even extending MySprite in the document class with multiple internal classes generates this error.
I am creating a library in AS3. Inside the library I make use of a bunch of classes/packages that need not be exposed to the end user of my lib. I want to only expose one of these classes.
I guess my questions are:
1) How are libraries commonly distributed in AS3?
2) Is there a .jar equivalent in AS3 that developers can include, but will only have access/knowledge of the classes I've declared as public?
I have an actionscript project which uses visual symbols from an SWC. I have a CheckoutButton which has the following class associated with it (compiled into the SWC in Flash CS3).
[Code]...
I'm trying to import a class from a class that is located in another folder. How do you move up a directory? Using./ or ../ doesn't seem to work. Essentially I want to access a TweenLite Class but not from the document class. My class is at com/myName and the class I want to access is at com/TweenLite. import ../TweenLite doesn't work... I realize I could just copy and paste the entire Tweenlite folder again, but there's got to be a less duplicative way of doing this..
View 2 Repliesinheritance and building classes from other classes.
I have 3 classes:
gfxRoomText - changeable colour
gfxRomInter - changeable colour - interactive
gfxRoomImg - interactive - only image / no colour
The first two incorporate the same text field and functions to change colour. The second and third incorporate another class to interactive with. What is the best way of creating these classes using inheritance and how?
I have to use many custom classes for a project, each class includes lots of elements(methods,properties) and I generally forget their names when coding. Is there any editor which I can enumarate the elements of my classes after pressing "." like Flash's built in classes?
View 8 Replieshow to pass one class that holds all my math for a betting game though all my other classes that hold the pages.
View 2 RepliesI am new to classes and I am just starting to follow tutorials on how to assign classes and sub classes and I am wondering when you assign a base class or class to an object(Symbol e.g movieclip) through the properties, are all instances on the stage no matter how many and what they are named influenced and is the Stage/main timeline always the parent? and just one more question, is the parents objects display list all the movieclips that are used on the stage or all the instances on the stage?
View 6 RepliesI am not sure how to import multiple classes into an AS3 class. Also I am bit confused on how "package" works now.[code]
View 2 RepliesI created a dynamic text box and gave it the instance name "body" however i loaded the text from an external source using one of my classes. how do i reference the dynamic text box on the stage from my class???
View 3 Replies