Flex :: Objects Drawn By Flash Graphics Class Exist As Objects?
Jan 16, 2011
Internally 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?
Does anyone have any knowledge (preferably with links to make it official) about how/if Flash/Flex culls objects not in view, to stop them getting drawn when not needed? A specific cases: I have an 800x600 panel (a Canvas or Sprite, or other container) containing loads of Sprites representing individual game objects like asteroids or spaceships or missiles or map-tiles. The game world might be 5000x5000 so can I naively position Sprites anywhere in this range and let Flash cull them effectively? Or do I need to manage visibility somehow at a higher level (like manually removing them from the parent) to avoid performance issues?
I'm using Flash CS3 to build a simple drawing application. When the user clicks a button, they select a particular movieclip. After clicking elsewhere on the stage, the clip is instantiated and added to the stage at the position of the cursor. I've also added the option of being able to click on the added clip and drag it around on the screen. And this all works fine.
The problem is that I also want to be able to dynamically draw and add objects to the stage via the Graphics class. Whenever I add objects in this manner, their x and y coordinates are always 0,0 no matter where I place them on the stage. This makes positioning these graphics very very problematic. I created a modified positioning function specifically for these dynamically drawn graphics and while it does "work", it feels less responsive than the positioning for movieclip objects. I'm still trying to optimize this function, but it seems to me that the ideal solution is for the graphics to have non-zero coordinates when placed in the middle of the stage like movieclip objects. Is there some "workaround" to achieve this?
I'm playing with Open Flash Chart. Take a look at this chart: [URL] As you can see, the rounded dot points look ugly. Some of them are more rounded, some of them less, they don't look the same, as they should. I don't know AS3 and have no idea what is the case. I checked the source code:
I'm in the process of making a board game in Flash; as part of process of getting fully to grips with Flash AS3.
I have a JPEG of the original board. This contains ~ 1000 circles that players may move pieces between. Pretty standard board-game stuff. The circles are not in any way regularly spaced.
So far, I've drawn the circles in Flash, by hand, and positioned them where they need to be. This looks great - I can see all my places.
What I want to do now is create these circles programatically. I want to be able to do this so I can adjust how the spaces look (depending on game state). Eventually I'll want to be able to zoom / pan the entire game board as well.
My question is, is there a way of tagging each circle with a unique reference and then looping through and recording locations?
I'm thinking something a bit like the Javascript DOM "getElementsByTagName" or similar.
At the moment I can only see two options:
Convert each circle to a symbol and give it a unique class name so I can access it from code Go through and write down the X/Y of each circle (add to my DB of board locations that I already have) so I can plot them programatically
I have a whole bunch of objects that are linked to the collisionDetect class but when I move from frame 1 where they are on the stage to frame 2 the class starts freaking out wondering where its objects went.
What 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 want to duplicate objects that users have drawn. I set up a pencil class and added those drawings to a container. I tried duplicating the container , which worked, but did not duplicate the drawing. Only the container. I know I'm missing some vital piece of information here.in DOC class:
Code: public function Seed():void{ grow1.addEventListener(MouseEvent.CLICK, onGrow, false,0,true);
I'm using Zend AMF to send my remote objects to Flex. I've defined a Constant class and created getASClassName() method. Then I've created Action script class in flex.
Objects are send successfully, but they are deserialized to generic Objects in Flex instead of specific ones. EDIT: On network monitor in Flex I can see that AMF value is set to com.my.project.valueobjects.Constant. Although array from event.result contains Objects.
I have a service which returns an Array of ObjectProxy objects. I would like to cast this to a custom object (a value object) and create an ArrayCollection. How can I do this?ited:I am using Django and PyAMF for the backend. I had to write a custom SQL query and I am wrapping the resulting records in ObjectProxy and sending the whole result as an ArrayCollection.Here is my client side code:
[ArrayElementType("SessionVO")] [Bindable] private var _list:ArrayCollection;
I will try to give as much detail as I can. I am creating an CRM application using Flex(Cairngorm 2)/Java/Hibernate. The basic problem I am having is this: I have a Customer class in Java that has an ArrayList of Address classes. I have a Customer class in Flex that has an ArrayCollection of Address classes. When I make the remote object call for a Customer I get back a Customer object in Flex, but the ArrayCollecion objects have a data type of Object instead of Address. If I try to call for a List of Address classes I get the same result. If I try to call for a List of Customer classes I get a list of Customer classes in Flex. Using tomcat 6 with the following jars:
If you draw a movieclip (with a 3d rotation on it) to bitmap, eventlisteners will always dispatch rollout and rollover for that movieclip (on mouse over). A solution could be to set the matrix3d = null ,draw, and then apply the original matrix3d, but I can't do this in my project 'cause all clips is a 3d object to a parent 3d object that gets drawn to a bitmap every frame.
To see the bug, copy this example code into the first frame on the stage (CS4 flashplayer 10). var bmp:BitmapData = new BitmapData(100, 100); //setup a dummy bitmap var bmpContainer:MovieClip = new MovieClip; bmpContainer.addChild(new Bitmap(bmp)); var box:MovieClip = new MovieClip; addChild(box); [Code] .....
I have created some graphics directly in Flash Cs4 using the drawing tools, making them 'drawing objects', yet they are pixelated when viewed in browsers. Within Flash they look crisp, but not when exported.
When I try to do this in an AS CDATA block, it tells me I can't have a class declared within a class (the MX:Application itself). Makes sense. But where and how do I do it?
Is this the correct, most efficient way to recycle objects when creating an array of objects?
package com { public class CreateList extends MovieClip { //this is the object I will be recycling private var newProperty:PropertyRow; //this is the array I will use to reference the objects
I'm trying to manipulate (in this particular case add eventListeners) objects (in this case some MovieClips) on the stage from a class that isn't the document class.
1120: Access of undefined property trans.
Now I know that it's probably a scope thing and I probably can't access stage objects directly from a non document class (as I'm doing in the code below) but I can't figure out how to access them properly.
Anyway, here's the deal:
I've got 3 dynamic text fields (called "NL", "FR" and "EN") on my stage in a movieclip called "trans". I'm trying to add eventlisteners in a second class to make them do something when clicked on.
I want to make a little game. What I need is to add event listeners to all of Tank objects inside the Battlefield instance. I just can seem to figure out how.
Lets say I have a customMovieClip. I sometimes draw an ellipse with customMovieClip.graphics and sometimes a rectangle. Now I want to know what was the shape ( ellipse/rect) that was created using a particular graphics object. Doing this would enable me to pinpoint what exactly to do with that customMovieClip() instance.
I have an array of temporary objects created in a for loop. The objects are of type class "Tile", a class I created. However, it appears that whenever I create a lot of tiles in the for loop, the program slows down indefinitely.
While the array is whiped at a later trigger point, I am thinking that perhaps these Tile objects are not being erased from memory. They are being created on the fly in a for loop, and the array is being reset to "array = []".
Are the objects still in memory or are they cleaned up when the array is set to []?
Is it possible to edit vector drawings made in Flash (and in the FLA's library) within Actionscript? For instance, to change the line width or line color?
Lets say I have a customMovieClip. I sometimes draw an ellipse with customMovieClip.graphics and sometimes a rectangle. Now I want to know what was the shape ( ellipse/rect) that was created using a particular graphics object. Doing this would enable me to pinpoint what exactly to do with that customMovieClip() instance.
How 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...
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:
I want to create a flash movie which firstly loads a selection of images/objects into a portion of the frame. After this is complete, the user can then drag these objects onto another area and the object will be created where the user has chosen. The user can then drag another instance of the ojects onto the area.
For example, there is a background of a lake in one area. A selection of boat pngs are loaded in an area below the lake. The user can drag these boats and place them on the lake. They can drag a boat multiple times if they wish.
I have two movie-clips, one is small-box and another is big-box .Both are rectangular shape. Small- box has an index 0, and big-box has an index 1. Their x,y are same and big-box being big in size gets hide small-box. Now the problem is the listener attached to small-box does not fire as big-box is on the top of small-box. what would be the way to get listener fired when click on small-box area??