After writing a function to test intersections of a line to a polygon, another problem came up where I needed
to test an intersection of a line to a curve. I'm sure there is a library someone has wrote that could do this but there is some fun in figuring out puzzles.
There was a recent comment about curves and intersections so I decided to go ahead an post what I attempted.
I feel using a loop is expensive, but it's all I can think of doing for this, similar to the lineIntersectPoly function.
Read the rest of this entry »
1 Comment »
Here is a way to let a DisplayObject find the main WindowedApplication on its own...
In my AIR application I have other AIR Windows floating over the main AIR Window.
I wanted one of my UIComponents to be draggable like a cursor, but when my mouse dragged the object
over the other floating windows I wanted my original cursor to show again and hide my dragged UIComponent.
The reason behind this is if I wanted to apply "context sensitive" behaviors depending on what or which window the mouse is in.
To do this, the main WindowedApplication needed some ROLL_OUT and ROLL_OVER events added to it to detect when the mouse rolls in and out.
The "getAIRAppWindow" method below finds the main WindowedApplication so I can add the listeners to it from there.
Here are some snippets explaining what I did:
Read the rest of this entry »
Leave a comment »
I was wanting a lightweight function to resize, rotate, and skew DisplayObjects based on a dynamic registration point so I made a function to apply my desired matrix settings.
One thing that bothers me is that I could not figure out how to skew along the X and Y axis at the same time. When I do set "c" and "b" Matrix properties, one of the skewed axis does not skew parallel like it should. And if I concatenate separate skew Matrices, the last concatenated skew Matrix transforms correctly but not the one before it. I'm trying to avoid using nested DisplayObjects to perform the separate X and Y skews, but that looks like an option I will have to use.
Read the rest of this entry »
3 Comments »