Unity3d Top oyunu projesindeki bilgiler

projeyi oluşturuyoruz.hiearacy bölümüne sağ tıklayıp 3d object sphere(küre)nesnesini oluşturuyoruz.Yine aynı yere sağ tıklayıp 3d object plane yani yeri oluşturuyoruz.
hiearrcy de plane e tıklayıp sağda inspector penceresinden transform scale da z eksenini 30 yapıyoruz.hiearrcy deki main camerayı sphere nesnesine sürüklüyoruz.
daha sonra scene ekranından kameraya tıklayıp kameranın transformunu değiştiriyoruz.Topumuza daha net görebilmek icin.Assests bölümünde folder lar açıyoruz.İlk folder kodlar olsun
digerleri materyeller,
objeler,Daha sonra kodlara tıklayıp buranın icine sağ tıklayıp create c# script ekliyoruz daha sonra bu scriptin adını değiştricez.Topunkontrolu olsun.bunun öncesinden scripti top(sphere)objsine sürüklüyoruz.Burada scripti hieararcy deki top objesine attığımız zaman atıldımı atılmadı mı ona dair bir onay ya da bir check gelmiyor Bu unity3d nin eksikliğidir.Scripti açmadan önce bir editör belirlemeniz lazım,eğer unity3d yi indirirken visual studio yuda indirdiyseniz scripti açtığınız anda visual studio gelecektir.Visual studio monodevolop editorune göre kullanımı daha yavaştır.O yüzden monodevolop kullanıcaz.Bunu değiştirmek için bir ayar yapmamız lazım.Unity3d arayüzünden FILE in yanındaki Edit–>Preferences–>External tools

–>External script editor den monodevolop seçiyoruz.

topun inspector ekranından Physics–>add component character controller ekliyoruz.

Bunları yaptıktan sonra scripti açalım.

önümüze start update fonsiyonları olan hazır bir script geldi.Daha sonra start foksiyonun üzerine değişken tanımlıyoruz.
private Vector3 vektor;
private CharacterController karakter_kontrol;
private float hiz=5f;

sonra start fonksyionun içine karakter_kontrol=getcomponent<CharacterController>();
update kısmına
vektor.z=hiz;
karakter_kontrol.Move(vektor*Time.deltatime);

vektor.x=Input.getaxisraw(“Horizontal”)*hiz/1.5f;

Tamamdır.
Yeni bir fonksyion oluşturuyoruz.
void OnTriggerEnter(Collider diger)
{
if(diger.gameObject.tag==”altin”)
{
Destroy(diger.gameObject);
}
//burada bizim altin objemizin bir ismi vardır .bir de lakabı vardır.Oda tag dir Bunuda bizim altin yapmamız lazım.Bunu yapmadan önce sahneye bir altın objesi ekliyelim.Hierarcy bölümünden sağ tıklayarak 3d object Cylinder seçiyoruz.Daha sonra bu silindirin boyutlarını değiştirerek bir altın görünümü kazandırmalıyız bunun için scale x 0.5 y 0.05 z 0.5 olarak değiştiriyoruz.Inspector transform ekranından
rotation x ide 90 derece yapıyoruz.Tamamdır.simdi renklendirme kısmına gelelim.Materyeller dosyasının icine girip sağ tıklayıp create material diyoruz.Oluşturdugumuz materyalin ismini değiştriyoruz.Altin_Mat yapalım sonra materyele tıklayıp inspector penceresinden main maps bölümünden albedonun rengini değiştiriyoruz.Ben burda sarı yapalım daha sonra bu materyeli altın objemizin üzerine sürüklüyoruz.Daha sonra bu objemizi objeler folderina aktarıyoruz.
Silindirini yere yakın olacak şekilde scene ekraınından veya ispectordeki transform poisition ekranından ayarlıyoruz.Cylinder ismini bi altın yapın ınspector penceresinden daha sonra altında tag görürsünüz Inspector de buradan tagı untagged olarak gözükür.Add tag diyoruz.Burdan tags + tusuna basıyoruz.New tag i silip tagimiz adını yani altin yapıyoruz.
daha sonra altın ojemizin ınspectordeki capsule colliderda is trigger özelligini true yani tik atalım.ve birde altin objesinin tagini altin olarak degistirin.Şimdi hem zemin icin hemde top için renklendirme çalışması yapalım.nasl yapılcagını ögrendiniz arkadaşlar.yeni renkler oluşruup aynı altına renk verdigimiz gibi diğer objelerede farklı renkler verebilirsniz.
Haydi birde duvar yapalım bu duvarı yapmak icin küp(cube)nesnesini oluşturalım hierarcy bölümünden Oluşturduktan sonra planenin ucuna getirip kübün scaleni değiştirin.Artık bu size kalmış ne kadar uzun yapıyosanız ne kadar yükselik isterseniz kendiniz ayarlayabilirsiniz.Diğer duvarıda aynı şekilde oluşturun.
oluşturdugumuz küp nesnelerinin ismini duvar yapın.Şimdi haydi bir obje ekleyelim bu objeye temas ederse cismimiz dursun.

hiearrcy den 3d object cupe olusturun buna hemen bir isim ve tag belirleyin.belirlemeyi ögrendiniz tag ve isim engel yapalım.
Artık bu objeyle olan kodu oluşturup orada işlem yapmamız lazım Bunun için ayrıca bir script açmaya gerek varmı sizce?bence yok topunkontrolu adlı scriptimize gelip burada bir fonksiyon oluşturalım.
değişken tanımlama yerine gelip
private bool oldumu=false;
diyelim.
Fonksiyonlar oluşturucaz
void OnControllerColliderHit(ControllerColliderHit vur)
{
if(vur.point.z>transform.position.z+controller.radius)
olme();

}

void Olme()
{
oldumu=true;
}
birde update fonksiyonuna bir tane koşul yapmalıyız ki top engel nesnesine değdiğine anda başka tuşlara herhangi bir tuşa basamasın.
if(oldumu)
return;
}

Hadi bir de engel objesine çarptıgımızda restart ekranı gelsin.

bunun icin önce bu scriptimizde değişken kısmına gelip

public Gameobject olum_Menusu; tanımlayalım.

start fonksiyonunda olum_Menusu.SetActive=false; olsun

oncontrollercolliderhit fonksiyonumuzda if in icine gelip

olum_Menusu.SetActive=true;

yazıyoruz.Daha sonra bir tane Canvas tanımlamalıyız bunuda suradan yapıcaz.hiearracy bölümünden UI,canvas oluşturuyoruz.Ve bunu oluşturduktan sonra canvasın içine gelip bir UI>İmage oluşturuyoruz.Ve bu image in inspector penceresindeki özelliklerini değiştiricez.coloru siyah yapın,rect transform içinde solda bir resim var ona gelin ve burdan 2 tarafıda 2strech yapın.left,top,pos z,right,bottom bunların içindeki değerlerin hepsini 0 yapın.Olum_menusunun icine tıklayıp hierarcy den 2 tane button ekleyin buttonların icindeki textleri de play ve menu olarak tasarlayın.Sonra olum menusu scriptini olusturup Olum_Menusu adlı image’e atın.Scriptin icini acın.

using UnityEngine.UI;
using UnityEngine.SceneManagement;

bunları using lerin altına yazın.Daha sonra start fonksiyonuna

gameObject.SetActive(true);

bunları yaptıktan sonra alta bir de fonksiyon tanımlayın ismi restart olsun.

public void Restart()

{
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
return;

simdi play butonuna gelelim geldikten sonra ınspector penceresinde Button script icerisindeOn Click() özelligi var .Buradaki + ya tıklayalım.run time on altında objeye bizim olum_menusu objemizi buraya sürükleyelim,

function dan olummenusu ne gelip restart fonksiyonunu cagırıyoruz.

Simdi hierarcy penceresinden topumuza gelelim topunkontrolu script olum menusu objesini tasıyoruz topa.

Simdi oyunumuz genel olarak bitmistir.Hadi apk sını cıkartıp android de calıstıralım.

https://developer.android.com/studio/index.html buradan android studio yu indirmemiz lazım.

sonra jdk download yapmamz lazım.

http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html buradan kendi bilgisayarınıza uygun olan dosyayı indirin.İndirdikten sonra sdk manager i acın(tabi bunu yönetici olarak çalıştırın.yoksa çalışmaz.)buradan gerekli olan android süürümlerini ve digerlerini indirin.sonra unity arayüzüne gelip edip–>preferences–>external tools dan gerekli jdk klasörünü ve sdk klasörünü import edin.Daha sonra bu uygulamamızı bir saveleyin ve bir tane scene oluşturun vE ADINI KOYUN bundan sonra arayüzden Fİle–>Build settings–>androidi secin sonra build edin.Apk sını bir yerde saklayın sonra onu telefona yada sanal android makinasına bağlayarak oyununuzu oynayabilirsiniz.Teşekkürler…

}

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Araç çubuğuna atla