mi dice che "mc" non è definito da nessuna parte ma il nome dell'istanza all'interno del .fla è mc....
Infatti se usi quella classe come classe secondaria, mc non è definito da nessuna parte perchè non necessariamente la classe deve fare riferimento allo stage principale.
Potrebbe dover fare riferimento solo al MovieClip, al suo stage, alla sua timeline, a eventuali movieClip annidati e potrebbe essere già presente e aggiunto allo stage principale da un'altra classe.
Il codice che ti ho proposto sopra è valido e funziona nel caso la classe sia la DocumentClass e quindi in pratica sostituisce perfettamente il codice inserito nel primo fotogramma del .fla.
Se la tua classe non è la DocumentClass puoi fare così:
1. Elimina il tuo MovieClip dallo stage e vai nelle sue proprietà da libreria.
Nella finestra che si apre metti la spunta su Concatenamento > esporta per ActionScript.
Inserisci un nome univoco nel campo Classe, es.: Mc
Dai l' OK
A questo punto è come se avessi creato una nuova classe di nome: Mc > estensione della classe MovieClip.
2. Nel primo fotogramma del .fla inserisci questo codice:
Codice PHP:
import prova_per_menu.Nuovo_movimento
var scelta:Nuovo_movimento = new Nuovo_movimento();
addChild(scelta);
3. Invece la classe NuovoMovimento va scritta così:
Codice PHP:
package prova_per_menu
{
import flash.display.*;
import flash.events.MouseEvent;
import flash.events.*;
public class Nuovo_movimento extends MovieClip
{
var mc:Mc = new Mc();
public function Nuovo_movimento():void
{
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(evento:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
addChild(mc);
mc.addEventListener(MouseEvent.MOUSE_OVER, visualizza_sub);
mc.addEventListener(MouseEvent.MOUSE_OUT, nascondi_sub);
}
private function visualizza_sub(evento:MouseEvent):void
{
mc.gotoAndStop(2);
}
private function nascondi_sub(evento:MouseEvent):void
{
mc.gotoAndStop(1);
}
}
}
Nota che nella dichiarazione della classe ho istanziato una variabile di nome mc e di tipo: Mc ( che corrisponde al nome del MovieClip esportato per AS presente nella libreria del .fla).
Nella funzione init lo aggiungo allo stage con addChild(mc).
Così funziona !
ciao