- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Oggetti condizioni e spostamenti
-
Ciao, supponiamo che movieclip rosa abbia coordinate iniziali x=50 e y=50, lo devi trascinare in un punto preciso dello stage, questo punto preciso deve essere a sua volta un movieclip, nel tuo caso sulla cartina può essere un movieclip con alpha=0 quindi invisibile che chiamo quadro, a questo punto bisogna rilevare se rosa quando viene rilasciato il pulsante del mouse è venuto in contatto con quadro, questo metodo si chiama hitTestObject, se rosa si trova su quadro grazie ad una condizione if ne assume le stesse coordinate, altrimenti ritorna alle coordinate iniziali, ecco il codice:
rosa.x=50 rosa.y=50 rosa.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag_3); function fl_ClickToDrag_3(event:MouseEvent):void { rosa.startDrag(); } stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop_3); function fl_ReleaseToDrop_3(event:MouseEvent):void { rosa.stopDrag(); if(rosa.hitTestObject(quadro)){rosa.x=quadro.x,rosa.y=quadro.y} else{rosa.x=50,rosa.y=50} }
-
Ciao, grazie della risposta
quindi, la mia cartina dove voglio posizionare gli oggetti lo trasformo in un movie clip giusto???
ok per x e y, ma alpha=0 come lo imposto???
io come inizio di rosa è x 24,60 e y 269
scusa se ti faccio queste domande ma è la prima volta che mi occupo dei trascinamenti....
-
Se ho capito bene quello che vuoi realizzare la cartina non occorre che sia un movieclip, può essere una bitmap o un vettoriale perchè è solo uno sfondo, tu posizioni la cartina nel livello 0 come sfondo, ne livello 1 metti un movieclip che puo avere la forma di un rettangolo con alpha=0 ad esempio su Pavia o Milano e sul livello 2 i movieclip col nome delle città.
per impostare alpha=0 ```
nomeIstanza.aplha=0
-
ciao, quindi se ho capito bene devo:
importare dentro lo stage cartina.gif al livello 0
dopo mi creo livello 1 e metto un cerchio sopra alla città es: Milano che lo convertirò in moviclip e chiamerò milano
nel livello 2 a questo punto mi creo un altro cerchio ma con dentro il nome della città milano...questo lo convertirò in moviclip chiamandolo rosa
e nel'action mettero questo codice
milano.alpha=0rosa.x=24.60rosa.y=269.00rosa.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag_3);function fl_ClickToDrag_3(event:MouseEvent):void{rosa.startDrag();}stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop_3);function fl_ReleaseToDrop_3(event:MouseEvent):void{rosa.stopDrag();if(rosa.hitTestObject(quadro)){rosa.x=quadro.x,rosa.y=quadro.y}else{rosa.x=24.60,rosa.y=269} }giusto????
-
Ops??!!! il codice si è unito tutto...
scusa come faccio a fartelo vedere normale???
-
milano.alpha=0 rosa.x=24.60 rosa.y=269.00 rosa.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag_3); function fl_ClickToDrag_3(event:MouseEvent):void { rosa.startDrag(); } stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop_3); function fl_ReleaseToDrop_3(event:MouseEvent):void { rosa.stopDrag(); if(rosa.hitTestObject(quadro)){rosa.x=quadro.x,rosa.y=quadro.y} else{rosa.x=24.60,rosa.y=269.00} }
-
Il codice va scritto dentro i tag code: aperta parentesi quadra scrivi code e chiudi, scrivi il codice, apri quadra scrivi /code e chiudi.
-
Be no scusa a qusto punto la stringa:
if(rosa.hitTestObject(quadro)){rosa.x=quadro.x,rosa.y=quadro.y}
devi modificarla così
if(rosa.hitTestObject(milano)){rosa.x=milano.x,rosa.y=milano.y}
rosa intercetterà il movieclip milano giusto?
-
Quindi metterò
if(rosa.hitTestObject(milano)){rosa.x=milano.x,rosa.y=milano.y}
rosa intercetterà il movieclip milano giusto?[/QUOTE]
si..
l'altra parte di codice in cui settavo milano era giusto, vero???
-
Si mi sembra giusto non ti resta che testare.
-
Stasera, provo, in quanto adesso non ho Flash a portata...
Grazie
Ti faro sapere
-
-
mi da errori
Scene 1, Layer 'Layer 3', Frame 1, Line 3 1120: Access of undefined property rosa.
Scene 1, Layer 'Layer 3', Frame 1, Line 2 1120: Access of undefined property rosa.
Scene 1, Layer 'Layer 3', Frame 1, Line 1 1120: Access of undefined property milano.
Scene 1, Layer 'Layer 3', Frame 1, Line 20 1120: Access of undefined property rosa.
Scene 1, Layer 'Layer 3', Frame 1, Line 20 1120: Access of undefined property rosa.
Scene 1, Layer 'Layer 3', Frame 1, Line 19 1120: Access of undefined property milano.
Scene 1, Layer 'Layer 3', Frame 1, Line 19 1120: Access of undefined property rosa.
Scene 1, Layer 'Layer 3', Frame 1, Line 19 1120: Access of undefined property milano.
Scene 1, Layer 'Layer 3', Frame 1, Line 19 1120: Access of undefined property rosa.
Scene 1, Layer 'Layer 3', Frame 1, Line 19 1120: Access of undefined property milano.
Scene 1, Layer 'Layer 3', Frame 1, Line 19 1120: Access of undefined property rosa.
Scene 1, Layer 'Layer 3', Frame 1, Line 18 1120: Access of undefined property rosa.
Scene 1, Layer 'Layer 3', Frame 1, Line 9 1120: Access of undefined property rosa.non capisco per quale ragione
milano.alpha=0 rosa.x=17 rosa.y=170 rosa.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag_3); function fl_ClickToDrag_3(event:MouseEvent):void { rosa.startDrag(); } stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop_3); function fl_ReleaseToDrop_3(event:MouseEvent):void { rosa.stopDrag(); if(rosa.hitTestObject(milano)){rosa.x=milano.x,rosa.y=milano.y} else{rosa.x=17,rosa.y=170}
-
ho il livello 0 in cui ho importato la foto
nel livello 1 ho creato il quadrato che ho convertito in movie clip chiamandolo Milano
nel livello 2 ho creato un altro quadrato che che ho convertito in movie clip chiamandolo rosa e poi ho inserito quell'azione...ma niente mi da quella lista di errori
cosa sbaglio??
ho pensato che fosse perche avevo scritto Milano in minuscolo e non in maiuscolo ma non è cosi...
-
Ma hai messo il nome istanza nell'apposito campo della finestra proprietà di Flash?
-
Eh no
adesso funziona...
nel caso in cui l'alunno indovini la posizione far comparire anche una scritta in un rettangolo a parte con scritto "DATO ERRATO" come posso fare????
-
E' semplice, fai un movieclip, che avrà il primo frame, senza scritta e con uno stop() mentre ne secondo frame la scritta dato errato, poi lo mandi in play nella condizione if.
-
Non riesco a capire...
io ho realizzato quest'esempio...
una volta che l'elicottero si forma dovrebbe comparire la scritta "BRAVO" come faccio???
non riesco a montarlo....
-
Quà ci sono due elemeti da considerare, devi creare una funzione che contenga la condizione che quando entrambi gli elementi sono alle coordinate giuste parta il movieclip bravo.
cabina.x=50 cabina.y=50 coda.x=150 coda.y=50 cabina.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag_3); function fl_ClickToDrag_3(event:MouseEvent):void { cabina.startDrag(); } stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop_3); function fl_ReleaseToDrop_3(event:MouseEvent):void { cabina.stopDrag(); if(cabina.hitTestObject(cabina2)){cabina.x=cabina2.x,cabina.y=cabina2.y bravo() } else{cabina.x=50,cabina.y=50} } coda.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag_4); function fl_ClickToDrag_4(event:MouseEvent):void { coda.startDrag(); } stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop_4); function fl_ReleaseToDrop_4(event:MouseEvent):void { coda.stopDrag(); if(coda.hitTestObject(coda2)){coda.x=coda2.x,coda.y=coda2.y bravo() } else{coda.x=150,coda.y=50} } //funzione che fa parrtire mc_bravo se entrambi gli elemeti sono in posizione function bravo() { if(cabina.x==cabina2.x&&coda.x==coda2.x){mc_bravo.gotoAndPlay(2)} }
Attenzione ho istanziato cabina e coda gli elementi da trascinare e cabina2 e coda2 i movieclip invisibili di controllo.
-
Quindi, io nel livello 3, vado nel secondo frame creando una scritta "BRAVO". in seguito la trasformo in moviclip chiamandolo mc_bravo giusto????