Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Convertire da AS a AS2

  1. #1

    Convertire da AS a AS2

    Ciao a tutti vorrei convertire lo script seguente da Actionscript 1 a Actionscript 2 (se lo lascio così non mi funziona pubblicandolo come AS2 e ne ho necessità!):
    codice:
    function creasfondo() {
    	function tipoRiempimento() {
    		n = Math.random();
    		if (n<0.5) {
    			Rie = "radial";
    		} else {
    			Rie = "linear";
    		}
    		//trace("tipo riempimento = "+Rie);
    	}
    	function colori() {
    		n = Math.round(Math.random()*5)+1;
    		col = new Array(n);
    		for (i=0; i<n; i++) {
    			rosso = Math.round(Math.random()*255);
    			verde = Math.round(Math.random()*255);
    			blu = Math.round(Math.random()*255);
    			colore = (rosso << 16 | verde << 8 | blu);
    			col[i] = "0x"+colore.toString(16);
    			//trace("colori "+i+" = "+col[i]);
    		}
    	}
    	function alfa() {
    		alf = new Array(n);
    		for (i=0; i<n; i++) {
    			alf[i] = Math.round(Math.random()*100);
    			//trace("alfa "+i+" = "+alf[i]);
    		}
    	}
    	function rapporti() {
    		rapp = new Array(n);
    		for (i=0; i<n; i++) {
    			rapp[i] = Math.round(Math.random()*255);
    			//trace("rapporti "+i+" = "+rapp[i]);
    		}
    	}
    	function matrice() {
    		mat = {
    				a:Math.round(Math.random() * 255),
    				b:Math.round(Math.random() * 255),
    				c:Math.round(Math.random() * 255),
    				d:Math.round(Math.random() * 255),
    				e:Math.round(Math.random() * 255),
    				f:Math.round(Math.random() * 255),
    				g:Math.round(Math.random() * 255),
    				h:Math.round(Math.random() * 255),
    				i:Math.round(Math.random() * 255)
    				};
    		//trace("matrice "+i+" = "+mat);
    	}
    	tipoRiempimento();
    	colori();
    	alfa();
    	rapporti();
    	matrice();
    	_root.createEmptyMovieClip("sfondo", 0);
    	with (_root.sfondo) {
    		beginGradientFill(Rie, col, alf, rapp, mat);
    		lineStyle(1, 0x000000);
    		moveto(0, 0);
    		lineto(0, 180);
    		lineto(230, 180);
    		lineto(230, 0);
    		lineto(0, 0);
    		endFill();
    	}
    }
    creasfondo();
    Il codice crea arte astratta casuale...
    Qualcuno può aiutarmi?

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    puoi pubblicare con AS1 se non hai necessità di usare l'AS2

  3. #3
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Il problema qui non è convertire da AS1 a AS2, ma di rendere utilizzabile lo script con il Flash Player 7, che è case sensitive. Ho evidenziato in rosso le righe dove c'erano gli errori (non avevi scritto correttamente i metodi: moveTo, non moveto, e lineTo, non lineto):

    codice:
    function creasfondo()
    {
    	function tipoRiempimento()
    	{
    		n = Math.random();
    		if (n < 0.5) {
    			Rie = "radial";
    		} else {
    			Rie = "linear";
    		}
    	}
    	function colori()
    	{
    		n = Math.round(Math.random() * 5) + 1;
    		col = new Array(n);
    		for (i = 0; i < n; i++) {
    			rosso = Math.round(Math.random() * 255);
    			verde = Math.round(Math.random() * 255);
    			blu = Math.round(Math.random() * 255);
    			colore = (rosso << 16 | verde << 8 | blu);
    			col[i] = "0x" + colore.toString(16);
    			//trace("colori "+i+" = "+col[i]);
    		}
    	}
    	function alfa()
    	{
    		alf = new Array(n);
    		for (i = 0; i < n; i++) {
    			alf[i] = Math.round(Math.random() * 100);
    			//trace("alfa "+i+" = "+alf[i]);
    		}
    	}
    	function rapporti()
    	{
    		rapp = new Array(n);
    		for (i = 0; i < n; i++) {
    			rapp[i] = Math.round(Math.random() * 255);
    			//trace("rapporti "+i+" = "+rapp[i]);
    		}
    	}
    	function matrice()
    	{
    		mat = {
    				a:Math.round(Math.random() * 255),
    				b:Math.round(Math.random() * 255),
    				c:Math.round(Math.random() * 255),
    				d:Math.round(Math.random() * 255),
    				e:Math.round(Math.random() * 255),
    				f:Math.round(Math.random() * 255),
    				g:Math.round(Math.random() * 255),
    				h:Math.round(Math.random() * 255),
    				i:Math.round(Math.random() * 255)
    				};
    		//trace("matrice "+i+" = "+mat);
    	}
    	tipoRiempimento();
    	colori();
    	alfa();
    	rapporti();
    	matrice();
    	_root.createEmptyMovieClip("sfondo", 0);
    	with (_root.sfondo) {
    		beginGradientFill(Rie, col, alf, rapp, mat);
    		lineStyle(1, 0x000000);
    		moveTo(0, 0);
    		lineTo(0, 180);
    		lineTo(230, 180);
    		lineTo(230, 0);
    		lineTo(0, 0);
    		endFill();
    	}
    }
    creasfondo();

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ma come il fplayer6 non era case-sensitive??io mi son sempre preoccupato di scrivere tutto correttamente anche prima...

    ps. in effetti non avevo notato che c'erano di 'sti errori nello script postato

  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    >ma come il fplayer6 non era case-sensitive?

    no..

    >io mi son sempre preoccupato di scrivere
    >tutto correttamente anche prima...

    Bravo, molto meglio, così non ti devi preoccupare:

    A - di imparare una cosa nuova
    B - di correggere i file vecchi che ora non funzionerebbero

    chi non è stato coerente/attento prima, adesso ha qualche problema in più..

  6. #6
    Grazie non mi ero proprio accorto di questa differenza tra le due versioni...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.