ActionScript 3.0 :: Use Objects As Buttons Inside Class?
Nov 9, 2010I`m using this script to instance some object inside class.
ActionScript Code:
for (var i:int = 0; i<3; i++){
var _minHolder:AdBox = new AdBox(i);
[code].....
I`m using this script to instance some object inside class.
ActionScript Code:
for (var i:int = 0; i<3; i++){
var _minHolder:AdBox = new AdBox(i);
[code].....
I'm having some trouble finishing an interface i'm working on,the function indica() adds a menu listing of items (indicadores) inside a mask because its too large, and i added a scrollbar that allows to scroll through the items but now i need to add the buttons inside the movie clip indicative,i can add symbols and buttons, but i'm having trouble having them call functions inside the same class that the function indica() is running.[code]
View 2 RepliesHow do I align a movieclip, which width and height is user-defined, inside another object (this one is static, though). Top-left alignment is easy, x=0 and y=0, but what about center, center left, bottom left, etc? Math(.round) i suppose, but how?I want an object (static) inside the movieclip (user-defined) to stay aligned to, for instance, the top right corner, similiar to the minimize, maximize and close buttons at the top right of your browser.. The height and width data is pre-defined by the user in another file.But that does probably not make any difference...
View 3 RepliesInternally Flash obviously keeps a list of the primitives drawn using Graphics so I wondered if you have many such primitives in a Sprite, can you re-position/remove/alter individual items rather than clear and re-draw everything? Or is this deeper into the bowels of Flash than you're allowed (or recommended) to go?
View 4 RepliesWhat I have is a game with a Level object, inside the Level is a Player object, and they don't have instance names given, what I'm trying to figure out is how to do is make it so that the player can change the x or y properties of the Level object.
To be more precise, I'm making it so that when the player moves in a certain direction, he either moves accross the stage, or he starts moving the Level object around the stage, it'd be in an Event kind of function, now I can easily make the Player move, but I don't know how to make the Level object move which the player is inside of.
I have question regarding removing instantiated objects. Let's say i have a main class in which i instantiate a custom video player (or whatever) class:
Code:
...
var videoPlayer = new VideoPlayer(...);
addChild(videoPlayer);
...
And inside VideoPlayer class i have of course dozens of objects (movie clips, sprites representing different parts of VideoPlayer) and dozens of event listeners attached to them. My question is, if i want to remove this VideoPlayer class from my main class is it enough to just do:
[Code]...
I have a class that represents a turret in the center of my screen.When I hold down SPACE, I want it to create a "bullet"-object that moves in the direction of the turrets cannon, every frame the SPACE key is held down. I am having problems with this cause I am getting this error when I am trying to create the object:
Error #1009: Cannot access a property or method of a null object reference.
This is where the error occurs:
ActionScript Code:
public function chaingun(x_:int, y_:int, rot:int, cd:Number, spd:Number, sprd:Number, life:Number) {
this.Cooldown = cd;
this.Speed = spd;
[code]....
PS: What happens is that when I press the SPACE key, the "turret" class event handler runs the function "Shoot_Chaingun" and that function creates a new Chaingun-object (which actually is a bullet), that inherits the x, y, and rotation of the turret, along with some additional varaibles, including lifetime. Then upon creation, I use "addChild(this)" to add it to the main stage, and "removeChild(this)" once it's lifetime is up.
EDIT: And also, I just realized I don't have a MovieClip linked to this chaingun class. How do I make sure that every time a chaingun object is made, the MovieClip is also loaded?
package{
public class Character{
protected var _hp:uint = 50; //Character Health Points
protected var _power:uint = 5; //Damage dealt
[Code].....
I`m instancing a Character and a Player in the Main Timeline, all in frame 1.
When I use: ""player.attack(character)"" it works fine by itself.
So I added the if (defender._hp <= 0) this.win() which gives me the following error:
1061: Call to a possibly undefined method win through a reference with static type Character.
"defender" is a Character instance, "this" is a Player instance and "win()" is a Player method. I try to call the Player method inside a Character method using the Player instance adding the "." and his method name
Do I really need to define the win() function in the Character class? Is there a bypass to use a subclass method in a parent class method if it`s called from an instance of the subclass?
Ok, this is one of those walls that I know once I can jump over it, I will be a much happier developer again.
I've done tons of reading, and think I have a firm understanding that the general consensus is that if you want to reference something, it needs to be added to the display list, using addChild().
I hate to be defiant, but what if I don't want to?
Or at the very least, what if I want to add a movieclip class to the stage using addChild, and then reference objects inside it?
It is much easier this way than what most people recommend - adding 15 objects via addChild, then setting the x and y for the, etc.
That said, I'm all about using classes and using as3 the way it was meant to be used. So what this is, is a best practices question I guess.
HERE ARE THE STEPS I'M TRYING:
- Create new flash document
- Draw graphic symbol bg, with text field over it, select them, convert to movieclip symbol, and export class name "box", then delete it from stage
- Add document class .as file, which simply adds that class "box" from the library, to the display list using a simple addChild()
- Set a name for that box using box.name = "test" let's say
- Do a simple trace like the following - "getChildByName('test').textFieldName" - it shows up great
- So then, I'll now try to set the text by doing this - getChildByName('test').textFieldName.text = "yo";
That last line above, is what doesn't work. I know I'm referencing wrong, but how would a pro as3 developer, reference something on the stage within a movieclip class, from the document class?
i have a BasicMap.as that takes an Array and populates itself with the MC objects passed to it by a String reference.it inherits from Sprite, and so it just places the objects on its self.then i have a class that inherits from that class, and gives a little more functionality to it, but in order for it to do that, it needs to place the objects not on itself, but instead inside a holder Sprite, so here is my problem:
code:
package Mushroom{
import flash.display.Sprite;
[code]......
I was wondering why my current code for calling a setInterval on a function doesn't work inside my class.I have this code inside one function, calling a second function.
intID = setInterval(selfReferential, dupe, 30, 0x000000);
The selfReferential keyword refers to the current class,but was defined previously (selfReferential = this; ).I get no errors, but the dupe() function is never called.and I had the selfReferential variable replaced with the this keyword at one point as well.
I want to know how to make class instances into listeners and broadcasters, from inside each class. Here is what I am trying specifically... part of the Proj class... (projectiles, as a matter of fact)
Code:
private function listen():Void {
u.register(this);
onUpdate = function(){
step(); // a function I have which makes the projectile move (not shown)
}
}
where "u" is another class, the Updater class with this code...
Code:
class Updater {
// const. --- make this a broadcaster
public function Updater(){
[code]....
PS: What is the syntax for using AS2 code tags instead of just "[CODE|"?
I am having a problem instantiating a Character class inside of a game class.I am working on converting URL...l these tutorials to A.S. 2.0.[code]
View 2 RepliesI have an enemy on the stage that reads whether it's being hit by a bullet by a hittest. There's a for loop inside the enemy's class that looks for all the bullets and names the bullet that's hitting it "hitBullet". What I'd like to do have an easy way of seeing what type of bullet is hitting the enemy. I'm basically looking for something like
if (hitBullet == RegBullet) {
//do regular bullet dying
}else if (hitBullet == ClusterBullet) {
//do clusterbullet dying
}
, where RegBullet and ClusterBullet are classes. But I have no idea what hitBullet is equal to when a ClusterBullet or RegBullet hits it. I traced hitBullet to see what it would return and got "[object ClusterBullet]", but I'm not sure what that would be in the actual code.
This is what i'm trying to do :
I have 1 class that extends movieclip, let's call it Class0. I have 1 class that extends movieclip, let's call it Class1.
I create an instance of Class0 on stage like : var myClip0:Class0 = new Class0(this, "Class1");
The class Class0 when initializing, will create a new movieclip (myClip1) and add it as child, as an instance of Class1, like myClip0.myClip1. But it's when i create that clip, i want to tell it, it's an instance of Class1, like :
private var myClip1:Class1 = new Class1(this);
Where Class1 could be any class.
How do i pass Class1 to Class0 so it can create it dynamically?? Do i have to use the apply function??
inside Class0, i have a function that does :
Code:
if(subClass){
initSubclass(subClass);
}
[Code].....
Performance wise, is it better to instantiate inside or outside the constructor?
Code:
public class example {
private var _mc:MovieClip = new Movieclip();
[code]......
I have a MovieClip symbol created with flash in a fla file library. There is a textfield in frame one of this movieclip's timeline . There is another frame in the movieclip timeline. There is a custon class definition for this symbol. It is a flipping card in a memory game.
I access the textfield by going to frame 2 (gotoAndStop(2)) and setting the textfield's text property ( this.field.text = "hello" ). However if I go to frame 1 and then return to frame 2, the text becomes the original one in the library's symbol. I have to modify the text propery again in a showFace method I've written.
Besides, I cannot pass parameters in the constructor because it is a symbol in the library and that would give errors.Is there a way I can set properties inside frames permanently?
I have a syntax problem using Actionscript. Can I create new objects from inside an ArrayColletion ?
var tagsList:TagsListModel = new TagsListModel(new ArrayCollection([
{new TagModel("News", 36, yearPopularity, false, true)},
{new TagModel("Information", 18, yearPopularity, false, true)}
]);
This is the error I get:
1084: Syntax error: expecting colon before rightbrace.
I've never actually fooled around with 2d arrays that much. What I need is to access an array and get all the objects inside of it. I actually mocked up a little something to mirror what I want.
ActionScript Code:
var arr:Array = [[{name:"Hat", price:"34", url:"http://www.google.com"},
{name:"Scarf", price:"38", url:"http://www.yahoo.com"},
[code]....
I don't have any trouble getting the data, but as you can see that it's pushing each object separately in an array. So it would look like this: I just need to get all of the objects first like {obj}, {obj}, {obj} and then push them into an array.
I've got 4 arrays with 14 objects each:
player1[]
player2[]
player3[]
player4[]
How could I trace all the objects inside 2 fors? How is the right syntax ? The following obviously is wrong:
Code:
for(var i:uint=1;i<5;i++)
{
for(var j:uint=0;j<14;j++)
{
trace((player+i)[j].cardType);
}
}
I understand this, _parent keywords and its usage but I don't understand the following:
MovieClip.prototype.move = function() {
function toRight() {
this._x=50;
[code].....
I have some data (preferably objects, insteads of string) in the flash which I want to store as table format. So that I can query them. It is not datagrid as I do not have to show them. Currently, I am use "xml class" because of the query function. However, "xml class" cannot store objects.
View 1 RepliesI´m starting to learn flash cs5 a couple hours ago. Currently i´m learning how to use layers. Imagine that I put a rectangle and an elipse inside layer 1. Then I create a new layer with a photo. How can I see the list (root) of objects that are inside each layer? I know that I can use the outline color to visually identify them but is it possible to see the objects as a root?
[Code]....
So I've got problem with some drawing objects inside movieclip in my flash file... Setting width and height of flash to match browser's w&h got my movie clip to get correct values, but unfortunately drawing objects inside of it are not scaled as movieclip. Those object are just random stripes that got some tween on it acting as somekind of preloader... All graphics are pulled from ai file, so no AS was used to manipulate them, just pure tweening in design mode...So if my stage w & h are lets say 720 x 50, graphics inside movieclip are 1600 x 900 which match my monitor's resolution.
View 1 Repliesi have many squares inside a movieclip, and i remove random some of this squares, what i need id: get the real with and heigth of my movieclip, after the squares are removed, i do a little exemplo, and anexed here,
[Code]....
Has anyone successfully used hitTestObject on objects that weren't on the stage?
I have game code that works fine when the objects on are the stage, but replace "stage" with "this" (the game object that covers the whole stage) and it doesn't work.
the red ojects works nice i made another objects inside a movie and it has the same instance name and actions, but does not work
View 3 RepliesI know that I should use pythagore to calculate the distance, but I need to calculate distance between 2 objectfs that are contained within 2 different movie clips. Something in the line of :
xdist = Math.round(follow.p1._x - photo1_mc.p1._x);
ydist = Math.round(follow.p1._y - photo1_mc.p1._y);
distancefromthis = Math.round(Math.sqrt((xdist*xdist) + (ydist*ydist)));
But distancefromthis contains always the same value, maybe it's because _x is calculated within the movie clip, so I need to find the photo1.p1._x in the stage.
i have a problem accessing the objects present inside an array.
For example,
var array:Array=new Array();
var obj:Object = {};
var int a=1; var int b=1;var int c=1; var int d=1;
[Code]....
Later I am able to get the array length but how can i get the values inside the objects??
One more thing is i am sending this array to php so how can i access the object values inside an array in php.
Does removeEventListener removes all objects inside it completely?or we need to seperately equate objects to null
View 3 Replies