Jadi setelah beberapa jam mencari di internet, saya belum menemukan jawaban yang menyenangkan tentang bagaimana menangani platform bergerak dalam game platform 2d. Jadi saya memutuskan untuk membuat prototipe sederhana di mana Anda berinteraksi dengan 2 platform yang berbeda, yang bergerak secara vertikal dan satu secara horizontal. Saya ingin bantuan untuk membedah dan melihat apa yang tidak berfungsi, dan bagaimana cara memperbaikinya. Saya telah mengirimkan file .fla + .as file di bawah ini, disertai dengan tautan ke file .swf yang dapat diputar.
Tujuannya adalah untuk membuat Pahlawan berinteraksi dengan platform seolah-olah mereka adalah benda padat yang dapat ia berdiri di atasnya, didorong bersama, melompat ke / di bawah dll.
Masalah dengan prototipe saya adalah ini:
Ketika Anda berdiri di platform yang bergerak secara horizontal, tanpa bergerak (tidak menyentuh tombol apa pun), Pahlawan bergerak bersama dengan platform, tetapi dengan sedikit keterlambatan menyebabkan pahlawan bergeser sedikit ke belakang.
Ketika Anda berdiri di platform yang bergerak secara horizontal, dan melompat, Anda bergerak bersama dengan platform di udara (beberapa game lebih suka memilikinya seperti ini, tetapi itu tidak terasa alami dan tidak diinginkan di sini). Yang mungkin disebabkan oleh Pahlawan mempertahankan kecepatan pada sumbu X dari platform.
Ketika Anda melompat ke sisi bawah pada platform yang bergerak secara vertikal, sementara platform bergerak ke bawah, Anda tenggelam di dalamnya sebentar. Pahlawan menembus seolah-olah tabrakan itu tidak ada untuk sesaat.
Ketika Anda melompat pada platform yang bergerak secara vertikal, veloctiy pada sumbu Y dipertahankan, jadi ketika Anda berjalan keluar dari platform, Anda jatuh pada kecepatan yang lebih tinggi. Dengan kecepatan kecepatan yang dipertahankan, + gravitasi yang ditambahkan (ini sebagian besar karena saya tidak dapat menemukan cara untuk mengatur ulang kecepatan pada sumbu Y ke 0 ketika Anda mendarat di platform, tanpa pemain membeku di udara).
Saya seorang programmer pemula jadi saya yakin ada cara yang LEBIH BAIK untuk melakukan ini, dan saya ingin mendengar semuanya. Setiap ide tentang cara meningkatkan kode atau metode lain di mana Anda dapat mengimplementasikan platform yang bergerak ke dalam game berbasiskan permainan dipersilakan. Pada akhirnya, saya mencoba menemukan cara yang mantap untuk menangani platform yang bergerak di platformer 2d.
SWF yang dapat diputar: http://dl.dropbox.com/u/28271061/PlatformerhowtoFLA.html (Bergerak dengan tombol panah, Lompat dengan tombol X, Jalankan dengan tombol Z)
Sourcecode AS-file: http://dl.dropbox.com/u/28271061/Platformerhowto.as
SourcefileFLA: http://dl.dropbox.com/u/28271061/PlatformerhowtoFLA.fla
Jika Anda lebih suka membaca kode melalui Pastie online: http://pastie.org/2266764