- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Da AS3.0 a AS.20 :S
-
Ciao,
se le tue clip sono tutte sulla _root, con AS 2.0 basta che dici alla tua clip:- quando sei premuta .getDepth(_root.getNextHighestDepth());
PS:
nello script che hai pubblicato non vedo nessuno scambio di livelli :bho:
-
Ciao, grazie per la risposta... ora provo!!
Per quanto riguarda lo scambio di livelli ti assicuro che funziona!!
Dentro Flash Cs3, nuovo file.fla, due livelli
- azioni
- forme
dentro forme due mc uno di istanza square e l'altra circle,
quando clicco su square o circle questi sono trascinabili e se si sovrappongono, basta cliccare su quello che sta dietro perché passi avanti!!Ma forse non c'entra in relazione a swf esterni :S pensavo che non dipendesse da quello che carico o meno dentro circle o square!!
Cmq provo la tua soluzione e ti faccio sapere!!
Grazie mille!!
-
Non funziona
E tra l'altro non capisco perché non mi funzionano neanche i drag... Fatti semplicemente:
nome_mc.onPress = function () {
startDrag ("_root.nomeclipdatrascinare", true);
}
nome_mc.onRelease = function () {
stopDrag ();
}nome_mc è il movieclip vuoto che carica gli swf esterni (ovviamente il comando è inserito nel gestore eventi e i movieclip vuoti sono istanziati)
-
P.S.
Flep, io avevo scritto
nome_mc.onPress = function () {
on.Press.getDepth(_root.getNextHighestDepth());
}secondo me ci sono troppi onPress e troppi on release
:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?
-
// Sposta l'oggetto selezionato al primo posto nell'elenco di visualizzazione
stage.addChild(draggedObject);
-
Scusa, ma questo codice:
nome_mc.onPress = function () {
startDrag ("_root.nomeclipdatrascinare", true);
}che fai premi nome_mc per trascinare un' altra MovieClip
-
Oddio, in genere quando devo trascinare un oggetto qualsiasi faccio così
Importo l'oggetto, lo converto in clip filmato, chiamiamolo mc1, e dentro mc1, creo un pulsante sullo stato sopra (quindi trasparente) che mi copra tutto mc1, torno ad mc1, seleziono il pulsante e vi associo lo script:
on (press) {
startDrag ("_root.mc1", true);
}
on (release) {
stopDrag ();
}e in genere funziona!! (dimmi se sbaglio)!!
Ma questa volta devo trascinare un swf esterno caricato nell'swf principale tramite loadMovie (rilascio di un tasto carica dentro un movie clip vuoto, diciamo load_mc), e questo swf esterno, tra l'altro, deve essere ''utilizzabile'' dall'utente...quindi non posso coprire load_mc con un bottone trasparente, anche perché il bottone si troverebbe sotto l'swf che carico...come faccio a renderlo draggabile alla pressione e non draggabile al rilascio del mouse???
ed in oltre, ho sempre il problema, che l'utente dovrebbe poter cliccare su uno o un altro swf in modo che questi si spostino in primo piano!!
Non so se sono stato chiaro!!
Tu sei molto gentile peròSe è il caso ti allungo i file (ma non voglio chiedere troppo!!)
Grazie ancora!!
-
Invece di creare un' area sopra al bottone o MovieClip, puoi fare semplicemente così:
nomeMovieClip.onPress=function()
{
this.startDrag();
}da quel codice quindi:
nomeClipCheContieneSWFCaricato.onPres=function()
{
this.getDepth(_root.getNextHighestDepth());
this startDrag();
}
-
Niente ... ho inserito il tuo codice nel gestore ClipEvent assegnandolo ad ogni istanza filmato che mi carica i rispettivi swf esterni ma non accade nulla!!
Non ci capisco!!
A te grazie comunque !!
-
non nel gestore clipEvent !
Impara a scrivere codice sulla timeline, non sui bottoni o sulle MovieClip.
Usa la mia tecnica dalla timeline e vedrai che ti troverai meglio.
-
In che senso??
Io ho un solo livello che chiamo ''azioni'' e scrivo tutto lì, ed il codice l'ho immesso in questo livello ''azioni''... Sono d'accordo con te, scrivo codice nei movieclip solo quando è relativo ad una sua animazione particolare, indipendente dal filmato!!
Ma poi la cosa strana è che per un istante mi ha fatto muovere gli swf, poi niente più (ma ad ogni modo non li portava uno avanti l'altro a secondo di quello che selezionavo)
-
P.S,
i vari movie clip, pulsanti etc. sono su livelli separati da quello ''azioni''
-
ah, dimenticavo.... se si muovevano non erano però attivi, cioé l'swf si muoveva ma i bottoni al suo interno non si azionavano!!
-
Se dentro agli SWF hai dei bottoni, allora ecco perchè creavi 'la finta area' sull' swf caricato, ma non credo ti serva a molto.
Purtroppo in queste situazioni non posso aiutarti molto, ho caricato swf esterni molto raramente, sono abituato a sviluppare con classi AS per cui non so che dirti al momento...
Con Flash se lavori dalla timeline e scrivi tutto lì, se hai bottoni dentro ad una MovieClip a cui applichi degli eventi del mouse sono problemi.
Se sei sulle classi lo gestisci molto meglio.
:bho:
-
Prova a crare un bordo all' interno della MovieClip che carica l' swf e rendi trascinabile solo quello.
-
Ho inserito:
bottone1.onRelease = function() {
mc1.loadMovie("xxxxx1.swf");
};bottone2.onRelease = function() {
mc2.loadMovie("xxxxx2.swf");
};var mc1(mcvuoto che carica l'swf esterno 1):MovieClip;
var mc2(mcvuoto che carica l'swf esterno 2):MovieClip;mc1._level = mc1.getDepth;
mc2._level = mc2.getDepth;var myRoot:MovieClip = this.mc1;
var myRoot:MovieClip = this.mc2;var maxLength:Number = myRoot.getNextHighestDepth();
mc1.onMouseDown = function() {
this.startDrag();
this.swapDepths(maxLength++);
};mc1.onMouseUp = function() {
this.stopDrag();
mc1.swapDepths(loadingcruciverba._level);
};mc2.onMouseUp = function() {
this.startDrag();
this.swapDepths(maxLength++);
};mc2.onMouseDown = function() {
this.stopDrag();
mc2.swapDepths(mc2._level);
};e i movimenti (alla pressione o al rilascio del mouse) e gli avanzamenti in primo piano funzionano...ma le azioni degli swf esterni sono andate a farsi benedire!!
Niente...devo trovare altre soluzioni!! ... Ma ci sono quasi :P....credo
Ti ringrazio comunque per l'attenzione!!
-
ora provo a spostare la discussione su AS.2.0 ...magari lì c'è qualcuno che ha avuto il mio stesso problema