2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapımı

download 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapımı

of 25

Transcript of 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapımı

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    1/25

    T.C.

    BILECIK SEYH EDEBALI NIVERSITESI

    MHENDISLIK FAKLTESI

    BILGISAYAR MHENDISLIGI

    UNITY3DILE ANDROID OYUN YAPIMI

    GRENCININ ADI SOYADI: YUSUF BORUCU

    PROJE-2 ALISMASI

    DANISMAN : gr. Gr. Murat ZALP

    16 Ocak 2015

    BILECIK

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    2/25

    T.C.

    BILECIK SEYH EDEBALI NIVERSITESI

    MHENDISLIK FAKLTESI

    BILGISAYAR MHENDISLIGI

    UNITY3DILE ANDROID OYUN YAPIMI

    GRENCININ ADI SOYADI: YUSUF BORUCU

    PROJE-2 ALISMASI

    DANISMAN : gr. Gr. Murat ZALP

    16 Ocak 2015

    BILECIK

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    3/25

    ZET

    Projenin Amac

    Unity oyun motorunun arayzn ve temel alsma mantgn grenip, esitli scriptler

    yazarak hem PCde hem Android telefonda oynanabilecek basit bir 2D oyun gelistirmek

    amalanmstr.

    Projenin Kapsam

    Iki blmden olusacak projenin ilk blmnde Unity kurulum asamas ve grenilen temel

    Unity bilgileri,ikinci blmde ise gelistirilen oyun ile ilgili bilgiler yer almaktadr.

    Sonular

    Sonu itibariyle Unity oyun motorunun temelleri grenildi ve Android telefonda oynana-

    bilecek basit bir 2D oyun gelistirildi.

    ii

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    4/25

    TESEKKR

    Bu projenin basndan sonuna kadar hazrlanmasnda emegi bulunan ve beni bu konuya

    ynlendiren saygdeger hocam ve dansmanm Sayn gr. Gr. Murat ZALPa tm kat-

    klarndan ve hi eksiltmedigi desteginden dolay tesekkr ederim.

    YUSUF BORUCU

    16 Ocak 2015

    iii

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    5/25

    Iindekiler

    ZET ii

    TESEKKR iii

    1 GIRIS 1

    1.1 Proje alsma Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 BLM-1 : Unity grenme Sreci 3

    2.1 Kurulum Asamas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.2 Ilk Uygulamalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.3 grenilen Temel Bilgiler . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.3.1 Arayz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.3.2 Bilesenler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.3.3 Fonksiyonlar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.3.4 Oyunu Androide Build Etmek . . . . . . . . . . . . . . . . . . . 6

    3 BLM-2 : Warrior Oyunu 73.1 Oyunda Bulunacak zelliklerin Belirlenmesi . . . . . . . . . . . . . . . 7

    3.2 Kullanlacak gelerin Belirlenmesi. . . . . . . . . . . . . . . . . . . . . 7

    3.2.1 Stage Sahnesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    3.2.2 Men Sahnesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3.3 Scriptleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    3.3.1 WarriorScript(Ana Karakter Scripti). . . . . . . . . . . . . . . . 8

    3.3.2 MoveScript(Hareket Scripti) . . . . . . . . . . . . . . . . . . . . 10

    3.3.3 HealthScript(Can Scripti) . . . . . . . . . . . . . . . . . . . . . 11

    3.3.4 SoundEffectsHelper(Ses Efekt Scripti) . . . . . . . . . . . . . . 11

    3.3.5 SpecialEffectsHelper(zel Efekt Scripti) . . . . . . . . . . . . . 12

    3.3.6 MenuScript(Men Scripti) . . . . . . . . . . . . . . . . . . . . . 13

    3.3.7 GameOverScript(Oyun Sonu Scripti) . . . . . . . . . . . . . . . 13

    3.3.8 CreateRandomEnemy(Rastgele Dsman Olusturma Scripti) . . . 14

    3.4 Son Dzenlemeler ve Bitis . . . . . . . . . . . . . . . . . . . . . . . . . 15

    iv

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    6/25

    SONULAR 16

    KAYNAKLAR 18

    ZGEMIS 19

    v

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    7/25

    1 GIRIS

    Unity 3D, bir oyun motorudur. Oyun ve bilisim dnyasna getirdigi en nemli yenilik,

    gelismis zelliklere sahip 3 boyutlu oyunlarn bilgisayara kurulmadan oynanmasn sag-

    lamak olmustur. Unity 3D motorunu kullanan oyunlar, Unity Web Player eklentisi saye-

    sinde hibir kurulum islemi olmadan web tarayc zerinden alsabilmektedir. Bu yn

    sayesinde oyunlar bilgisayara daha az yklenirken bir oyuncuyu yeni bilgisayar alma zah-

    metinden kurtarms olur. te yandan oyun reticileri, oyunu kendi sunucularndan oynat-

    tklar iin korsan oyuna are bulmus olur.

    Unitynin oyun yapmclarna sagladg baska bir kolaylkta Unity ile gelistirilen bir oyu-

    nun herhangi bir altyap degisikligine gerek olmadan farkl platformlara (PC, Mac, Web,

    iOS, Android, Windows Phone) uygun olarak derlenebilmesidir. Bu sayede rnegin PC

    iin hazrlanan bir oyun tek tklamayla Android iinde alsr hale getirilebilir.

    Unitynin diger oyun motorlarndan stn taraflarndan biri de oyun gelistirme zama-

    nnda gelistiriciye program kodu yazma olanag vermesidir. Diger oyun motorlarnn ek-

    serisi grafik ile kodu ayrmsken, Unity ile grafik ve kod birlikte alsmaktadr. Bu alsma

    mantg gelistiriciye esneklik saglamakta, gelistirme sresini ksaltmaktadr.

    Unity 3D su anda 3 farkl betik dil yapsn (Java Script, C# ve Boo) desteklemektedir.

    Unity Web Player eklentisi su an Windows, GNU/Linux, Mac OS X, Android ve iOS

    isletim sistemlerinde desteklenmektedir. Kullanm asndan Adobe Flash Player, Adobe

    Shockwave ve Silverlight benzeridir. Eklenti bilgisayara kurulduktan sonra web zerin-

    deki btn Unity animasyonlar, oyunlar ve diger ara-gereler web tarayc ile kolaylkla

    alstrlabilmektedir.

    Unity btn bu avantajlarnn yannda Unity 3Dde yazlms oyunlar orta ve st seviye

    bilgisayarlarda (en dsk 1.6 Ghz islemci, 500 MB ram) rahatlkla oynanabilmektedir.

    1

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    8/25

    1.1 Proje alsma Plan

    2

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    9/25

    2 BLM-1 : Unity grenme Sreci

    2.1 Kurulum Asamas

    Ilk olarak Unity oyun motoru bilgisayara kuruldu.Sonrasnda Unityde Android uygula-

    mas gelistirmek iin gerekli olan Android SDK kurulumu yapld.Deneme amal bos

    bir proje olusturulup Build edildi ancak error building player exception android (invo-

    kation failed) seklinde bir hatayla karslasld.Yaplan arastrmalar sonras zm ola-

    rak Unityde projeyi Build ederken Player Settings -> Other Settings -> Identification

    -> Minimum API Level ksmnda bilgisayara Android SDK Manager ile yklenen en

    dsk Android versiyonu seildi.Ayrca Edit -> Preferences -> External Tools -> And-roidSDK Location ksmnda Browseye tklanp C-Program Files(x86)-Android-android-

    sdk seildi.Bylelikle Unity ile .apk uzantl Android uygulama dosyas olusturma islemi

    tamamland.

    2.2 Ilk Uygulamalar

    Baslang olarak Hello World uygulamas yapld.Bu uygulama da Unityde Play tusuna

    basldgnda konsoldan "Hello World" kts alnd.

    3

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    10/25

    Sonrasnda Flappy Bird oyununun yapmn anlatan bir pdf bulunarak yazlanlar uygu-

    land.Birok komutun ve fonksiyonun ne ise yaradg,nerede ve nasl kullanldg gre-

    nildi.

    2.3 grenilen Temel Bilgiler

    2.3.1 Arayz

    GameObject : Oyunda yer alan her obje bir GameObjecttir.

    Main Camera : Ana kamera objesidir.

    Scene(Sahne) Paneli : GameObjectleri konumlandrmak iin kullanlr.

    Game(Oyun) Paneli : Oyunun alstrldgnda nasl grnecegine bakmak iin kullanlr.

    Hierarchy Paneli : O anki sahnede yer alan tm objelerin listesini tutar.

    Inspector Paneli : O an seili olan GameObjectin zelliklerini gsterir.

    Asset : Mal varlg anlamndadr.Oyunu oyun yapan herseyi depolayan klasrdr.

    Project : Kullanma hazr tm Assetleri barndrr.

    Prefab : GameObjectlerin sahnede tekrar tekrar kullanlmas iin hazrlanan hazr sab-

    lonlardr.

    Texture : Kaplama anlamndadr.Oyuna import edilen resimler,sesler vb. depolamak iin

    kullanlr.

    4

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    11/25

    2.3.2 Bilesenler

    Sprite : Resimlerin sahnede grlmesini saglamak iin kullanlr.

    Transform : GameObjectlerin pozisyon,a ve boyutlarn gsterir.Rigidbody2D : GameObjectin yer ekimi,srtnme kuvveti gibi fizik zelliklerini ayar-

    lamak iin kullanlr.

    Collider : Bir objenin baska bir objeyle temasa geme hacmini belirlemeye yarayan bile-

    sendir.rnegin; BoxCollider2D; Kutu seklinde, CircleCollider2D; Yuvarlak sekilde.

    GUIText : Ekrana metin yazdrmak iin kullanlr.

    Audio Source : Oyuna ses import etmek iin kullanlr.

    Parallax Scrolling : Yakndaki arkaplan objelerinin uzaktaki arkaplan objelerine nazaran

    daha hzl hareket etmesi olaydr.

    2.3.3 Fonksiyonlar

    Start() : Baslangta tek seferlik alsacak kodlarn yazldg fonksiyondur.

    Update() : Her bir kare(frame)de srekli olarak alsacak kodlarn yazldg fonksiyondur.

    Awake() : Buraya yazlan kod,script alstrlmadan hemen nce gereklestirilir.Start()

    fonksiyonu Awake()den sonra Update()den nce alstrlr.Start() sadece script aksa

    alsrken Awake()in byle bir zorunlulugu yoktur.

    Destroy() : GameObjecti yok etme amal kullanlr.

    Time.time : Oyunun baslangcndan itibaren ka saniye getigini depolar.

    Time.deltaTime : Es zamanllktr.Bir degiskenin degerinin bir saniyede belli bir miktar

    degistirilmesine yardmc olur.

    eulerAngles : Bir rigidbodynin egimini belirtir.Her eksende ki egimi depolar.

    transform.Translate() : Bir GameObjecti hareket ettirmek iin pozisyonunu ayarlar.

    Vector2 : 2 bilesenli vektr tanmlamaya yarar.

    Vector3 : 3 bilesenli vektr tanmlamaya yarar.

    Mathf.CeilToInt : Sayy matematiksel olarak yukar yuvarlamak iin kullanlr.

    camera.orthographicSize : Kamerann orta noktas ile tepe noktas arasnn ka uzay biri-

    mine denk geldigini depolar.(Uzay birimi : Unitynin transform bileseninde kullanlan 1

    5

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    12/25

    birimlik lt)

    Instantiate : Yeni objeler olusturmak iin kullanlr.

    OnCollisionEnter2D() : Obje collidernda Is Trigger isaretli olmayan bir objeyle temas

    edince alstrlr.

    OnTriggerEnter2D() : Obje collidernda Is Trigger isaretli bir objeyle temas edince als-

    trlr.

    Application.LoadLevel : Blm ykleme amal kullanlr.

    OnGUI : Ekrana GUI elemanlar izdirmek iin kullanlr.

    Rect() : Ekrana yazdrlacak yaznn bulunacag dikdrtgensel alan belirtmek iin kulla-

    nlr.

    PlayerPrefs.SetInt() : Cihaza bir tamsay degeri kaydetmeye yarar.

    PlayerPrefs.Save() : Degerin cihaza tam o anda kaydedilmesini saglar.

    PlayerPrefs.GetInt() : Cihazda ki kaytl bir tamsay degerini ekmeye yarar.

    Input.GetMouseButtonDown : Mousea baslp baslmadgn kontrol etme amal kulla-

    nlr.

    Application.Quit : Oyun/Uygulamadan kmak iin kullanlr.

    2.3.4 Oyunu Androide Build Etmek

    File-Build Settings yolu izlendi. Gelen pencerede Platform olarak Android seilip Switch

    Platforma basld. Sonra Player Settings butonuna tklayp Inspectorda alan sayfada

    Other Settings altndaki Bundle Identifier "com.Yusuf.FlappyBird" olarak degistirildi.Build

    Settingsteki Build butonuna basarak oyun APK seklinde masastne kaydedildi. Build

    islemi bitince APK dosyas Android cihaza atlp kuruldu ve oyun test edildi.

    6

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    13/25

    3 BLM-2 : Warrior Oyunu

    3.1 Oyunda Bulunacak zelliklerin Belirlenmesi

    Unity grenme srecinin ardndan,gelistirilmek istenen 2D oyunun zellikleri belirlendi;

    -Android telefon iin; parmakla ve ates etme butonuyla, PC iin; yn tuslar ve mouse ile

    kontrol edilen bir karakter

    -Dsmanlarn otomatik olarak saniyede bir ates etmesi

    -Sonsuz tekrarlanan arkaplan

    -Gelen dsmanlara atesin isabet etmesi sonucu kaybolmalar

    -Dsmanlardan gelen atese arpma durumunda cann azalmas

    -Belirli bir sre sonunda oyunun sonlanmas

    -esitli ses efektleri

    -Her vurulan dsman iin skordaki arts

    -Yksek skorun kaydedilmesi

    3.2 Kullanlacak gelerin Belirlenmesi

    3.2.1 Stage Sahnesi

    7

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    14/25

    3.2.2 Men Sahnesi

    3.3 Scriptleme

    3.3.1 WarriorScript(Ana Karakter Scripti)

    public class WarriorScript : MonoBehaviour {

    public GUIText score; //skor gstergesi

    public GUIText bestScore; //yksek skor gstergesi

    public GUIText health; //can gstergesi

    private int can = 10; //baslang can

    private int skor = 0; //baslang skoru

    private int yuksekSkor = 0; //baslang yksek skoru

    public GUIText timer; //zaman gstergesi

    private float sure = 60.0f; //baslangtaki zaman

    public Vector2 speed = new Vector2(50, 50); //karakter hz

    private int pause=0; //pause tus degeri public Texture gun; //gun grseli private Vector2

    movement; //klavye tuslaryla karakter hareketi

    private Vector2 screenPoint; //srkle brak karakter hareketi

    void OnMouseDown(){ //karakterin yeri

    screenPoint = gameObject.transform.position;}

    void OnMouseDrag(){ //karakterin srklenmesi

    8

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    15/25

    Vector2 currentScreenPoint = new

    Vector2(screenPoint.y,Input.mousePosition.y);

    Vector2 currentPos =

    Camera.main.ScreenToWorldPoint(currentScreenPoint);

    transform.position = currentPos;}

    void Start(){ //baslangta tek seferlik alsan kodlar

    Time.timeScale=1; //oyun hareketleniyor

    //PlayerPrefs.DeleteAll(); //yksek skoru sfrlama

    //ekran gstergeleri

    score.text="Score : " + skor;

    yuksekSkor = PlayerPrefs.GetInt("Best Score : ");

    bestScore.text="Best Score : " + yuksekSkor;

    health.text="Health : " + can; }

    void Update(){ //her karede alsacak kodlar

    float inputX = Input.GetAxis("Horizontal"); //saga sola hareket

    float inputY = Input.GetAxis("Vertical"); // yukar asag hareket

    movement = new Vector2( //hza gre hareketspeed.x * inputX, speed.y * inputY);

    //karakterin ekrandan tasmamas

    var dist = (transform.position - Camera.main.transform.position).z;

    var leftBorder = Camera.main.ViewportToWorldPoint( new Vector3(0, 0, dist) ).x;

    var rightBorder = Camera.main.ViewportToWorldPoint( new Vector3(1, 0, dist) ).x;

    var topBorder = Camera.main.ViewportToWorldPoint( new Vector3(0, 0, dist) ).y;

    var bottomBorder = Camera.main.ViewportToWorldPoint( new Vector3(0, 1, dist) ).y;

    transform.position = new Vector3( Mathf.Clamp(transform.position.x, leftBorder, right-

    Border), Mathf.Clamp(transform.position.y, topBorder, bottomBorder), transform.position.z

    9

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    16/25

    );

    //sreyi azalt

    if(sure>0){ sure-=Time.deltaTime; timer.text="Time : " + Mathf.Round(sure); }

    //sre bitince oyunu sonlandr

    else{ transform.parent.gameObject.AddComponent();

    Time.timeScale=0; } }

    //karakter yok olunca oyunu sonlandr

    void OnDestroy() { transform.parent.gameObject.AddComponent();

    Time.timeScale=0; }

    void OnGUI() {//Ekrana izdirilen butonlar

    if(GUI.Button(new Rect(350,250,50,50),gun)) {//gun butonuna baslrsa ates et

    WeaponScript weapon = GetComponent();

    if (weapon != null) { weapon.Attack(false);

    SoundEffectsHelper.Instance.MakePlayerShotSound(); } } if(GUI.Button(new Rect(20,10,50,50),"||"

    {//pause butonuna bir kere basnca oyunu durdur,iki kere basnca tekrar baslat

    pause++;

    if(pause% 2 == 0)Time.timeScale=1;

    else

    Time.timeScale=0;

    }

    if(GUI.Button(new Rect(440,10,30,30),"X"))//exit butonuna baslrsa oyundan k

    Application.Quit(); } }

    3.3.2 MoveScript(Hareket Scripti)

    public class MoveScript : MonoBehaviour {

    public Vector2 speed = new Vector2(10, 10);//hz

    public Vector2 direction = new Vector2(-1, 0);//yn

    private Vector2 movement;//hareket

    void Update() {//yne gre hareket

    movement = new Vector2(speed.x * direction.x,

    10

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    17/25

    speed.y * direction.y); }

    void FixedUpdate() { rigidbody2D.velocity = movement;//hareketi fizige uygula } }

    3.3.3 HealthScript(Can Scripti)

    public class HealthScript : MonoBehaviour {

    public int hp = 1;//can seviyesi

    public bool isEnemy = true;//dsman kontrol

    public GUIText health;//can gstergesi

    private int can = 10;//varsaylan can

    public void Damage(int damageCount) { hp -= damageCount;//darbe gelince can azaltif (hp

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    18/25

    public void MakeEnemyShotSound() { MakeSound(enemyShotSound); }

    private void MakeSound(AudioClip originalClip) { AudioSource.PlayClipAtPoint(originalClip,

    transform.position); } }

    3.3.5 SpecialEffectsHelper(zel Efekt Scripti)

    public class SpecialEffectsHelper : MonoBehaviour {

    public GUIText score;

    public GUIText bestScore;

    private int skor = 0;

    private int yuksekSkor = 0;

    public ParticleSystem smokeEffect;

    public ParticleSystem fireEffect;

    void Start() {//baslangta ki skor ve yksek skor gstergeleri

    score.text="Score : " + skor;

    yuksekSkor = PlayerPrefs.GetInt("Best Score : ");

    bestScore.text="Best Score : " + yuksekSkor; }

    public void Explosion(Vector3 position) { instantiate(smokeEffect, position);//bulut efekti

    olustur

    instantiate(fireEffect, position);// ates efekti olustur

    skor++;//patlama efekti olusunca skoru arttr

    if(skor > yuksekSkor)//yksek skoru kaydet yuksekSkor = skor; score.text="Score : " +

    skor; PlayerPrefs.SetInt("Best Score : ",yuksekSkor); PlayerPrefs.Save(); }

    private ParticleSystem instantiate(ParticleSystem prefab,Vector3

    position)//patlama efekti olusturma fonksiyonu

    { ParticleSystem newParticleSystem = Instantiate(

    prefab,

    position,

    Quaternion.identity

    ) as ParticleSystem;

    Destroy(

    newParticleSystem.gameObject,

    12

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    19/25

    newParticleSystem.startLifetime

    );

    return newParticleSystem; } }

    3.3.6 MenuScript(Men Scripti)

    public class MenuScript : MonoBehaviour {

    void OnGUI()//Ekranda dikdrtgen biiminde Start butonu

    olustur.Start butonuna basnca Stage sahnesini ykle {

    const int buttonWidth = 84;

    const int buttonHeight = 60;Rect buttonRect = new Rect(

    Screen.width / 2 - (buttonWidth / 2),

    (2 * Screen.height / 3) - (buttonHeight / 2),

    buttonWidth,

    buttonHeight

    );

    if(GUI.Button(buttonRect,"Start!")) { Application.LoadLevel("Stage1"); } if(GUI.Button(newRect(215,250,50,50),"Reset"))//Reset butonuna baslrsa yksek skoru sfrla

    PlayerPrefs.DeleteAll(); } }

    3.3.7 GameOverScript(Oyun Sonu Scripti)

    public class GameOverScript : MonoBehaviour {//Dikdrtgen seklinde Retry ve Back to

    menu butonlar

    olustur.Retrye basnca Stage,Back to menuye basnca Menu sahnesini

    ykle

    void OnGUI() { const int buttonWidth = 120;

    const int buttonHeight = 60;

    if (

    GUI.Button(

    new Rect(

    Screen.width / 2 - (buttonWidth / 2),

    13

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    20/25

    (1 * Screen.height / 3) - (buttonHeight / 2),

    buttonWidth,

    buttonHeight

    ),

    "Retry!"

    )

    )

    { Application.LoadLevel("Stage1"); }

    if (

    GUI.Button(

    new Rect(

    Screen.width / 2 - (buttonWidth / 2),

    (2 * Screen.height / 3) - (buttonHeight / 2),

    buttonWidth,

    buttonHeight

    ),"Back to menu"

    )

    )

    { Application.LoadLevel("Menu"); } } }

    3.3.8 CreateRandomEnemy(Rastgele Dsman Olusturma Scripti)

    public class CreateRandomEnemy : MonoBehaviour {

    public GameObject enemyPrefab;//Belirlenen yatay ve dikey eksenlere ve saysna gre

    dsman olustur

    public float numEnemies;

    public float xMin = 10F;

    public float xMax = 85F;

    public float yMin = 3.5F;

    public float yMax = -3.5F;

    14

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    21/25

    void Start () {

    GameObject newParent = GameObject.Find("1 - Middleground");

    for(int i=0;i

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    22/25

    SONULAR

    Unity oyun motorunun arayz,bilesenleri ve fonksiyonlar temel anlamda grenildi.Scriptleme

    mantg gelistirildi.Basit bir 2D oyun gelistirildi.Oyundan baz grseller asagdadr.

    16

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    23/25

    17

  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    24/25

    Kaynaklar

    [1] http://docs.unity3d.com/ScriptReference/index.html

    [2] http://docs.unity3d.com/Manual/index.html

    [3] http://yasirkula.com/category/oyun-tasarimi/unity-3d/

    [4] http://kursiyernet.meb.gov.tr/Default.aspx

    [5] http://unitytr.wordpress.com/

    [6] http://pixelnest.io/tutorials/2d-game-unity/

    [7] http://answers.unity3d.com/

    [8] http://stackoverflow.com/

    [9] http://learnunity2d.com/

    [10] http://tr.wikipedia.org/wiki/Unity_3D

    18

    http://docs.unity3d.com/ScriptReference/index.htmlhttp://docs.unity3d.com/Manual/index.htmlhttp://yasirkula.com/category/oyun-tasarimi/unity-3d/http://kursiyernet.meb.gov.tr/Default.aspxhttp://unitytr.wordpress.com/http://pixelnest.io/tutorials/2d-game-unity/http://answers.unity3d.com/http://stackoverflow.com/http://learnunity2d.com/http://tr.wikipedia.org/wiki/Unity_3Dhttp://tr.wikipedia.org/wiki/Unity_3Dhttp://learnunity2d.com/http://stackoverflow.com/http://answers.unity3d.com/http://pixelnest.io/tutorials/2d-game-unity/http://unitytr.wordpress.com/http://kursiyernet.meb.gov.tr/Default.aspxhttp://yasirkula.com/category/oyun-tasarimi/unity-3d/http://docs.unity3d.com/Manual/index.htmlhttp://docs.unity3d.com/ScriptReference/index.html
  • 8/9/2019 2015 - Yusuf Borucu - Unity3d ile Android Oyun Yapm

    25/25

    ZGEMIS

    KIS

    ISEL B

    ILG

    ILER

    Ad Soyad : Yusuf BORUCU

    Uyrugu : T.C

    Dogum Yeri ve Tarihi: Sanlurfa 16.11.1993

    Adres : Bilecik

    Telefon : 0541 803 57 95

    e-mail : [email protected]

    EGITIM DURUMU

    Lisans grenimi : Bilecik Seyh Edebali niversitesi, Bilecik

    Bitirme Yl : 2015

    Lise : Celal Bayar Anadolu Lisesi, Bursa

    Stajlar : OM UZEM

    ILGI ALANLARI

    YABANCI DILLER : Ingilizce