2015 - yusuf borucu - unity3d ile android oyun yapımı
TRANSCRIPT
-
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