Flex :: Keep Track Of All The Changes Of Coordinate System Origin When Writing Components?
Dec 23, 2010
I am faced with a dilemma. I am writing components with nested components. What sort of coordinate system scheme should I implement? I want to be able to pass points to the components without having to worry about where the origin is in absolute terms. At the same time, I want to have some sort of encapsulation when it comes to origins and stuff. Is there any sort of guideline to follow when it comes to nested components and such?
I have 3 square. smallest square s3 is inside s2. s2 is in side s1. each is 10px larger [code]how can I find the coordinate of child in its parent's coordinate system?
I think I did this before but can't find the code. Flash as many other graphical frameworks use the top-left corner as the coordinate origin (0,0) because it's how the underlying memory model is by convention. But it would be really simpler for my calculations if the origin was in the center of the stage, because all the game revolves around the center and uses a lot of trigonometry, angles, etc. Is there some built-in method like Stage:: setOrigin( uint, uint ); or something like that?
My application will need some windows but I can't use the popUpManager to handle custom components so I'm thinking to implement a new window system. But I still don't know how to merge it with my custom components.
I do not understand how coordinate systems and movieclips work. When I add a movieclip to the stage and set it's position I expect it to appear there. If I have a movieclip with it's center in the middle, and I add it at 0,0 to my stage I expect it to appear in themiddle.nstead when I add a movieclip to my stage the stage gets bigger... even though the movieclip I added doesn't extend past any bounds of the stage. When I try to make an object tween from one position to another it works half the time but as i add and remove children it begins to fail because the coordinate system is constantly changing.
How can I enforce a static coordinate system on my stage? Or how can I be sure that when I make a tween to move a movieclip from point A to point B that point B won't move around in the time that it's animating?t seems with flash that every time I encounter a problem I am boggled by how little sense it makes and how hard it is to find any information about it. I must be doing something terribly wrong.
trying to located imbedded movie symbols @ an exact location (relative to the root) and the X & Y values differ depending where the higher lvl movie symbol is located.
I have a client that is running a 64 bit system. On my 32 bit system my Shared Object writes the data without a problem but theres hangs when the call is made to write the data. Any ideas how to go about solving this problem? I would think it would not matter if the system is 32 or 64.
I am created a dynamically adding a VBox, that contains two images. Into a Custom Component that is derived from UIComponent. The problem is the Vbox that contains the two image is only a really tiny size. I would like the VBox stretch to the size of the two images. This is how I am creating the Vbox....
Is it bad practice/design to nest components inside components using Flex 4? Should I simply be creating components and inserting them into my main application as below, or doesn't it matter?
I build a web site in flex that some time take input. Will this website works on Touch Screen environment(KIOSK).My question is we have to make any change to handle input such as prompt on screen keyboard when input fields are get focused or it will manage my device and OS of system(KIOSK, Touch screen system) itself.
I wish to remove the thin origin line from the background of a Flex graph. I have converted one of axes to a Category axis and an origin line remains, that is now unwanted. The following seems to remove all the vertical lines as well as the origin
<mx:backgroundElements> <mx:GridLines verticalShowOrigin="false"/> </mx:backgroundElements> While <mx:backgroundElements> </mx:backgroundElements> Removes all background lines1
I've usually designed Flex applications myself but this time I'll need a designer to assist with skinning the application. I've worked with this designer for a while, and we could work well on an HTML/CSS environment. He can't code, he sends me sliced PSDs which I could convert to clean code. But I'm not sure how to have him assist me with Flex UI as he's not familiar with the components.How do you guys interface with designers for your applications?
I've ran into a weird problem with getCharBoundaries, I could not figure out what coordinate space the coordinates returned from the function was in. What ever I tried I could not get it to match up with what I expected. So I made a new project and and added simple code to highlight the last charater in a textfield, and all of a sudden it worked fine. I then tried to copy over the TextField that had been causing me problems, into the new project. And now the same weird offset appeared 50px on the x axis.Everything else was spot on. So after some headscracthing comparing the two TextFields, I simply can not see a difference in their properties or transformation.
So I was hoping that someone might now what property might affect the coordinates returned by getCharBoundaries.
Here's the situation: I have a populated datagrid and I want to move a form to be inline (same y position) with the datagrid's selectedItem. I cannot rely on a mouseClick event because the selected item may change with a keyboard event. The datagrid does not have an itemRenderer, just plain old dataField.Anyone done this before?
Here's some stubbed out example code for all those interested based on Jacob's answer.
I am using event.event.localX to get the x-axis but it is with reference to local coordinates. How can I get or pass the value of the HBox's xAxis that is clicked by the user so that I can add it in the xAxis of the local coordinate. In other words, I need the global coordinate value? (i.e. x-axis & y-axis)
I am extending the Flash DownloadProgressBar component for use as a preloader with Flex. Is it possible to override the x and y coordinate position of the progress bar? (the default is to center the bar)
I am sorting an XMLListCollection in alphabetical order. I have one issue though. If the value is "ALL" I want it to be first in the list. In most cases this happens already but values that are numbers are being sorted before "ALL". I want "ALL" to always be the first selection in my dataProvider and then the rest alphabetical.So I am trying to write my own sort function. Is there a way I can check if one of the values is all, and if not tell it to do the regular compare on the values?[code]
whatever you wan't to call it. Nevertheless, curious to know if Air can write inside it's own installed package. I'm referring to the OSX '.app' files found in great numbers in the applications folder. Since every one of these can be opened as a regular folder, i'm guessing that's what they are.
What other fancy filewriting tricks am i missing out on?
Ive been doing some research and I cant seem to find anything on writing to a file. My initial question was writing a array to a seperate file. But now I am looking for resources on how to write any data such as XML or a array to a file. What I want to do is create a game editor. I want to eventually save that data to a file to be opened later.
I am trying to create a simple Music player has play/pause button and an HSlider that shows the position of the song as it is playing using a custom SliderThumbClass. I would like allow the user to drag/drop the sliderthumb or click on the sliderbar to change the position of the song currently playing.
With the code I have below, if I use the sliderThumb to change the position of the currently playing song, it works great. But I if I click directly on the slidertrack to jump ahead/back, the current position doesnt move and there is some flashing of the current position, but it jumps back to where it was and continues playing the song. This does work if I am in the paused state.
As expected, thumbDrag/Press/Release events are not triggered when the user clicks on the sliderTrack - What events should I be subscribing for to handle this case?
May I know what is the proper way to keep track of display objects created and hence allow me to remove it efficiently later, for garbage collection. For example:
for(i=0; i<100; i++){ var dobj = new myClass(); //a sprite addChild(dobj);
I've been trying to track down memory leaks in our application, and keep finding myself back looking at Spark components as the culprit.
Many classes in Spark use RichEditableText for displaying their text properties (ComboBox,TextInput).RichEditableText has a local textContainerManager property, and frequently calls compose() on this.Here's the relevant abridged extract from TextContainerManager
// Line 282 - 292: static private var stringFactoryDictionary:Dictionary = new Dictionary(true); static private function inputManagerStringFactory(config:IConfiguration):StringTextLineFactory {
[code]...
Line 1242 is the crucial line here, as it gives the static dictionary a reference to our component.(Note - I've checked this with the debugger to confirm which branch of the ternary gets executed.) This would prevent the instance from ever being garbage collected.
Eg: Static dictionary has a value with a reference to the instance -- instance cannot be GC'd.In turn, this would prevent any other instances which have a reference to the instance of TextContainerManager from being GC'd also.While this theory certainly matches what I'm seeing in our app, I can't beleive that there really is a memory leak in such a low-level spark component.