- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- ActionScript 3.0 e pulsanti_btn nidificati nei filmati?
-
ActionScript 3.0 e pulsanti_btn nidificati nei filmati?
Creo il mio sito con
1 & 2) il sommario verticale con N bottoni e gli stessi3 ) le scene o meglio i ClipFilmati che hanno il nome delle scene
adesso se nell CF totale_MC metto dentro il sommario_MC
e volessi che i pulsante btn1 vada nel CFTotale_MC e nel relativo fotogramma contenente il Filmato1 ?
Cosa dovrei fare ?se uso il seguente codice
btn1.addEventListener(MouseEvent.CLICK,vai); function vai (event:MouseEvent) { this.CFTotale_MC.Filmato1.gotoAndPlay(5); }
mi viene fuori il seguente errore dal OUTPUT
TypeError: Error #1010: Un termine risulta undefined e non ha proprietà. at sommario/vai()
-
Caio errore 1010 perchè quando flash legge il codice non trova l'istanza evidentemente non è ancora presente sullo stage perchè è in frame più avanti, se è un clip filmato puoi risolvere mettendola in un livello dedicato la metti sul primo frame con l'alpha a zero e porti l'alpha a 1 quando vuoi che compaia.
-
@Nhatan said:
Caio errore 1010 perchè quando flash legge il codice non trova l'istanza evidentemente non è ancora presente sullo stage perchè è in frame più avanti, se è un clip filmato puoi risolvere mettendola in un livello dedicato la metti sul primo frame con l'alpha a zero e porti l'alpha a 1 quando vuoi che compaia.
Quindi i clip filmati nidificati non sono nello stage ?
-
Non intendevo questo, intendevo dire che quando flash legge il codice, la testina di riproduzione non è ancora passata sul clip nidificato, perchè questo non è presente nel primo frame, ma viene trovato solo dopo, infatti l'errore dice accesso ad una proprietà non definita, se invece tu lo metti nel primo frame del clip contenitore vedrai che viene trovato, comunque puoi fare anche così: se ad esempio chiami mc1 il clip contenitore e mc2 il clip nidificato nel primo frame scrivi
mc1.buttonMode=true mc1.addEventListener(MouseEvent.CLICK, onClick); function onClick(evt:MouseEvent):void { if(mc1.mc2.hitTestPoint(mouseX,mouseY,true)){ trace("Click sul pulsante nidificato") } }
Il clip nidificato viene trovato anche se è in un frame interno, è il metodo hitTest di as2 che in as3 diventa hitTestpoint.