Hareketli Platformlar
Coddy'nin Unity Journey'sinin Gerçek Oyunlar Geliştirmek bölümünün bir parçası. Ders 49 / 56.
Görev
OrtaMavi platform boşluğun üzerinde ileri geri süzülmeli. Önceki dersteki her şeyi koru.
MovingPlatform sınıfını doldur:
- Inspector'ın ayarladığı iki alan:
distance(3) vespeed(1.5); ayrıca birpublic Vector3 delta. - Başladığı noktadan +x yönünde
distancebirim boyunca, saniyedespeedbirim hızla süzülür; sonra başlangıç noktasına döner ve böyle sonsuza kadar devam eder. - Her karede
delta, o karede ne kadar hareket ettiğini belirtir: hareketten sonraki konumu eksi hareketten önceki konumu.
CharacterController, üzerinde durduğu nesne tarafından taşınmaz: hareketli bir platformda olduğu yerde kalır ve platform altından kayıp gider. transform.position değerini hareket ettirmek de işe yaramaz: denetleyicinin bir sonraki Move çağrısı, fiziğin onu en son gördüğü noktadan başlar ve değişikliği geri alır. Player sınıfının platformla birlikte hareket etmesini sağla:
OnControllerColliderHitekle. Çarpışma normalinin yönü yukarıyı gösterdiğinde (hit.normal.y0.5'ten büyükse: oyuncu platformun üzerinde duruyordur) ve nesnede birMovingPlatformvarsa, o platformu bir alanda sakla.Updateiçinde, o platformundeltadeğerinicontroller.Moveçağrısına iletilen harekete ekle, ardından platformu unut (alanınullolarak ayarla). Oyuncu üzerinde durduğu süreceMoveçağrısı platformu yeniden bulur.
Play'e bas, platformun üzerine atlayıp onunla birlikte hareket et, ardından Check'e bas.
Kendin dene
using UnityEngine;
public class MovingPlatform : MonoBehaviour
{
// Sonraki bir derste burası tamamlanacak: ileri geri süzülen bir platform.
}
Gerçek Oyunlar Geliştirmek bölümündeki tüm dersler
1Ekrandaki Metinler
Canvas ve MetinSkoru GösterSayıları BiçimlendirGeri Sayım ZamanlayıcısıTekrar: Hız Göstergesi4Sahneler ve Bölümler
Bir Sahne YüklemeBölümü Yeniden BaşlatmaSonraki BölümSahneler Arasında SaklamaTekrar: Bölüm Seçimi10Proje: 3D Platform Oyunu
ParkurHareketli Platformlar2Düğmeler ve Ekranlar
Düğmeler ve onClickLambda İfadeleriInspector'da Bağlantı KurmaPanelleri Açma ve KapamaCan ÇubuklarıTekrar: Yükseltme Mağazası5PlayerPrefs ile Kaydetme
Bir Sayı KaydetmeVarsayılan Değerle YüklemeEn Yüksek SkorAyarları KaydetmeTekrar: Bankadaki Paralar