Platform Bergerak
Termasuk bagian Membangun Game Sungguhan dalam perjalanan Unity di Coddy. Pelajaran 49 dari 56.
Tantangan
SedangPlatform biru seharusnya bergerak bolak-balik melintasi celah. Pertahankan semua yang ada dari pelajaran sebelumnya.
Lengkapi MovingPlatform:
- Dua field yang diatur Inspector,
distance(3) danspeed(1.5), sertapublic Vector3 delta. - Platform bergerak dari titik awalnya sejauh
distanceunit ke arah +x dengan kecepatanspeedunit per detik, lalu kembali ke titik awal, dan seterusnya tanpa henti. - Setiap frame,
deltamenunjukkan seberapa jauh platform bergerak pada frame tersebut: posisinya setelah bergerak dikurangi posisinya sebelum bergerak.
CharacterController tidak ikut terbawa oleh pijakan tempatnya berdiri: saat berada di platform bergerak, posisinya tetap, sementara platform bergeser di bawahnya. Menggeser transform.position juga tidak berhasil: pemanggilan Move berikutnya pada controller dimulai dari posisi yang terakhir diketahui fisika, lalu membatalkan perubahan tersebut. Buat Player ikut bergerak:
- Tambahkan
OnControllerColliderHit. Saat normal benturan mengarah ke atas (hit.normal.ylebih dari 0.5: pemain berdiri di atasnya) dan object memilikiMovingPlatform, simpan platform itu dalam sebuah field. - Di
Update, tambahkandeltaplatform tersebut ke gerakan yang diberikan kecontroller.Move, lalu lupakan platform itu (atur field menjadinull). PemanggilanMoveakan menemukannya lagi selama pemain berdiri di atasnya.
Tekan Play, lompat ke atas platform dan ikut bergerak bersamanya, lalu tekan Periksa.
Coba sendiri
using UnityEngine;
public class MovingPlatform : MonoBehaviour
{
// Pelajaran berikutnya akan melengkapi ini: platform yang bergerak mulus bolak-balik.
}
Semua pelajaran di Membangun Game Sungguhan
4Scene dan Level
Muat SceneMulai Ulang LevelLevel BerikutnyaPertahankan Antar-SceneRekap: Pilih Level10Proyek: Platformer 3D
LintasanPlatform Bergerak2Tombol dan Layar
Tombol dan onClickLambdaMenghubungkan di InspectorPanel Aktif dan NonaktifBilah KesehatanRangkuman: Toko Upgrade5Menyimpan dengan PlayerPrefs
Simpan AngkaMuat dengan Nilai DefaultSkor TertinggiSimpan PengaturanUlasan: Koin di Bank