leggo (abbastanza)
capisco (mica tanto...)
perchè?
leggo (abbastanza)
capisco (mica tanto...)
perchè?
A proposito del setInterval, non andrebbe comunque inserito nell'evento onEnterFrame per funzionare? o altrimenti non l'avevo mai utilizzato bene io![]()
Prova a buttare un occhio qui: http://www.debreuil.com/docs/ch01_Intro.htm
naturalmente (anche se nel nostro esempio sarebbe non corretto) a parte i componenti io posso definire una classe globale
fuori dal clip
e associarla così al clip stessocodice:_global.FaderClass = function() { this.init(); }; // ================= definizione metodi ... // ================= fine definizione metodi
Questo era solo per prendere più familiarità con l'implementazionecodice:#initclip Object.registerClass("fade", FaderClass); #endinitclip![]()
Certo, puoi fare anche quello.
Domani modifico il tuo codice con il setinterval..
Grazie, per la tua disponibilità! sto leggendo la guida che mi hai proposto e mi sembra che sia scritta in un inglese abbastanza semplice...
A me risulta difficile capire bene articoli del quale non conosco quasi nulla , magari se so un pò l'argomento riesco a cpairci un pò di più!
Allora a domani![]()
made-in-flash
Per ora sono arrivato qua
Un ultima cosa, secondo te, e qui esco un pò dal discorso, magari prendendone uno un pò troppo vasto, qual'è il modo migliore per definire i clip in flash Mx?codice:#initclip // Definisco il costruttore della classe da associare al mio clip / componente FaderClass = function () { this.init(); }; // Eredito i metodi della classe MovieClip per la mia classe FaderClass.prototype = new MovieClip(); // definisco gli eventi(metodi di MovieClip) del clip / componente FaderClass.prototype.onEnterFrame = function() { this.fade(); }; // Definisco gli eventi dei pulsanti del componente nel metodo di inizializzazione della classe FaderClass.prototype.init = function() { this.button1.onRelease = function() { this._parent.fade_in(); }; this.button2.onRelease = function() { this._parent.fade_out(); }; }; // ========================= Inizio metodi che controllano il fade dell'oggetto target FaderClass.prototype.fade_in = function() { this.start_fade_in = true; }; FaderClass.prototype.fade_out = function() { this.start_fade_out = true; }; FaderClass.prototype.fade = function() { if (this.oggetto_fade._alpha>0 && this.start_fade_out == true) { this.oggetto_fade._alpha -= 5; } else { this.start_fade_out = false; } if (this.oggetto_fade._alpha<100 && this.start_fade_in == true) { this.oggetto_fade._alpha += 5; } else { this.start_fade_in = false; } }; // ========================= Fine dei metodi che controllano il fade // Registro la classe "FaderClass" e la associo al mio componente Object.registerClass("fade", FaderClass); #endinitclip
Diciamo che quello che stiamo facendo potrebbe essere la strada migliore da intraprendere?
CIAO!
>qual'è il modo migliore per definire i clip in flash Mx?
definire in che senso?
definirne gli eventi e/o metodi partendo dal presupposto che vorrei trattare sempre i miei clip come oggetti da tutti i punti di vista
e quali sono secondo te in pratica i veri vantaggi di programmare ad oggetti in flash (soprattutto per quello che riguarda i clip)
ad esempio:
codice:#initclip FaderClass = function () { this.init(); }; FaderClass.prototype = new MovieClip(); FaderClass.prototype.init = function() { this.fadeDIR = "I"; this.fadein_btn.onRelease = function() { this._parent.fade_in(); }; this.fadeout_btn.onRelease = function() { this._parent.fade_out(); }; }; FaderClass.prototype.setObject = function(oggetto) { this.oggetto_fade = oggetto; }; FaderClass.prototype.fade_in = function() { if(this.fadeDIR == "I")return; this.fadeDIR = "I"; clearInterval(this.fadeID); this.fadeID = setInterval(this, "doFade", 50, 5); }; FaderClass.prototype.fade_out = function() { if(this.fadeDIR == "O")return; this.fadeDIR = "O"; clearInterval(this.fadeID); this.fadeID = setInterval(this, "doFade", 50, -5); }; FaderClass.prototype.doFade = function(factor) { switch(this.fadeDIR) { case "O": if(this.oggetto_fade._alpha <= 0){ clearInterval(this.fadeID); this.oggetto_fade._alpha = 0; return; } break; case "I": if(this.oggetto_fade._alpha >= 100){ clearInterval(this.fadeID); this.oggetto_fade._alpha = 100; return; } } this.oggetto_fade._alpha += factor; }; Object.registerClass("FaderSymbol", FaderClass); #endinitclip