- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Oggetti condizioni e spostamenti
-
Oggetti condizioni e spostamenti
Ciao a tutti,
io ho un quesito di questo tipo
devo realizzare una carta geografica della lombardia
vorrei che l'utente sposasse dei quadrati con dentro i nomi delle città lombarde posizionate in un angolo a parte
io devo mettere ognuno di questi quadrati dentro la cartina geografica della lombardiacome posso fare???
è un progetto che sto realizzando per i bambini di scuola
grazie
-
Se vuoi usare Flash ho trovato un video che forse potrebbe interessarti.
[h=1]Cerca su Google o su Youtube "Creating a Drag & Drop Game in Adobe Flash"
-
ciao
provato a vedere il video..
utile fino ad un certo punto...
perchè se la regione che io metto è sbagliata non dovrebbe rimanere li, ma tornare indietro...in quel caso, come posso mettere la condizione???
io avrei un esempio da me realizzato da inserire per farlo vedere come faccio????
in questo comando ad esempio
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();
}come faccio a dire che se è giusto rosa rimane dov'è mentre se è sbagliato deve tornare indietro???
Grazie
-
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.