Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543

    creare e richiamare mc assoluto

    Ho scaricato uno script per fare una rotazione 3D il codice si sviluppa su tre fotogrammi...
    nel primo c'è il codice che crea un mc (credo) e definisce le funzioni, i punti e le linee
    nel secondo crea i punti e scrive le linee
    nel terzo fa ruotare la figura
    ora io ho un'altro scrpt che fa muovere un mc...
    il mio problema è che devo creare un mc (di nome effetto) e all'interno devo mettere il codice che fa muovere un mc (l'mc della figura 3d)
    come defo modificare lo script affinchè posso inserirlo in un mc e in un'altro mc?
    io ho provato a inserirlo in un mc e poi in un'altro mc ma non funziona...
    esiste un modo per richiamare un mc in maniera assoluta?
    cmq se mi aiutate a modificare lo script ne sarei eternamente grato...
    Il codice su cui intervenire credo sia questo:
    codice:
    num = 1;
    perspective = 270;
    XRotation = 0;
    YRotation = 0;
    ZRotation = 0;
    // Punti 3D
    function point3d(x, y, z) {
    	this.num = num;
    	this.x = x;
    	this.y = y;
    	this.z = z;
    	this.scale = 100;
    	num++;
    }
    // Creazione Punti
    point3d.prototype.draw = function () { var x = this.x*(this.z/perspective+1);var y = this.y*(this.z/perspective+1);var scale = this.scale;_root.space.attachMovie("point", "point"+this.num, this.num);tempnum = this.num;with (eval("_root.space.point"+this.num)) {_x = x;_y = y;_xscale = scale;_yscale = scale;}eval("_root.space.point"+this.num).mynum = this.num;};
    point3d.prototype.rotate = function (x, y, z) { var rotX = x;var rotY = y;var rotZ = z;var y1 = this.y*Math.cos(rotX)+this.z*Math.sin(rotX);var z1 = this.y*-Math.sin(rotX)+this.z*Math.cos(rotX);var x1 = this.x*Math.cos(rotY)+z1*-Math.sin(rotY);var z2 = this.x*Math.sin(rotY)+z1*Math.cos(rotY);var x2 = x1*Math.cos(rotZ)+y1*Math.sin(rotZ);var y2 = x1*-Math.sin(rotZ)+y1*Math.cos(rotZ);this.scale = (this.z/2+100)+(this.z/_root.perspective+1);this.x = x2;this.y = y2;this.z = z2;};
    function line(from, to) {
    	this.num = num;
    	this.from = from;
    	this.to = to;
    	num++;
    }
    line.prototype.draw = function () { fX = eval("_root.space."+this.from)._x;fY = eval("_root.space."+this.from)._y;tX = eval("_root.space."+this.to)._x;tY = eval("_root.space."+this.to)._y;_root.space.attachMovie("line", "line"+this.num, this.num);with (eval("_root.space.line"+this.num)) {_x = fX;_y = fY;_xscale = tX-fX;_yscale = tY-fY;}};
    GRAZIE INFINITE comunque vada

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  2. #2
    detto così non credo che andrai lontano...

    posta il codice su ognuno dei tre frame e anche quello per far muovere l'oggetto
    conosco poco di programmazione, equel poco ...lo uso pure malee

  3. #3
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    fotogramma 1
    codice:
    // Io sono Napoletano quindi ti dico  Uuè guard ma nun tuccà niend , e capit?? "Hei guarda ma non toccare nulla, capito??"
    // Inizializzazione
    num = 1;
    perspective = 270;
    XRotation = 0;
    YRotation = 0;
    ZRotation = 0;
    // Punti 3D
    function point3d(x, y, z) {
    	this.num = num;
    	this.x = x;
    	this.y = y;
    	this.z = z;
    	this.scale = 100;
    	num++;
    }
    // Creazione Punti
    point3d.prototype.draw = function () { var x = this.x*(this.z/perspective+1);var y = this.y*(this.z/perspective+1);var scale = this.scale;_root.space.attachMovie("point", "point"+this.num, this.num);tempnum = this.num;with (eval("_root.space.point"+this.num)) {_x = x;_y = y;_xscale = scale;_yscale = scale;}eval("_root.space.point"+this.num).mynum = this.num;};
    point3d.prototype.rotate = function (x, y, z) { var rotX = x;var rotY = y;var rotZ = z;var y1 = this.y*Math.cos(rotX)+this.z*Math.sin(rotX);var z1 = this.y*-Math.sin(rotX)+this.z*Math.cos(rotX);var x1 = this.x*Math.cos(rotY)+z1*-Math.sin(rotY);var z2 = this.x*Math.sin(rotY)+z1*Math.cos(rotY);var x2 = x1*Math.cos(rotZ)+y1*Math.sin(rotZ);var y2 = x1*-Math.sin(rotZ)+y1*Math.cos(rotZ);this.scale = (this.z/2+100)+(this.z/_root.perspective+1);this.x = x2;this.y = y2;this.z = z2;};
    function line(from, to) {
    	this.num = num;
    	this.from = from;
    	this.to = to;
    	num++;
    }
    line.prototype.draw = function () { fX = eval("_root.space."+this.from)._x;fY = eval("_root.space."+this.from)._y;tX = eval("_root.space."+this.to)._x;tY = eval("_root.space."+this.to)._y;_root.space.attachMovie("line", "line"+this.num, this.num);with (eval("_root.space.line"+this.num)) {_x = fX;_y = fY;_xscale = tX-fX;_yscale = tY-fY;}};
    point1 = new point3d(10,  00, 15);//rettangolo base dietro destra
    point2 = new point3d(-10, 00, 15);//rettangolo base dietro sinistra
    point3 = new point3d(10,  00, 00);//rettangolo base avanti destra
    point4 = new point3d(-10, 00, 00);//rettangolo base avanti sinistra
    point5 = new point3d(00, -20, 7.5);//vertice sopra
    point6 = new point3d(00, 20, 7.5);//vertice sotto
    
    line1 = new Line("point1", "point2");//linea rettangolo base dietro
    line2 = new Line("point2", "point4");//linea rettangolo base lato sinistra
    line3 = new Line("point3", "point4");//linea rettangolo base avanti
    line4 = new Line("point3", "point1");//linea rettangolo base lato destra
    line6 = new Line("point4", "point5");//linea piramide lato sopra
    line7 = new Line("point3", "point5");//linea piramide lato sopra
    line8 = new Line("point2", "point5");//linea piramide lato sopra
    line9 = new Line("point1", "point5");//linea piramide lato sopra
    line10 = new Line("point4", "point6");//linea piramide lato sotto
    line11 = new Line("point3", "point6");//linea piramide lato sotto
    line12 = new Line("point2", "point6");//linea piramide lato sotto
    line13 = new Line("point1", "point6");//linea piramide lato sotto
    fotogramma2
    codice:
    // Transforma
    point1.rotate(XRotation,YRotation,ZRotation);
    point2.rotate(XRotation,YRotation,ZRotation);
    point3.rotate(XRotation,YRotation,ZRotation);
    point4.rotate(XRotation,YRotation,ZRotation);
    point5.rotate(XRotation,YRotation,ZRotation);
    point6.rotate(XRotation,YRotation,ZRotation);
    // Crea Punti
    point1.draw();
    point2.draw();
    point3.draw();
    point4.draw();
    point5.draw();
    point6.draw();
    // Crea Linee
    line1.draw();
    line2.draw();
    line3.draw();
    line4.draw();
    line5.draw();
    line6.draw();
    line7.draw();
    line8.draw();
    line9.draw();
    line10.draw();
    line11.draw();
    line12.draw();
    line13.draw();
    numero=random(20);
    numero2=random(5);
    numero3=random(10);
    Fotogramma3
    codice:
    XRotation = numero / 1000;
    YRotation = numero2 / -1000;
    ZRotation = numero3 / 1000;
    gotoAndPlay(2);
    GRAZIE

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.