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

    Movimenti degli oggetti in AS

    Buona sera! Sto cercando di realizzare una palla che si muove per lo schermo con moto uniforme, alla pressione di un pulsante.
    In teoria sembra semplice ma credo di sbagliare approccio.

    codice:
    on (release) {
     _root.palla_mc._x += 3;
    }
    questo però sposta la palla di 3 pixel ad ogni pressione del tasto; io vorrei partisse da sola. Immagino serva un ciclo... magari in aggiunta ad uno sleep () (che non so se esiste) per poter vedere lo spostamento frame per frame...
    Ma forse non si animano così gli oggetti? Conoscete per caso dei tutorial avanzati che trattano questi argomenti?
    Vi ringrazio in anticipo.

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ci sono diversi approcci a questo, non sono necessari i cicli (considerato che un ciclo for o while si svolge in un tempo troppo breve per apprezzarlo), ma si può lavorare con gli intervalli
    il primo tipo di intervallo che si usa di solito è richiamato dall'evento onEnterFrame che si ripete nel tempo alla velocità di esecuzione del filmato, ma deve essere bloccato per evitare rallentamenti ecc...

    un esempio nel tuo caso sarebbe:

    Codice PHP:
    on (release) {
        
    _root.palla_mc.onEnterFrame = function () {
            
    this._x += 3;
            if(
    this._x >= 800) {
                
    delete this.onEnterFrame;
            }
        }

    all'interno della funzione onEnterFrame il "this" equivale al clip che la richiama, quindi in questo caso equivale a _root.palla_mc

  3. #3
    molto interessante and80, grazie per il suggerimento! Adesso provo e vediamo cosa viene fuori

  4. #4
    Ciao AND
    [OT] solo curiosità ...

    dato che ci sono vari approcci, come mai hai dato come primo suggerimento un codice gestito dall' onEnterFrame e non da una TWEEN ??
    [/OT]


  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da rempox
    Ciao AND
    [OT] solo curiosità ...

    dato che ci sono vari approcci, come mai hai dato come primo suggerimento un codice gestito dall' onEnterFrame e non da una TWEEN ??
    [/OT]

    immaginavo che qualcuno me lo avrebbe fatto notare
    ho preferito parlare prima dell'enterFrame perchè è l'approccio fondamentale per le animazioni in flash e la sua conoscenza aiuta a prendere le distanze con la cosa che in tanti credono nei primi approcci, che per effettuare un'animazione si utilizzi un ciclo for o while
    le tween sono semplici da applicare, ma nella loro semplicità prevedono alcune competenze basilari senza le quali gli errori si susseguono nel loro utilizzo, ne abbiamo dimostrazione continuamente nelle richieste che arrivano al forum

    comunque non volevo terminare il thread parlando solo dell'enterFrame, volevo aspettare che il discorso si sviluppasse insieme all'autore della richiesta anche perchè scrivere tutte le possibilità in un solo post sarebbe stato troppo lungo e probabilmente deleterio per chi leggeva, dando ancora più dubbi che risposte

  6. #6
    Giusto non avevo analizzato che molti pensano ad un ciclo ....
    Concordo pienamente.

    Aspettiamo le evoluzioni di Tobler.

    Buon lavoro ad entrambi.

    Rempox

  7. #7
    Ciao Rempox, ottima osservazione.

    Potrei sbagliarmi, essendo un po' alle prime armi con flash ma per Tween intendi l'interpolazione di movimento tra due punti fissi A e B?
    In questo caso apparirebbe come soluzione impensabile dato che mi sono messo nell'ottica di creare una palla che si muove di moto rettilineo uniforme rimbalzante contro i lati dello schermo. E' logico dunque che il percorso non dev'essere impostato a priori ma deve dipendere da diverse variabili (posizione, ostacolo etc etc).
    Se invece dico stupidaggini perdonami! Sono qui per imparare

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    no, quello di cui parla rempox è una classe di flash utilizzabile a partire da Flash MX 2004 che semplifica la gestione delle animazioni sfruttando calcoli matematici che sviluppano movimenti lineari, accelerati, rallentati ed elastici, sfruttando una sola riga di codice
    ma bisogna comunque utilizzarle con cautela perchè può capitare che creino dei problemi se ne viene richiamata più di una contemporaneamente

    tornando all'esempio iniziale avremo:

    Codice PHP:
    on(release) {
    var 
    mytween = new Tween(_root.palla_mc"_x"null_root.palla_mc._x80060false);

    puoi dare un'occhiata a questi riferimenti per comprendere l'uso dei parametri e conoscere come sfruttare i vari tipi di andamento dell'animazione

    http://www.v2online.it/articoli/easing-functions.html
    http://forum.html.it/forum/showthrea...ighlight=tween
    http://livedocs.adobe.com/flash/9.0_.../00003605.html

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