A Flash Developer Resource Site

1. ## 3d engine coodinates

How does one make a 3d coordinate system so that you could draw lines in actionscript? for eg.-
(30,40,-20) connected to (40,30,-30)
This making a line though, slightly diagonal.

Does anyone have a helpful link, or an explanation? I'm cluless, but I've been working on this for a while, so it shouldn't take much explaining.

2. i don't know if this is what your after. it's an equation to convert 3d co-ordinates to 2d.
http://www.macromedia.com/desdev/art...murai_ch2.html

3. ## No, not really...

Well, that site told me what I already need to know. Basically what I need to do, is use actionscript to plot the points of a line, so that I could make an array of lines for example. But these coordinates must have a z factor because I need to rotate this whole thing sideways so you see the whole thing, and it looks 3d. I've seen this done, I just don't know how. Basically it's plotting lines with actionscript, and then rotating the final image.

Do ya know what I mean?

4. you could use an array of objects. the co-ordinates you gave would look like this;
definition;
Code:
point = [ { x: 30, y: 40, z: -20 }, { x: 30, y: 40, z: -20 } ];
and to reference them you would use;
Code:
y = point[0].y;
x = point[0].x;
z = point[0].z;
does that help?

5. ## Could you expand?

I can see you know what you're talking about; basically I want to make an object that involves a bunch of lines, and I'm using it in a 3d movie. What I have is this movieclip going in a circle, but a z axis circle, so it looks like it's going from big to little in a circle. If you don't understand that, don't worry. To make this object look like it's rotating around the screen, inside the movieclip, I must have the object spinning on it's axis, and I know that I could use a 3d engine for this. So, if you could, could you tell me how to draw for example, a 2-line object like this- > - in actionscript? One that could be rotated so it looked 3d?

The explanation you gave helped me a bit, but I just don't understand where it all goes. I'm familiar with actionscript, but not with this coordinate jazz.

Could you expand on your code?

The dog has bent to his knee to ask for assistance from the master!

6. dude, you do know that is rather disrespectful, right? sorta like you're rolling your eyes as if you don't care.

just some clarification.

now, back to the question.

what BlinkOK just showed via code was that you you have to define your points in a 3D coordinate system. you could draw lines connecting the dots, and then allow the dots to all move with a transformation of X, Y, and Z... thus rotation when the points that are defined change.

7. ## REALY SORRY ABOUT THE EYE THING

First of all, the roll eye thing was not me trying to be disrespectful, I don't look at it that way, in fact, I didn't know that it meant rolling eyes, I meant it as- "i'm looking up to your genius" kind of thing. ANYway. I've gotten my code from a reliable source, but anyway that's not the point. I can't figure out how to make it draw any lines. here's the code-
Code:
function drawline(x1, y1, x2, y2, col, object) {

object.lineStyle(1, col, 100);
object.moveTo(x1, y1);
object.lineTo(x2, y2);
}
Does that help explain? By the way, if that was the code, the one Blink put, where in the timeline should I put it? As in, a movieclip, the first frame, where? Mainly because there's 2 sets of code. I'm not too familiar.

8. I'm almost sure that the code is on the first frame.

9. ## ARRRRRR

I just tried it! I put all the stuff blink said in the first frame, and nothing happened! What was supposed to happen by the way?

Could you help?

10. ## Okay, getting there...

I think I'm getting close to how to do this. I've figured out how to draw lines with actionscript. I'm now using this code to draw a horizontal line across the stage.
Code:
_root.createEmptyMovieClip("line", 1);
with (_root.line) {
lineStyle(20, cccccc, 1000);
moveTo(0,100);
lineTo(400,100);
}
Now, this projects 2 points on the stage obviously. How could I, for example, rotate this line, so it looked like it was spinning around? It would look like a line going from big to small, in the middle of it or something.

Any help is appreciated!

11. try this;
Code:
point = [ { x: 30, y: 40, z: -20 }, { x: 30, y: 40, z: -30 } ];
//
function to3d(p) {
var d = 100 / ( 100 + p.z);
return({ x: p.x * d, y: p.y * d });
}
//
function drawline(p1, p2) {
var r;
lineStyle(2, 0);
r = to3d(p1);
trace("["+p1.x+","+p1.y+","+p1.z+"]("+r.x+","+r.y+")");
moveTo(r.x, r.y);
r = to3d(p2);
trace("["+p2.x+","+p2.y+","+p2.z+"]("+r.x+","+r.y+")");
lineTo(r.x, r.y);
}
//
l = point.length;
for(i=0;i<l;i++) {
n = i + 1;
if (i == (l-1))
n = 0;
trace(i+":"+n);
drawLine(point[i], point[n]);
}
stop();
place the code in frame 1 on the main timeline of a new movie. this code will join the dots in the point array, when it gets to the last element it will joint to the first element. the trace statements will show what's happening
hope this helps

12. ## Syntax error

You've made a syntax error I beleive, it says that the first line of the code, right, the left side has to be a variable or opperand or something. Anyhow, if it makes a difference, I'm using mx.

P.S. at the same time when you posted, I did Too! Cool huh?

13. do you mean something like this is what you're after?

14. if i copy and past the code into mx it works fine.

15. ## Oh, well..

oh, well, it works for me now too. Must have forgotten the first digit or something. anyway, that's a long complicated method, although I can't say it's worse or better than this way-
Code:
function drawline(x1, y1, x2, y2, col, object) {

object.lineStyle(1, col, 100);
object.moveTo(x1, y1);
object.lineTo(x2, y2);
}

_root.createEmptyMovieClip("stickman", 1);
drawline(0, 0, 200, 200, 0x000000, "stickman");
drawline(200, 200, 500, 500, 0x000000, "stickman");
That looks to me like it should work, but it dosen't. Can't realy understand the problem, of course I don't work with functions a lot. Could you guys see the problem?

By the way, THANKS SO MUCH FOR THE CODE, BLINKOK, but how would I rotate an object made with this code? Do you know?

Anyway, thanks!

16. i can give you a solution but the camera's rotation will be constrained along the horizontal axis. in other words you won't be able to look up or down. you will be able to move up and down, just not look up or down. is that ok?

17. ## Yeah...

Yeah, Yeah man! That would be great! Don't worry, I don't need any horizontal camera angles, all I need is the camera to spin around an object!

Flash isn't swift, I know.

18. here is a very short tutorial for a 3d plane;
http://www.nlc.net.au/~oceana/tutori...erspective.htm
hope it helps

19. You...Are...My...GGGGGGGGGGOOOOOOOOOOOOOOODDDDDDDD DD!

Thank YouSOOOOOOOOOOO Much!

I haven't even looked at the fla., but you are BRILLIANT!!!!!!!

I'll just see if it works, and I'll right back like tomorrow. So, you can check it tomorrow sometime if you want

20. Originally posted by gerbick
do you mean something like this is what you're after?
hi gerbick,

i reworked the 3d-cube.fla you posted a bit - you can see it here . problem is : i want it to rotate by itself - in such a way that each point gets to eventually take the *spotlight* in the front ...

i would appreciate if you could point me in the right direction?

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•

 » Home » Movies » Tutorials » Submissions » Board » Links » Reviews » Feedback » Gallery » Fonts » The Lounge » Sound Loops » Sound FX » About FK » Sitemap