Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Muovere un oggetto da tastiera e detect di collisione con un oggetto in movimento

    Mi pare che il titolo sia già esplicativo...
    Sono un utente alle prime armi con Flash, e sto cercando di capire il funzionamento degli action script..
    Vorrei fare in modo che un MC, si sposti di x quando schiaccio un bottone della tastiera, e che il programma si accorga quando collide con l'animazione di un'altro MC.
    Da quello che ho capito dovrei usare il comando "hitTest", ma non riesco nel mio intento..
    Qualcuno potrebbe farmi un esempio di codice, please?
    Se siete talmente gentili da commentare anche le righe che scrivete mi fareste un grosso favore: ripeto, sono alle prime armi con Flash..
    Grazie a tutti quelli che perderanno del tempo su questa cosa!!
    Chi visse bla bla bla, morì bim bum bam...

  2. #2
    per quel che riguarda muovere un movie clip da tastiera ti rimando a www.flashplanet.it : nella sezione corsi, c'è quello per realizzare un gioco in Flash, e tra i suoi capitoli è presente proprio come muovere un oggetto da tastiera

    per quel che riguarda l'hitTest, l''azione è più o meno così

    if(_root.nomemc.hitTest(_root.nomeMc2){
    //azioni da eseguire
    }

    Al posto di nomemc e nomeMc2 metti i nomi istanza dei tuoi movie clip (il nome istanza si assegna dal pannello Istance), e al posto di
    //azioni da eseguire inserisci lo script da eseguire quando i due movie clip collideranno

    Ciao

  3. #3

    Per muovere

    ubn oggetto da tastiera, occorre che quest'oggetto sia un movie clip e gli dai un nome con ctrl-i. Crei un pulsante, lo metti al di fuori dello stage e gli dai queste action:

    on (keyPress "<Up>") {
    _root.mc._x+=5;
    }
    on (keyPress "<Down>") {
    _root.mc._x-=5;
    }
    on (keyPress "<Left>") {
    _root.mc._y-=5;
    }
    on (keyPress "<Right>") {
    _root.mc._y+=5;
    }

    Sempre che per i tasti tu usi le freccette, altrimenti sostituisci con quello che vuoi.
    Ito

    Se voi sapeste la metà di quello che so io, io ne saprei il doppio.

    IN NAP'S MEMORY. R.I.P.
    Aguzza l'ingegno...

  4. #4

    ringraziamenti

    Grazie a entrambi per gli ottimi consigli: li provo all'istante.
    Chi visse bla bla bla, morì bim bum bam...

  5. #5
    il metodo suggerito da zrobber non è l'unico per muovere il movie clip, sul corso di Flashplanet c'è l'altro (assegnare le azioni al movie clip), in ogni caso funzionano tutti e 2, a te la scelta

    Ciao

  6. #6

    Mi sono

    accorto ora che mi sono incasinato con le x e le y
    Cmq, poi sistemi.
    Ito

    Se voi sapeste la metà di quello che so io, io ne saprei il doppio.

    IN NAP'S MEMORY. R.I.P.
    Aguzza l'ingegno...

  7. #7

    Quello che

    intende Broly credo sia questo:

    on (keyPress "<Up>") {
    _root.su=true
    }
    on (keyRelease "<Up>") {
    _root.su=false
    }
    1 variabile per tasto che premi (su, giu, dx, sx)

    all'mc:

    onClipEvent (enterFrame) {
    if (_root.su) {
    _y+=5;
    }
    }
    onClipEvent (enterFrame) {
    if (_root.giu) {
    _y-=5;
    }
    }

    e così via.

    in questo modo il mc si sposta tenendo premuto il tasto e non continuando a fare premi-rilascia.
    Ito

    Se voi sapeste la metà di quello che so io, io ne saprei il doppio.

    IN NAP'S MEMORY. R.I.P.
    Aguzza l'ingegno...

  8. #8

    Re: Quello che

    Originariamente inviato da zrobber
    intende Broly credo sia questo:

    on (keyPress "<Up>") {
    _root.su=true
    }
    on (keyRelease "<Up>") {
    _root.su=false
    }
    1 variabile per tasto che premi (su, giu, dx, sx)

    all'mc:

    onClipEvent (enterFrame) {
    if (_root.su) {
    _y+=5;
    }
    }
    onClipEvent (enterFrame) {
    if (_root.giu) {
    _y-=5;
    }
    }

    e così via.

    in questo modo il mc si sposta tenendo premuto il tasto e non continuando a fare premi-rilascia.
    + o -
    quello che intendo io è

    onClipEvent(EnterFrame){

    onClipEvent(enterFrame){
    if(Key.is.Down(Key.RIGHT)){
    //azioni
    }



    che alla fine è =, il risultato è lo stesso...risparmia solo un paio di righe

    Ciao

  9. #9
    HEI a me risulta, almeno in flash 5, che keyRelease non funziona mi sapete dire???

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.