Misalkan saya memiliki tiga lapisan: latar depan, latar-menengah dan latar belakang. Apa yang terlibat dalam menggunakan tiga lapisan ini untuk membuat scrolling paralaks ?
Misalkan saya memiliki tiga lapisan: latar depan, latar-menengah dan latar belakang. Apa yang terlibat dalam menggunakan tiga lapisan ini untuk membuat scrolling paralaks ?
Jawaban:
Bagilah posisi setiap layer dengan "jarak" yang Anda inginkan dari kamera.
Sebagai contoh: Buat beberapa variabel untuk mewakili posisi kamera, cameraX
dan cameraY
. Atur ini untuk menyamakan posisi karakter Anda, mungkin menambahkan sedikit ekstra ke arah gerakan.
Lapisan utama hanya akan diposisikan di
mainLayer.x = -cameraX;
lapisan tengah pada sesuatu seperti
middleLayer.x = -cameraX * 0.5;
dan lapisan paling jauh di
farLayer.x = -cameraX * 0.2;
Ubah konstanta sesuai kebutuhan.
Pada dasarnya Anda ingin benda bergerak lebih cepat, semakin dekat ke 'kamera'. Bagaimana Anda menerapkannya, itu terserah Anda.
Saya menetapkan masing-masing lapisan saya kedalaman, dan kemudian ketika saya menggulir adegan, untuk setiap lapisan saya membagi gulungan itu dengan kedalaman lapisan, sehingga lapisan yang lebih jauh bergerak lebih lambat.
Cara terbaik untuk melakukan ini adalah dengan hanya membuat sprite sebagai paha billboarded dalam 3D. "Gameplay" dapat terjadi semua dalam satu pesawat, sedangkan latar belakang dan latar depan dapat diposisikan lebih dekat atau lebih jauh dalam ruang 3d. Dengan begitu, efek paralaks ditangani untuk Anda tanpa Anda harus melakukan pengkodean khusus :-)