You can really do stunning 3D effects using swf_lookat() [and swf_ortho, of course].
Here is a little example of doing a simple 3D-rotation around a text.
The Text is split up into 2 parts, because Flash does not (yet?) support perspective-skewing, only rotation, 2D-skew and scaling. But if you split your 3D-object up into several parts, each part is transformed seperately and you can trick around that loss of perspective-skew.
Have a lot of fun experimenting with that piece of code!
regards
HotKey ^ http://www.SPR.AT
- - - - - - >8 - cut here - - - - -
<?php
Header("Content-type: application/x-shockwave-flash");
swf_openfile("php://stdout", 320, 200, 25, 1, 1, 1);
swf_ortho (-100, 100, -100, 100, -100, 100); #create 3D coordinates
swf_definefont (0, "Pix3");
swf_addcolor (0, 0, 0, 1);
swf_fontsize (10);
swf_fonttracking(0.2);
for ($i=0; $i<628; $i+=8) {
$j = $i / 100;
swf_pushmatrix ();
swf_translate(0,0,0);
swf_perspective(100,1,0,10);
swf_lookat(sin($j)*60,50,cos($j)*60, 0,00,0, 0);
swf_definetext (1, "HotKey@", 0);
swf_translate(-50,0,0);
swf_placeobject(1,10);
swf_definetext (2, "hehe.com", 0);
swf_translate (55,0,0);
swf_placeobject(2,11);
swf_showframe();
swf_removeobject (10);
swf_removeobject (11);
swf_popmatrix();
}
swf_closefile ();
?>
- - - - - - - - 8< - - - - - - - -
*EOF*
swf_lookat
(PHP 4)
swf_lookat — Define a viewing transformation
Descrição
void swf_lookat
( float $view_x
, float $view_y
, float $view_z
, float $reference_x
, float $reference_y
, float $reference_z
, float $twist
)
Defines a viewing transformation by giving the viewing position and the coordinates of a reference point in the scene.
Parâmetros
- view_x
-
x-coordinate for the viewing position
- view_y
-
y-coordinate for the viewing position
- view_z
-
z-coordinate for the viewing position
- reference_x
-
x-coordinate for the reference point
- reference_y
-
y-coordinate for the reference point
- reference_z
-
z-coordinate for the reference point
- twist
-
Controls the rotation along with viewer's z axis.
Valor Retornado
Não há valor retornado.
Exemplos
Exemplo #1 A simple 3D-rotation around a text
<?php
header('Content-type: application/x-shockwave-flash');
swf_openfile("php://stdout", 320, 200, 25, 1, 1, 1);
swf_ortho(-100, 100, -100, 100, -100, 100); // create 3D coordinates
swf_definefont(0, "Pix3");
swf_addcolor(0, 0, 0, 1);
swf_fontsize(10);
swf_fonttracking(0.2);
for ($i = 0; $i < 628; $i += 8) {
$j = $i / 100;
swf_pushmatrix();
swf_translate(0, 0, 0);
swf_perspective(100, 1, 0, 10);
swf_lookat(sin($j) * 60, 50, cos($j) * 60, 0, 0, 0, 0);
swf_definetext (1, 'HotKey@', 0);
swf_translate(-50,0,0);
swf_placeobject(1,10);
swf_definetext(2, 'example.com', 0);
swf_translate(55, 0, 0);
swf_placeobject(2, 11);
swf_showframe();
swf_removeobject(10);
swf_removeobject(11);
swf_popmatrix();
}
swf_closefile();
?>
User Contributed Notes
swf_lookat
swf_lookat
hotkey at hehe dot com
03-May-2001 12:34
03-May-2001 12:34

swf_labelframe