![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
Hey Amico Visitatore, Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Flash & ActionScript |
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User
Data di registrazione: Mar 2010
Ubicazione: Teramo, Italy
Messaggi: 37
|
Ciao a tutti!
Ho bisogno del vostro aiuto se possibile! Problema 1: ho un file .fla contenente vari movieclip.Ogni movieclip è animato attraverso la timeline. Devo collegare il pulsante che si trova in un movieclip A a un movieclip B o un movieclip C a random, ovvero cliccando sul pulsante del movieclip A a volte si arriva al movieclip B e altre volte si arriva al movieclip C. Problema 2: ho un movieclip (strada) animato tramite la timeline.L'animazione consiste nel passaggio di automobili da un lato all'altro dello stage (tramite interpolazione di movimento). Devo mettere un semaforo che quando diventa verde provoca lo stop delle automobili prima delle strisce pedonali (disegnate nel background dello stage). (Nello stato del semaforo rosso invece le automobili continuano a circolare liberamente). Problema 3: ho un pulsante nel movieclip strada. Devo far sì che quando viene premuto se il semaforo è rosso mi porta a un altro movieclip (mc2),se è verde a un altro movieclip ancora (mc3). Vi prego aiutatemi!! Grazie mille!! ![]() |
|
|
|
|
|
|
|
#2 (permalink) |
|
Moderatore
Data di registrazione: May 2008
Messaggi: 2,551
|
Ciao melaniaflash, quante cose tutte in una volta forse era meglio aprire più discussioni.
Per il problema numero 1 potresti caricare in modo random i clip dalla libreria con questo Codice:
var myArray = new Array(); myArray = ["obj1", "obj2"]; btn.onPress = function(){ objRandom = Math.floor(Math.random()*2); trace(objRandom); _root.shimContainer.attachMovie(myArray[objRandom], shim, 1); } Per quanto riguarda lo stop a seconda del semaforo penso si potrebbe fare con una condizione if, se come credo il semaforo cambia colore passando da un frame 1 rosso al frame 2 verde si potrebbe fare Codice:
if(mc_semaforo._currenframe==2)
{
mc_auto.stop()
}
}else{play()
}
|
|
|
|
|
|
#3 (permalink) |
|
User
Data di registrazione: Mar 2010
Ubicazione: Teramo, Italy
Messaggi: 37
|
Ciao Nhatan!
Grazie per la risposta. ![]() Ho appena provato il codice per gestire la visualizzazione dei movieclip a random, ma purtroppo non funziona. Probabilmente sbaglio qualcosa, ora ci riproverò. Di sicuro, però, è sbagliato scrivere "_root" in quanto AS3 non lo riconosce, ma lo ha in qualche modo sostuito con la parola chiave "stage". Poi volevo chiederti: "shimContainer", nel .fla, dove devo posizionarlo? Nel primo fotogramma dei due movieclip che voglio visualizzare a random, o nel primo fotogramma di tutto il file .fla? Grazie mille per l'aiuto! |
|
|
|
|
|
#5 (permalink) |
|
Moderatore
Data di registrazione: May 2008
Messaggi: 2,551
|
Questo invece è as3 mettilo dentro la funzione.
Codice:
var mc:Array= new Array(); mc[0]= new mc1(); mc[1]= new mc2(); var drawNum = Math.round(Math.random() * 1); addChild(mc[drawNum]); (mc[drawNum]).y=200,(mc[drawNum]).x=300; |
|
Ultima modifica di Nhatan : 24-04-10 13:22. |
|
|
|
|
|
|
#6 (permalink) |
|
User
Data di registrazione: Mar 2010
Ubicazione: Teramo, Italy
Messaggi: 37
|
Ciao! Grazie ancora per la tua disponibilità.
Scusami se ho omesso di precisare che era AS3, probabilmente mi è sfuggito! Comunque anche con l'AS3 che hai scritto non va. Questo è il mio script AS: package { import flash.display.MovieClip; import flash.events.MouseEvent; public class Attraversare extends MovieClip { var startPage:StartPage; var giocoPage:GiocoPage; var rossoPage:RossoPage; var verdePage:VerdePage; var attraversaRossoPage:AttraversaRossoPage; var attraversaVerdePage:AttraversaVerdePage; var ambulanzaPage:AmbulanzaPage; var benePage:BenePage; public function Attraversare() { startPage = new StartPage(); giocoPage = new GiocoPage(); attraversaRossoPage = new AttraversaRossoPage(); attraversaVerdePage = new AttraversaVerdePage(); ambulanzaPage = new AmbulanzaPage(); benePage = new BenePage(); addChild(startPage); startPage.startPulsante.addEventListener(MouseEven t.CLICK, onStartPulsanteClick); giocoPage.goPulsante.addEventListener(MouseEvent.C LICK, onGoPulsanteClick); rossoPage.stradinaRossoPulsante.addEventListener(M ouseEvent.CLICK, onStradinaRossoPulsanteClick); verdePage.stradinaVerdePulsante.addEventListener(M ouseEvent.CLICK, onStradinaVerdePulsanteClick); ambulanzaPage.giocaAncoraDaAmbulanzaPulsante.addEv entListener(MouseEvent.CLICK, onGiocaAncoraDaAmbulanzaPulsanteClick); benePage.giocaAncoraDaBenePulsante.addEventListene r(MouseEvent.CLICK, onGiocaAncoraDaBenePulsanteClick); } function onStartPulsanteClick (event:MouseEvent):void { addChild(giocoPage); removeChild(startPage); } function onGoPulsanteClick (event:MouseEvent):void { //FUNZIONE PER RANDOM } function onStradinaRossoPulsanteClick (event:MouseEvent):void { addChild(attraversaRossoPage); removeChild(rossoPage); } function onStradinaVerdePulsanteClick (event:MouseEvent):void { addChild(attraversaVerdePage); removeChild(verdePage); } function onGiocaAncoraDaAmbulanzaPulsanteClick (event:MouseEvent):void { addChild(giocoPage); removeChild(ambulanzaPage); } function onGiocaAncoraDaBenePulsanteClick (event:MouseEvent):void { addChild(giocoPage); removeChild(benePage); } } } Le variabili rossoPage e verdePage contengono i movieclip che voglio visualizzare a random. La funzione per gestire il random deve partire da onGoPulsanteClick. Avevo provato a inserire tutto il codice che mi hai scritto nella function onGoPulsanteClick. Il compilatore mi mostra gli errori: 1180: Chiamata al metodo non definito mc1. 1120: Accesso alla proprietà non definita mc. 1120: Accesso alla proprietà non definita drawNum. Dove sbaglio? Grazie ancora! |
|
|
|
|
|
#7 (permalink) |
|
Moderatore
Data di registrazione: May 2008
Messaggi: 2,551
|
Quel codice così com'è funziona se lo metti sulla time line se lo metti nella document class, non funziona , ma se quello script lo hai fatto tu, e quindi non mi vergogno a riconoscere che sei molto più brava di me, dovresti saperlo.
|
|
|
|
|
|
#8 (permalink) |
|
User
Data di registrazione: Mar 2010
Ubicazione: Teramo, Italy
Messaggi: 37
|
Si lo script l'ho fatto io dopo aver letto un po' di libri americani sul game design con flash e game programming con AS3..ma sono solo all'inizio della messa in pratica e alcuni concetti lio ho letti, ma non li ho ancora assimilati bene. Procedo per gradi e spesso mi trovo dinanzi a problemi che non so risolvere!
Pensavo di fare tutto tramite lo script e non aggiungere niente tramite la timeline, ma a questo punto farò così..sperando che vada! Ti ringrazio davvero tantissimo! A risentirci! |
|
|
|