ciao a tutti,
ho bisogno di un suggerimento...
carico un'immagine esterna in un MC
come posso farla ridimensionare come nell'esempio
http://www28.websamba.com/polecat/prova.swf
quali parametri devo impostare sempre se si puo fare?
ciao
ciao a tutti,
ho bisogno di un suggerimento...
carico un'immagine esterna in un MC
come posso farla ridimensionare come nell'esempio
http://www28.websamba.com/polecat/prova.swf
quali parametri devo impostare sempre se si puo fare?
ciao
supponendo che il tuo mc sia al 100% e che tu debba farlo arrivare al 200%, dovrebbe bastare una cosa del genere:
onClipEvent(enterFrame){
if(this._xscale <= 200){
this._xscale += 10
this._yscale += 10
}if(this._xscale >= 200){
delete onEnterFrame
}
}
devi associare questo codice al tuo mc.
così incrementi la dimensione del 10%. idem per tutto ciò che sta dentro.
ho fatto solo il controllo della xscale perchè se lo fai proporzionato è inutile inserire anche yscale
![]()
scusami, credo sia meglio usare questo codice.
da mettere nel livello delle azioni sulla rootcodice:mc.onEnterFrame=function(){ trace(mc._xscale) fine = 200 if(mc._xscale < fine){ mc._xscale += 10 mc._yscale += 10 }else{ trace("fine") delete mc.onEnterFrame } }
![]()
e per farlo partire al 50% e farlo arrivare al 100%?
come faccio
imposti mc_xscale e yscale iniziale e nel codice di prima metti 100 al posto di 200
codice:mc._xscale = 50; mc._yscale = 50; mc.onEnterFrame=function(){ trace(mc._xscale) fine = 100 if(mc._xscale < fine){ mc._xscale += 10 mc._yscale += 10 }else{ trace("fine") delete mc.onEnterFrame } }![]()
scusa, ma non mi fa l'animazione...
mi fa vede l'output
50
60
70
80
80
100
fine
:master: molto strano perchè tu fai il trace dell'xscale e quindi se ti mostra 50,60,70 ecc... vuol dire che lo fa.
dimmi esattamente cosa succede. ti fa quel trace e poi ti carica l'immagine?
allora l'animazione non c'è..
l'immagine è ferma e sull'output is vede solo 50
prima mi ha fatto 50, 60, 70...perchè il nome dell'Mc era diverso da quello che avevi dato tu (il mio era "vuoto" l'ho rinominato in "mc")
ritentiamo. ora ho fatto la prova e si carica.
codice frame as
this.onLoad = loadMovie("immagine.jpg", _root.mc)
mc._xscale = 50;
mc._yscale = 50;
sul mc:
la cosa che però non funziona in questo caso è il delete onEnterFramecodice:onClipEvent(enterFrame){ trace(this._xscale) fine = 100 if(this._xscale < fine){ this._xscale += 10 this._yscale += 10 }else{ trace("fine") delete this.onEnterFrame } }
comunque comincia a testare il resto
l'operazione di ridimensionamento può essere fatta solo a caricamento avvenuto della nuova immagine nel clip, tra l'altro _xscale e _yscale funzionano abbastanza male quando si tratta di immagini caricate esternamente, la cosa potrebbe funzionare meglio usando la classe MovieClipLoader per caricare l'immagine, ma non ne garantisco ugualmente il risultato
oltretutto io non userei lo stesso clip per attivare l'enterFrame, si potrebbe usare un object per ottenere lo stesso risultato
scusate il brutale intervento...codice:var rszObj = new Object(); rszObj.endResize = function(clip){ if(this[clip._name] != undefined){ clearInterval(this[clip._name]); } } rszObj.ridimensiona = function(clip){ if(clip._xscale < 100){ clip._xscale += 10; clip._yscale += 10; } else { this.endResize(clip); } } rszObj._resize = function(clip){ this.endResize(clip); this[clip._name] = setInterval(this, "ridimensiona", 50, clip); } //si applica con: rszObj._resize(_root.mc); //ovviamente non ha effetto se non quando, a immagine caricata, si danno _xscale e _yscale inferiori al 100% al clip