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