Domanda

Sto costruendo un sito che richiede la riproduzione di un file audio con un equalizzatore. Non so ancora molto su AS3, quindi questa potrebbe essere una domanda semplice.

Ho trovato un esempio che vorrei utilizzare Dimostrati qui e i file sorgente qui

Il codice per aggiungere l'oggetto equalizzatore allo stage (dal tutorial)

package {
    import flash.media.*;
    import flash.net.*;
    import flash.display.*;
    import flash.events.*;

    import com.everydayflash.equalizer.*;
    import com.everydayflash.equalizer.color.*;

    public class Main extends Sprite{
        public function Main() {
            var s:Sound = new Sound(new URLRequest("track.mp3"));
            s.play(0, 100, new SoundTransform(1, 0));

            var es:EqualizerSettings = new EqualizerSettings();
            es.numOfBars = 32;
            es.height = 64;
            es.barSize = 2;
            es.vgrid = true;
            es.hgrid = 2;
            es.colorManager = new SolidBarColor(0xffff4444);
            es.effect = EqualizerSettings.FX_REFLECTION;

            var e:Equalizer = new Equalizer();
            e.update(es);
            e.x = 100;
            e.y = 100;
            addChild(e);

            addEventListener(Event.ENTER_FRAME, e.render);
        }
    }
}

Questo crea un equalizzatore orientato verticalmente con alcuni effetti piuttosto carini.

Tuttavia, vorrei che fosse orizzontale, quindi credo di dover ruotare " e " 90 gradi Qualcuno di voi sa come farlo? Oppure l'orientamento è dettato esclusivamente dallo script d'azione che lo crea?

Grazie per l'aiuto che hai.

È stato utile?

Soluzione

Proprio sotto le righe:

e.x = 100;
e.y = 100;

Prova ad aggiungere:

e.rotation = 90;

Credo che dovrebbe funzionare, ma potresti riscontrare alcuni problemi con la posizione del punto di articolazione (sia che tu voglia ruotarlo di 90 gradi attorno al centro, o attorno all'angolo in alto a sinistra).

Altri suggerimenti

Un'altra cosa da tenere a mente è DisplayObject. transform .matrix (Sprite estende DisplayObject indirettamente). Puoi usare trasformazioni di matrici per fare molto traduzione / rotazione / ridimensionamento più complessi se necessario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top