• User

    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.... 🙂


  • Super User

    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


  • User

    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????


  • User

    Ops??!!! il codice si è unito tutto...

    scusa come faccio a fartelo vedere normale???


  • User
    
    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}
         
    }
    
    

  • Super User

    Il codice va scritto dentro i tag code: aperta parentesi quadra scrivi code e chiudi, scrivi il codice, apri quadra scrivi /code e chiudi.


  • Super User

    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?


  • User

    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???


  • Super User

    Si mi sembra giusto non ti resta che testare.


  • User

    Stasera, provo, in quanto adesso non ho Flash a portata...

    Grazie

    Ti faro sapere


  • Super User

    :ciauz:


  • User

    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}
    
    
    

  • User

    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...


  • Super User

    Ma hai messo il nome istanza nell'apposito campo della finestra proprietà di Flash?


  • User

    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????


  • Super User

    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.


  • User

    Non riesco a capire...

    io ho realizzato quest'esempio...

    missbenessere.net/elicottero

    una volta che l'elicottero si forma dovrebbe comparire la scritta "BRAVO" come faccio???

    non riesco a montarlo....


  • Super User

    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.


  • User

    Quindi, io nel livello 3, vado nel secondo frame creando una scritta "BRAVO". in seguito la trasformo in moviclip chiamandolo mc_bravo giusto????


  • User

    Scusa, ho provato ad andare nel frame 2 del Layer 3. ho messo insert keyframe inserito il testo "bravo", quest'ultimo convertito in moviclip mc_bravo ed anche come istanza mc_bravo

    ma mi loopa il filmato continua ad andare in loop. non dovrebbe rimanere fermo???