Salve a tutti,
sto cercando di fare un oggetto che si muova quando si ridimensiona lo stage e si posizioni sempre nello stesso punto, nel mio caso nell'angolo in alto a destra.
Stage=550x400
rettangolo bianco di fondo(mc riquadro)=500x350 centrato in modo da laciare una cornice di colore diverso all'esterno di 25 px
rettangolino rosso (mc pippo)= 50x50 posizionato nell'angolo alto a dx del riquadro bianco (x=500, y=50)
sull'unico frame della timeline ho messo questo codice
codice:import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; stage.scaleMode = StageScaleMode.NO_SCALE; var d_x=0;//differenza x dovuta al resize dello stage var d_y=0;// differenza y dovuta al resize dello stage var w:Number;//larghezza dello stage ridimensionato var h:Number;//altezza dello stage ridimensionato //calcolo le dimensioni iniziali dello stage var wdth = stage.stageWidth; var hght = stage.stageHeight; //aggiungo al frame una funzione che mi posiziona l'mc pippo nella posizione che voglio this.addEventListener(Event.ENTER_FRAME, intro); function intro(event:Event){ pippo.x = wdth-50+d_x pippo.y = hght-(hght-50+d_y); }; //aggiungo allo stage una funzione che quando ridimensiono lo stage calcola //le differenze di altezza e larghezza stage.addEventListener(Event.RESIZE, controllo); function controllo(event:Event){ //assegno alle variabili w ed h le nuove //dimensioni dello stage w = stage.stageWidth; h = stage.stageHeight; //ridimensiono il rettangolo bianco riquadro.width = w-50; riquadro.height = h-50; //calcolo la differenza tra la larghezza inziale //dello stage e quella attuale d_x = (w-wdth)/2; //calcolo la differenza tra l'altezza inziale //dello stage e quella attuale d_y = (h-hght)/2; }; stop();
se faccio l'anteprima da flash o apro il file swf nel player tutto funziona, se metto l'swf nel browser il tutto non funziona più!
Dove sta l'inghippo?
Se necessario posso allegare i files
Grazie in anticipo

Rispondi quotando