Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    mc.onEnterFrame che cicla una sola volta?

    ciao
    sullo stage ho castoro_mc, e in un frame di _root ho:
    codice:
    castoro_mc.onEnterFrame = function() {
      se (castoro ha fame)
       mangia += 1tronchetto
      altrimenti
       non mangia più
    }
    funziona.

    ma volendo trasformare questo in una funzione
    codice:
    function mangia(mctarget) {
      se (mctarget ha fame)
       mangia += 1tronchetto
      altrimenti
       non mangia più
    }
    e di conseguenza
    codice:
    castoro_mc.onEnterFrame = mangia(_root.castoro_mc)
    mangia solo 1 tronchetto, cicla solo 1 volta, e poi si ferma.
    Al grido di "ROOKIE, ROOKIE" sapreste indicarmi la via?
    Un tronchetto della felicità a tutti.
    Grazie

  2. #2
    Per le funzioni utilizza il setInterval
    codice:
    function mangia(mctarget) {
      se (mctarget ha fame)
       mangia += 1tronchetto
      altrimenti
       non mangia più
       clearInterVal(a)
    }
    a=setInterval(mangia,1000);

  3. #3
    grazie, adesso rispolvero il setInterval.
    Cmq volevo dirti che il tuo avatar non sa molto di roditore.

  4. #4
    nada. Sortisce lo stesso identico effetto: effettua un solo step del ciclo...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    795
    prova con this invece di _root.castoromc
    <sfogo> ma porco giuda, leggerlo l'help online ogni tanto! </sfogo>

  6. #6
    Ti effettua un ciclo solo perchè la condizione che sta all'interno della funzione già alla seconda richiamata diventa flalsa, quindi devi controllare la condizione. Con l'enterFrame è probabile che ti effettui un ciclo solo, ma con il setInterval messo in quel modo significa che la condizione blocca subito il richiamo

  7. #7
    ma com'è possibile allora che funzioni con mc.onEnterFrame?
    Così su due piedi, anche con questo metodo dovrei ottenere un solo ciclo, e inece procede fino alla fine.

  8. #8
    Non saprei perchè, anche a me succede che con un cli, o la root fnzioni, e con altri clip no, forse perchè già ci sono altri enterFrame associati a quel clip, qindi vanno in conflitto tra loro.


  9. #9

    risolto?

    Ciao ho risolto, leggendo fra le righe di questo tutorial: http://www.kirupa.com/developer/acti...namicevent.htm

    Insomma, funziona passando il nome della funzione senza parentesi:
    castoro_mc.onEnterFrame = mangia;

    Così però mi vengono fuori nuovi dubbi:
    e se dovessi passare degli argomenti a questa funzione?
    e ancora, che significato ha questa scrittura? mi ricorda un pò la differenza fra gli operatori & e * lavorando con i puntatori in C.


  10. #10
    Se devi passare degli argomenti utilizza questa sintassi
    myClip.onEnterFrame=function(){goRight(1,3);}
    c'è scritto nel link.
    Io non conosco il C, ma così crei una funzione e gli assegni l'evento.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.