Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037

    [MX 2004] eredità, classi,riferimenti

    ciao a tutti!
    Vado subito al sodo, ho fatto un esempio con la macchina:
    codice:
    // la classe per la macchina
    class Macchina extends MovieClip{
    	private var _speed:Number = 5;
    	function Macchina() {
    	}
    	public function set speed(sp:Number):Void {
    		this._speed = sp;
    	}
    	public function get speed():Number {
    		return _speed;
    	}
    } 
    // la classe per la ruota,in un file separato
    class Ruota extends Macchina {
    	private var _id:Number;
    	function Ruota() {
    	}
    	private function mov():Void {
    		_rotation += _speed;
    	}
    	public function moving():Void {
    		_id = setInterval(this, 'mov', 50);
    	}
    	public function ferma():Void {
    		clearInterval(_id);
    	}
    }
    nel mio filmato c'è la macchina nominato auto_mc, che contiene dentro 2 mc di ruota, sia la auto sia le ruote sono concatenate con le loro classi.
    La domanda e che devo fare riferimento per forza anche ai percorsi es:
    auto_mc.ruota1_mc.moving();
    auto_mc.ruota2_mc.moving();
    come posso strutturare le classi che io possa dire semplicemente:
    auto_mc.moving(); o auto_mc.ferma();
    come auto_mc.speed= 10
    grazie

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    qualcosa di simile

    codice:
    class Macchina extends MovieClip
    {
    	private var _speed:Number = 5;
    	private var _ruota1:Object;
    	private var _ruota2:Object;
    
    	public function setWheelReference(w1:Object, w2:Object):Void
    	{
    		_ruota1 = w1;
    		_ruota2 = w2;	
    	}
    	public function start():Void
    	{
    		_ruota1.moving();
    		_ruota1.moving();
    	}
    	public function stop():Void
    	{
    		_ruota1.ferma();
    		_ruota1.ferma();
    	}
    	public function set speed(sp:Number):Void
    	{
    		_speed = sp;
    	}
    	public function get speed():Number
    	{
    		return _speed;
    	}
    }

  3. #3
    Spero di non dire una castroneria ...


    invece di :
    auto_mc.ruota1_mc.moving();
    auto_mc.ruota2_mc.moving();


    prova con

    var ruota1:MovieClip = this["auto_mc"]["ruota1_mc"];
    var ruota2:MovieClip = this["auto_mc"]["ruota2_mc"];


    ruota1.move();
    ruota2.move();



    [ editato ]
    oppure fai come dice negative e passi a
    setWheelReference(w1:Object, w2:Object)
    i percorsi delle ruote
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    grazie a tutti due!!!!
    per andr3a: cmq. in quell modo dovrei sempre dichierare 2 o 4 volte.
    e con interface o con le classe dinamiche?
    ho provato anche inserire nella classe Macchina,nel metodo start Ruota.moving(), mi da errore.Non esiste una parolachiave contarario di super?Se no diventa tutto macchinoso.
    grazie

  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    >Non esiste una parolachiave contarario di super?
    >Se no diventa tutto macchinoso.

    Beh, lo è per forza, perchè comunque non si tratta di richiamare la funzione di costruzione della classe, ma di richiamare un metodo su delle istanze. E' tutto un altro discorso. Come fa a sapere la macchine quante e quali ruote hai se non glielo dici?

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    e beh, hai pienamente ragione ti ringrazio!grazie

  7. #7
    Originariamente inviato da polliotto
    per andr3a: cmq. in quell modo dovrei sempre dichierare 2 o 4 volte.
    purtroppo ho clickato rispondi, ho fatto un paio di prove e quando ho postato negative t'aveva gia' risolto il problema ... era comunque una alternativa "spicciola", mi spiace
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    ringrazio anche a te comunque!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.