Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [AS 2.0] Gestire hitTest con le classi

    Ciao a tutti!
    Ho un problema con le classi in flash mx 2004: ho creato una classe padre e due classi figlie; le 2 classi figlie sono istanziate sulla root attraverso attachMovie, quindi ogni istanza si chiama nomeIstanza_mc.
    Al caricamento del filmato le due istanze sono ferme, e al click di un bottone queste iniziano a muoversi sull'asse x, esse sono anche draggabili (sono metodi della classe padre).
    Il movimento viene dato attraverso un incremento della posizione x ogni onEnterFrame.

    Il mio problema è che devo gestire anche la collisione delle 2 istanze, però se definisco la funzione con hitTest nel fla principale non funziona...dovrei deifnire il metodo nella classe padre, ma come faccio a gestire le collisioni di oggetti senza i nomi delle istanze?

    Spero di essermi spiegato bene! Grazie a tutti per l'aiuto!

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Usa un metodo statico della classe padre per creare le istanze delle classi figlie, in modo da restituire alla classe padre i nomi di istanza per cui verificare le collisioni..

  3. #3
    Originariamente inviato da negatyve
    Usa un metodo statico della classe padre per creare le istanze delle classi figlie, in modo da restituire alla classe padre i nomi di istanza per cui verificare le collisioni..
    Non ho capito molto bene... praticamente mi stai dicendo di creare una funzione nella classe padre che istanzi le due classi figlie sulla root direttamente? in modo da avere i nomi delle istanze....ma se è giusto quello che ho capito, che metodo uso nella classe per istanziare gli elementi che ho nella libreria?? scusa tutte queste domande ma è da poco che mi cimento con le classi, per cui vorrei capire bene

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Tanto per capirci:

    codice:
    class ClasseFiglia1 extends ClassePadre
    {
    
    }
    codice:
    class ClasseFiglia2 extends ClassePadre
    {
    
    }
    codice:
    class ClassePadre extends MovieClip
    {
    	static function createChild(symbolName:String, newName:String, scope:MovieClip):MovieClip
    	{
    		return scope.attachMovie(symbolName, newName, scope.getNextHighestDepth());
    	}
    }
    Nella libreria del filmato hai tre movieclip:

    1. linkage "figlia1", classe "ClasseFiglia1"
    2. linkage "figlia2", classe "ClasseFiglia2"
    1. linkage "padre", classe "ClassePadre"

    Nella timeline principale:

    codice:
    var mc1 = ClassePadre.createChild("figlia1", "item1", this);
    var mc2 = ClassePadre.createChild("figlia2", "item2", this);

  5. #5
    Grazie 1000!
    Il tuo aiuto è stato provvidenziale! Era un metodo che non conoscevo. Ciao!

  6. #6
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Di niente..

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.