Grafik-Exclu

Forum de graphisme pour tout logiciel. Rejoignez-nous!
 
AccueilAccueil  AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  ConnexionConnexion  

Partagez | 
 

 créer un cube qui pivote

Aller en bas 
AuteurMessage
titi82

avatar

Féminin Nombre de messages : 96
Age : 41
Niveau graphique : aprentie +1
Date d'inscription : 24/10/2008

MessageSujet: créer un cube qui pivote   Mer 19 Nov - 16:01







code à insérer :

Code:
Stage.scaleMode = 'noScale';

var rotations = {x:0, y:0, z:0};

var boxPoints = [

    {x:-50, y:-50, z:-50},

    {x:50, y:50, z:-50},

    {x:-50, y:50, z:-50},

    {x:-50, y:-50, z:50},

    {x:50, y:-50, z:50},

    {x:50, y:50, z:50}

];

this.createEmptyMovieClip("theScene", 1);

theScene._x = theScene._y = 150;

createImages();

theScene.onEnterFrame = function(){

    rotations.x -= this._ymouse/2000;

    rotations.y += this._xmouse/2000;

    var points2d = pointsTransform(boxPoints, rotations);

    movieClip3PointTransform(this.image0, points2d[2], points2d[0], points2d[3]);

    movieClip3PointTransform(this.image1, points2d[5], points2d[1], points2d[2]);

    movieClip3PointTransform(this.image2, points2d[0], points2d[2], points2d[1]);

    movieClip3PointTransform(this.image3, points2d[4], points2d[3], points2d[0]);

    movieClip3PointTransform(this.image4, points2d[3], points2d[4], points2d[5]);

    movieClip3PointTransform(this.image5, points2d[1], points2d[5], points2d[4]);

}

function createImages(){

    var i = 6;

    while(i--){

        theScene.createEmptyMovieClip("image"+i, i);

        theScene["image"+i].createEmptyMovieClip("contents", i);

        theScene["image"+i].contents.attachBitmap(

            flash.display.BitmapData.loadBitmap("image"+i),

            1, false, true

        );

    }

}

function pointsTransform(points, rotations){

    var tpoints = new Array();

    var sx = Math.sin(rotations.x);

    var cx = Math.cos(rotations.x);

    var sy = Math.sin(rotations.y);

    var cy = Math.cos(rotations.y);

    var sz = Math.sin(rotations.z);

    var cz = Math.cos(rotations.z);

    var x,y,z, xy,xz, yx,yz, zx,zy;

    var i = points.length;

    while (i--){

        x = points[i].x;

        y = points[i].y;

        z = points[i].z;

        xy = cx*y - sx*z;

        xz = sx*y + cx*z;

        yz = cy*xz - sy*x;

        yx = sy*xz + cy*x;

        zx = cz*yx - sz*xy;

        zy = sz*yx + cz*xy;

        tpoints[i] = {x:zx, y:zy};

    }

    return tpoints;

}

function movieClip3PointTransform(mc, a,b,c){

    mc._visible = pointsIsVisible(a,b,c);

    if (!mc._visible) return;

    var m = mc.transform.matrix;

    m.tx = b.x;

    m.ty = b.y;

    m.a = (a.x - b.x)/mc.contents._width;

    m.b = (a.y - b.y)/mc.contents._width;

    m.c = (c.x - b.x)/mc.contents._height;

    m.d = (c.y - b.y)/mc.contents._height;

    mc.transform.matrix = m;

}

function pointsIsVisible(a,b,c){

    var db = b.x - a.x;

    if (!db) return (a.y > b.y == c.x > a.x);

    var dc = c.x - a.x;

    if (!dc) return (a.y > c.y == b.x < a.x);

    return ((b.y-a.y)/db < (c.y-a.y)/dc) != (a.x < b.x == a.x > c.x);

}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
créer un cube qui pivote
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» 00 "Faire un cube décoré, avec des images ou des photos"
» [Résolu] HELP problème avec dossier nommé Winsudate
» bonjours à tous!
» Mon aventure Bbox: de la création... à la connexion de ma ligne !
» Chronique d'un Aventurier du Cube.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Grafik-Exclu :: Graphisme :: Tutoriels :: Section "FLASH"-
Sauter vers: