Quindi, dopo alcune ore di ricerche su Internet, devo ancora trovare una risposta piacevole su come gestire le piattaforme mobili in un gioco con piattaforma 2D. Così ho deciso di realizzare un semplice prototipo in cui interagisci con 2 piattaforme diverse, una che si sposta in verticale e una in orizzontale. Mi piacerebbe un po 'di aiuto per dissezionare e vedere cosa non funziona e come risolverli. Ho inviato il file .fla + il file .as di seguito, accompagnato da un collegamento al file .swf riproducibile.
L'obiettivo è far interagire l'Eroe con le piattaforme come se fossero oggetti solidi su cui poter stare in piedi, spinti a fianco, saltare su / sotto ecc. Ecc.
I problemi con il mio prototipo sono questi:
Quando ti trovi sulla piattaforma in movimento orizzontale, senza muoverti (senza toccare alcun tasto), l'eroe si muove insieme alla piattaforma, ma con un leggero ritardo fa scivolare indietro un po 'l'eroe.
Quando ti trovi sulla piattaforma in movimento orizzontale e salti, ti muovi insieme all'a mezz'aria della piattaforma (alcuni giochi preferiscono averlo in questo modo, ma non sembra naturale e non è voluto qui). Ciò potrebbe essere causato dall'eroe che mantiene la velocità sull'asse X dalla piattaforma.
Quando salti sul lato inferiore della piattaforma mobile verticalmente, mentre la piattaforma si muove verso il basso, ti affondi al suo interno per un breve secondo. L'eroe penetra come se la collisione fosse inesistente per un momento.
Quando salti su una piattaforma in movimento verticale, la velocità sull'asse Y viene mantenuta, quindi quando esci dalla piattaforma, cadi a una velocità maggiore. Con la velocità della velocità mantenuta, viene aggiunta + gravità (questo è principalmente perché non riesco a capire un modo per ripristinare la velocità sull'asse Y su 0 quando atterri sulla piattaforma, senza che il giocatore si blocchi a mezz'aria).
Sono un programmatore alle prime armi, quindi sono sicuro che ci sono MIGLIORI modi per farlo, e mi piacerebbe ascoltarli tutti. Tutte le idee su come migliorare il codice o altri metodi in cui è possibile implementare piattaforme mobili in un gioco basato su Tile sono benvenute. Alla fine, sto cercando di trovare un modo solido per gestire le piattaforme mobili nei platform 2D.
SWF riproducibile: http://dl.dropbox.com/u/28271061/PlatformerhowtoFLA.html (Sposta con i tasti freccia, Salta con il tasto X, Esegui con il tasto Z)
Sourcecode AS-file: http://dl.dropbox.com/u/28271061/Platformerhowto.as
SourcefileFLA: http://dl.dropbox.com/u/28271061/PlatformerhowtoFLA.fla
Se preferisci semplicemente leggere il codice tramite Pastie online: http://pastie.org/2266764