ActionScript 3.0 :: Deriving From Sprite As Oppose To Leaving It As MovieClip?
Nov 29, 2011
I needed to group some simple geometries into a symbol in order to use it for hitTesting; And I think making them to derive from Sprite class is be better in performance than leaving them as from MovieClips? But then I have no need for setting them "export to ActionScript". exporting to AS and derive from Sprite, or just leave them as MCs ?
what i mean is, is there a way in AS3, or in programming in general(php, js etc) to make an event fire/activate "WHEN" something does something, as oppose to an if/else if / else statements ? for example, say i want to make an event fire /activate ONLY when a frame label is hit, and thereafter , do something else etc, essentially making it do things one by one down the line according to WHEN certain objectives are met.is there a "when" type of statement etc that will do this as oppose to if/else if etc???
for example, using the above example, instead of me doing something like this:
I'm trying a shooting game from an incomplete tutorial online. I'm trying to finish it off myself and hopefully learning more in the process but straight away I've hit a brick wall.The stage is 900 x 350. Bullets are fired from a turret near the center of the screen and will travel and eventually leave the stage at some point. I want to remove the bullet from memory and the display list once it has left the stage and can no longer be seen.I'm using a conditional if statement to check the x and y position of the movieclip, and if it outside the width or height of the stage then I want to remove it completely.
What AS should I use to make an object wich is a movie clip appear into the stage? I have this action: on(release){ something._x = -1000; something._y = -1000; } But using it the object just appear, from nothing and I want it to appear from a initial position....
My code is simply looping through an xml file and creating 'pages' (which are later animated).
This has all worked fine but now I want to add a sprite over the entire contents of the page if the contents of the xml contain a URL.
At run-time I can see that the checks for the URL are being processed correctly and that the overlay is being generated, but I cannot "see" it on the page.
The following code is located in a for loop for every page in the xml file:
var page:Page = new Page(); //MovieClip in my library // ... other stuff var textMC:FadeText = new FadeText(xml); //load the text from the xml fragment for this page
[Code]....
I now believe it is something wrong with the XML. It is correctly parsed XML (otherwise FlashPlayer would throw exceptions in my face) and it appears that this code works on every page except the second. Further more, if the second page is set as visible (a flag in the XML determins if the page is created or not) then none of the other pages overlay works.
What is the difference between a movieclip and a sprite. Why some programmers using sprite instead of a movieclip? What is the advantage of using sprite? Can we use sprite in the stage? Will the sprite reduce the space occupation than a mc?
I want to send a string to a function and then, via the string reference a Sprite. Are theire any other ways to adress a sprite with a String value?I thought this[myString].alpha = 0.5; was gonna do the trick but i keep getting (1010: A term is undefined and has no properties.). I tried every possible solution it feels like. Delaring Strings locally and Global...but i can�t get it to work. And the String is well spelled btw![code]
Creating an application for a client and figured now is a better time than any to make the jump from as2 to as3. I've read many articles and books to keep up to speed but I get constant errors everytime I add or change something. Its becoming beyond ridiculous and rather than searching another unrelated google result, I thought I'd post something here.
I'm working on a pause function for my game. Instead of manually writing code to pause all possible animations that a movieclip has, I wrote a function that runs through its children recursively until it reaches the end. For each child it checks to see if it's a movieclip, if so it will run a stop() on it. This works fine, except that I noticed it wasn't pausing my walk cycle.
Upon some investigation I found that while I created the walk cycle as a movieclip, it is recognized by flash as a sprite when the game is actually loaded. This does not make sense because the walk cycle clearly has more than one frame. Adding any kind of code to the MovieClip will stop flash from seeing it as a sprite, so to fix this I can just go into the animation and add '//' to any of the frames.
Code: public static function togglePauseChildren(curObject:*):void { if(getQualifiedSuperclassName(curObject)=="flash.display::MovieClip") { if(curObject.numChildren>0) { for(var i:uint=0; i<curObject.numChildren; i++) { var curChild:* = curObject.getChildAt(i); [Code] .....
How do I reference MovieClips or Sprites created in the Document class from a custom class?[code]But I have a lot objects I want to reference so using the above method would take to long.I know I can do this to reference a MovieClip on the main stage from a custom class.[code]Would referencing the sprite created in the document class be similar?
I've googled out a lot of different stuff on this matter but nothing seems to work. I have a Sprite object which is used as a main container for other objects.The lowermost child of this sprite is a Bitmap which represents a background, the upper ones are MovieClips. These movie clips contain bitmaps. There are also DropShadow filters applied to these movie clipsThe problem is that when the main container moves, e.g. 1.3 pixels to to the right or to the left (doesn't matter) all those objects (movie clips contained inside of it) move like they snap to pixels. Well,it's obvious, they do. But is it possible to avoid pixel snapping for movie clips and sprites?I tried to set pixelSnapping of the bitmaps inside those MovieClips to "never", but it doesn't work. Removing all filters or drawing movie clip to bitmapdata doesn't help either.
how to animate a simple sprite for the 100th time, I hope I might found I more specific, and better explained answer to my problem. I'm trying to make a flash game, of course, and I want my main Player sprite to be able to play multiple animations based on specific input. So, a running right animation, a running left animation, a jump animation, and an attack animation.
I have a program that dynamically draws a polygon wherever the user clicks on the screen. (using lineto, moveto) However this polygon is always behind the other symbol objects on the screen even though its added last in the childlist. Is there an issue with depth when drawing symbols vs. drawing with lines? How can I ensure my dynamic object will display in front?
Is there a way to add text programmatically in as3 to a Sprite or a MovieClip without using the class TextField
TextField inherits from InteractiveObject which is kind of heavy for what I want to do: just display text (i.e. I don't want to interact with the text).
Note: I'm aware that there is a property selectable to make the textfield not selectable. This is not the point.
What more can be done if I extend MainClass with MovieClip rather than Sprite. I know that MovieClip extends Sprite and it has Timeline defined under it. But still how it will be usable to me by MovieClip ?
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.display.MovieClip; import flash.text.TextFieldType; [Code] ..... How to use Timeline if I replace Sprite by MovieClip ?
How do I make a clone of a Sprite or MovieClip at runtime? So that if I make changes to the copy, the original remains unchanged.
And you can turn any Sprite or MovieClick in a class? So that I can create instances of this class (using new) and thus create copies of the display objects.
I'm coding games that come with the graphics done. Unfortunately the designer has some bad practices, such as not using Sprite symbols - never. And the files have dozens (even hundreds) of symbols in the library, very few of them with any animation. I would like to re-brand such symbols as Sprite to save some CPU (and maybe even kB), but my graphics-related skills are very low. Where should I start? Check and convert the symbols at authoring time or it's possible to do this at runtime? Can I effectively convert a MovieClip to Sprite (I'm guessing casting to sprite won't help much) or another light image type?
Is there a way to detect the type of a DisplayObject with a switch case statement?I noticed that you can check if the displayobject compared to the type returns true or false.
Trace(mydisplayObj is Sprite); //return true or false Trace(mydisplayObj is MovieClip); //return true or false
But isn't there an option to get the type of the displayObject directly?
like, switch (typeof(mydisplayObj)) { case Sprite: break;
I performed a benchmark test memory consumption by three DisplayObjects - MovieClip, Sprite, and Shape.
Below are results and method used. I just wanted to create instances. Test with adding instnaces to display list showed a slight difference in terms of memory consumption.
Observations: Sprite uses from 16 to 22% with average 18% less memory than MoviClip.
Shape uses from 42 to 55% with average of 46% less memory than MovieClip.
Shape uses from 32 to 42% with average of 35% less memory than Sprite.
test.fla's document class is Test.as test.fla's library has two MovieClips ThingMovieClip and Thing2MovieClip
I tried accessing the Thing.as public var thingState's property;
directly,
using something called Casting (??),
assigning an instance name,
but something that seemed so simple doesn't work,I commented the errors I got next to each way I tried,conversely how would I access the MovieClip Thing2MovieClip from Thing.as (which is a child of Test.as because that's where it's instantiated), it just doesn't recognise an object of its parent exists, here are the 2 classes:
I think i'm missing some basic but fundemental understanding of ActionScript 3 and I have no other knowledge of other scripting /programming languages either.when I follow tutorials exactly they seem simple enough, but then start applying what I think is logical usage then it throws up errors..
I created two empty Sprites to serve as layers, bottom_spr and top_spr. When clicking a button, a MovieClip appears and follows your mouse, until you click, then its position is fixed. As soon as the button is clicked, I addChild the MovieClip to the correct Sprite. Unfortunately, the layer system doesn't see to work, because they are layered in the order I place them, the Sprites don't seem to influence it. How is this possible?
private var ground_spr:Sprite; private var units_spr:Sprite; public function Game() { addEventListeners(); ground_spr = new Sprite(); [Code] .....
how to swap the sprite instance for a movieclip via the document class.
this a boid example from soulwire, and works great but i want to use a library clip instead of the vector sprite - for arguments sake - the library clip would be "boid"...
[Code].....
but am not able to work out what i need to add/edit...
I want to be able to change lines thickness/color for sprites/movieclips created in Flash CS in ActionScript code. Is it possible to achieve this kind of functionality?