ActionScript 3.0 :: Z-Sorting Based On Rotation Properties Flash 10 3D
Mar 25, 2009
Quick Question, I just started learning the psuedo 3D methods in FP10, and as a sample I am creating a virtual rolodex. It is dynamically generated with a user inputted number of cards. The cards are then added to the stage and are rotated around a central axis using the function below.
[Code]....
After this is created I have an Enter Frame listener that rotates the cards around that axis based on mouse position. Problem is that they get depth sorted based on the order that they are created, cardArray[0] in back all the way up to whatever the number of cards is. I have tried a few of the simple Z sorting classes and noticed that my cards dont actually change there Z property, only their rotationX. I was just wondering if anyone might know of an easy way to depth sort these. Otherwise the best idea I can come up with is to check the rotation based on 360 degrees and assign a depth. That seems like a lot of ugly math though if you want to see what the swf looks like check here.
Ive probably ran into some code like this before. just cant remember where. I have 2 display objects on my stage. One is rotating and the other is positioned 90 degrees from the rotating object. As the object rotates, the other object adjusts its x and y positioning from the rotating object..
If this doesnt make sense, then let me explain what I am trying to do. I have a spaceship in my flash game. this ship has 2 torrets siting on the left and right wing. as the ship turns, the torrets need to remain on the wings.
Each item in the array in on the stage, each with an x/y position. The item in the top left most position should be items[0]. X should be the primary. Originally I was thinking along the lines of:
var items = [m1, m2, m3, m4, m5, m6]; items.sort(sortMe); function sortMe(a, b) { return (b.position[0] - a.position[0]) && (b.position[1] - a.position[1]); } But this does not yield the correct results.
Im busy with a rpg graphics engine, while discovering as3 whilst doing it. So I made different classes for the world, tile managers and players, etc. But since I have a 45 degrees SNES rpg view on my world I need depth sorting based on their Y coordinate. At least my npc's and the middle tile layer need that. But all these objects are now all different classes now and the swapchilderen method is quite cumbersome. Do I need a whole messy cumbersome method to sort specific tiles and npc's based on their y coordinate or is there a simpler method to have proper depth sorting in as3?
I have been working on sorting Arraycollection like ascending , descending the numeric list. Total length of my collection will go up to 100. Now I want to preform sort to nested data like this
Data Structure
Name : String Categories : Array ["A","x or y or z","C"]
Categories array will have maximum 3 items , out of that three items the second item can have 3 different values either X or Y or Z. My result data looks like here
I've been playing around with ActionScript 3. They have a new way of placing clips onto the stage, "addChild(clip)," which automatically places the clip onto the stage with it's own depth. So here's my problem, when making a tile based game, I have to constantly depth sort to make sure the object lower on the screen has the higher depth than an object higher on the screen. Pretty much, their depth depended on their y-coord. Does ActionScript 3 still let us play with depths?
I have a question on coustom sort..I have a datagrid for which one coloum has a itemrenderer. I need to sort a coloum based on the value in the item renderer. In the dataprovider for the datagrid i have a numeric value. Based on the numeric value in dataprovider i have a String associated with that value which is shown in UI. I need to sort based on the statusLabel associated with the numeric value.
What I want is to sort a Vector array of objects(not primitive), based on a propery(Number). (think character.zDepth). Generally the same thing as the sortOn function of Arrays, except that we don't have that for Vectors. like myArray.sortOn(x, Array.NUMERIC) Dealing with Vector arrays of primitives not complex objects.
As most of you probably don't know, I have started making a bow-man type of game..... There's just one problem: The code Here is what I have so far:
[Code]..
The major problem is having the arrow's angle be final when I click the mouse, and to shoot out correctly at that angle, and not be still rotating based off the bow's rotation.
I have created a globe that rotates with no problem, but what I am trying to do is to control the direction of the rotation based on the mouse position. For example, if the mouse is to the right of the globe, it rotates towards the right and if the mouse in on the left, the globe rotates left. When the mouse is over the globe, it should stop.
As in the figure i have three lines out of which line1 and line2 are fixed. line3 is derived from line1 based on some angle say 70.I try to rotate the line3 but it deviate from the point x1 and x2. I try the code like this
Making a ship game because I am incredibly original.. With that aside, I have a problem. I have a function to fire bullets from my ship based on its rotation which works.. it uses this code on creation: ember ho jis ny mmujhe block kia hai
[Code]...
The above code is in my Ship class so I can easily make the bullets achieve the correct rotation. And to continually update its position, in the bullet's class:
x += Math.cos(rotation / 180 * Math.PI) * speed; y += Math.sin(rotation / 180 * Math.PI) * speed;
So that all works well. But I have another class, EnemyBullet, which randomly generates and uses similar code to set its direction and movement. In my ship class:
[Code]...
I gather that the rotation is therefore always horizontal, but can't for the life of me see why? Can anyone give me an answer? Assuming it's simple enough because the code I used to setup the rotation is the same working code I have used to turn a movieclip towards the mouse..
How can you call objects based on properties they have instead of object names? For example if i want all the objects in an area to move somewhere else. Thats not what im trying to do but just an example. Also im using flash mx 2004
I'm loading a bunch of images through XML like this:
[Code]...
Pretty simple. Loads each image into a imgHolder_mc named 0, 1, 2, etc. Each image is also set to alpha = 0 since I don't want them to show unless the slider is changed.
how to reorder an array based on the information contained in another array. What my script is currently doing is detecting all the attached monitors I have and then ordering them based on their left bounds. However I then want to reorder the screens location in the array based on whether the user has selected that display or not. If the user has selected it, by clicking a button, the button movie clip will be on frame two, if they haven't been chosen it will be on frame one. So what I am doing is then creating two separate arrays, chosen screens and not chosen screens, and then combining them into one.
Code: if(displayButton.currentFrame==displayButton.totalFrames) { //sort the chosen ones into an array
[Code]....
My problem now is being able to reorder a separate array which contains all the screens, called screenArray, based off of that. screenArray currently returns [Object Screen], [Object Screen], [Object Screen], etc... and is in the order of 1,2,3,4,5,6. How do I take then and get it to be equal to the order of my displayButtonsChosen Array of 1,3,5,2,4,6?
I'm trying to set up a form that presents a combobox when an ArrayCollection it's bound to has several items, and doesn't present one when it's empty or only has one item. I've tried doing this by creating this class, but unfortunately, the data provider I've bound to is never not empty at the time the setter executes.
public class ComboboxOrFail extends ComboBox { public function ComboboxOrFail() {
I just discovered impure.com and was very impressed by what can be achieved in terms of visualizing data using their workspace. Although the platform is free to use, but not open source yet. This causes a few problems because the API section works with .com sites for eg. for ebay, so I cannot visualize ebay listings for regional sites such as ebay.in because the link to ebay.com is hardcoded.I searched around, but didn't find other projects that offer a similar way to work with site APIs and other data sources with the kind of user interface and detail that impure.com does in a realtime way within a browser window.This brings me to the questions:
-What technologies would be involved in creating a similar kind of project
-What are the open source tools that can help develop a fullscreen UI to render the workspace. Are there any alternatives to flash for this, and how do they compare
The goal would be to use standard python data structures, python scripts to do some processing on these data structures, scripts to gather data from csv, json and API sources such as google yahoo, wikipedia and flickr, and scripts to render graphs, tag clouds, network visualizations etc. Then bring them all together into a visual interface that supports drag drop and simple type checking.How would the python backend integrate with the UI.
I have a movieclip and when I do 3D rotation from Transform panel, It rotates perfect, center is in the middle of image, and when I apply mc.rotationY, rotation center is in left of the image, aren't 3D rotation from Transform panel and mc.rotationY from AS same? what's up?
I'm trying to do some augmented reality projects with flartoolkit . I can now put simple 3d objects on my marker and it works fine , but I wanna give my project some events that the user can interact with. I'm trying to trace the rotation of the marker. there's a container:DisplayObject3D which my application uses to add the 3d objects , I traced this :"trace(container.rotationZ)" but it's just returning 0 . I studied another AR application's source code and it was using the rotation of it's container object without problem .and I think I should mention that I'm using the exercise file of seb lee delisle papervision3d course from [URL]. anyone has any experience with flartoolkit? the main functions of my my code is as below:
Is it possible to have the child movieclip rotate separate of the rotation properties assigned to the parent? so ultimately giving the child element it's own axis?I've customized Lee Brimelows (gotoandlearn.com) 3D carousel to spin on the x axis to make it a vertical carousel. I've also rotated that by 45 degrees on the y axis to see all the items, and wrote a snippet of code to hide the left portion of the carousel. The entire carousel is contained within the 'container' movieclip, and inside of that are my carousel items (as seen below), with the larger item being the item in focus.
On rollover of the item in focus, I want to rotate it so it faces the viewer (as seen below),basically removing the 45 degree rotation applied to the container.The problem i'm running into is when you rotate the container (changing the rotationX of the container), the axis basically rotates with it, so when i rollover the next item 'in focus', the following happens..(in the example where it appears how it want it to, the carousel is at a rotationX of 0, so it works fine)
Program A has a cannon that aims to line up with where-ever the mouse is pointing, in 360 degrees, and fires when the mouse is is clicked. Program B has an eye instead of a cannon that should in theory do similar functions when the capslock key is toggled, but instead only has a 90 degree range of motion from the Right of the eye toward the bottom (quadrant 4 only). Where did the ther 270 degrees of rotation disappear to?
i.m trying to create a 3d rotation much like the widely used carousel only the rotation i desire consist of four upright(90 degrees) movieclips resting on a slanted, 30 degree plane which rotate onEnterFrame or following a tween on a oval like path - then pause for a given number of seconds at the four movieclips positions equal in distance on the plane
function around() { this._x = Math.cos(this.angle) * radiusX + centerX; this._y = Math.sin(this.angle) * radiusY + centerY; var s = this._y /(centerY+radiusY);
would anyone beable to help with sorting out an XML file, what I have is a tooltip that loads in via XML and exported from flash. the XML loads in 2 text fields, field and field2. what I am trying to do is add a button also to the tooltip so that you can click and go to a url. this is what I have in my XML file;
Iam trying to do a highscore list which is generated on a website as Xml and then send to Flash. I have got the Xml to be loaded into Flash but the probelm is that i want them to be sorted in so the highest score is on the top and then its going to down to the lowest score.
var dataArray:Array = [ 5, 6, 3, 8, 10, 11, 32, 2 ]; var dataObjectArray:Array [ { "uid": 5 }, { "uid": 6 .... Similar to above ... } ]; I have the above 2 arrays in AS3. and i wish to sort them numerically (1 ~ X) in order [Skipping those that does not exist]. What is the best and most efficient way to do so for dataArray / dataObjectArray.