9 Haziran 2013 Pazar

Android

UNİTY 3D VE ANDROİD



                       UNİTY 3D KURULUMU VE BASİT BİR UYGULAMA

          Merhaba arkadaşlar,
          Bugün Unity 3D oyun motorunun nasıl kurulduğunu ve oyun motorunun nasıl kullanıldığına yönelik basit bir uygulama yapacağız. Öncelikle buraya girerek download kısmından Unity 3D nin son sürümünü indiriyoruz. Yaklaşık 600 MB lık bir setup dosyası inecektir. Dosya indikten sonra basit bir kurulumu vardır. İndirilen dosyayı normal şekilde kuruyoruz. 
         Kurulum tamamlandıktan sonra ilk uygulamamızı yapmak için Unity 3D' yi açmamız gerekecek. Açtığımızda karşımıza Create New Project seçeneğinden nereye kaydedeceğimiz ve hangi özelliklerinin olacağını belirleyen seçenek gelecektir.

Daha sonra seçenekleri belirleyim projemizi açıyoruz ve aşağıdaki ekran geliyor karşımıza. 



Unity 3D kurulumu ve proje açması bu kadar basit arkadaşlar:)


             Şimdi de basit bir uygulama yapalım arkadaşlar...
             Öncelikle projemizde basit bir yol ve küp olacak. Kübü araba şeklinde düşünerek yol üzerinde yürütmeye çalışacağız. Zaten bütün mantık programlama ile yapılacaktır. Eğer programlama bilginiz varsa bu işi yapmak çok zor olmayacaktır sizin için :)
            Şimdi geçelim projeye. Öncelikle projemizi yukarıda belirttiğimiz gibi açıyoruz. Ardından yukarıdaki menülerden Game Object seçeneğinden Create Empty yapıyoruz. Daha sonra da sağ alttaki Create seçeneğinden Javascript seçeneğine basıyoruz ve ismini isteğimize göre değiştirebiliriz.Bu javascript i gameobject seçeneğinin üzerine atıyoruz. Ardından javascript seçeneğinin kod bölümüne geçiyoruz. Burada Unity ile kurulan Mono Develop programı açılacaktır arkadaşlar...


        var laspos:Vector3;
       function OnDrawGizmos(){

       var waypoints=gameObject.GetComponentInChildren(Transform);
       for(var waypoint:Transform in waypoints){

       Gizmos.color=Color.green;//Kürenin rengi
       Gizmos.DrawSphere(waypoint.position,.5);
       Gizmos.color=Color.yellow;//Çizginin Rengi
       Gizmos.DrawLine(waypoint.position, laspos);
       laspos=waypoint.position;
       }
   }

Kod bölümüne yukarıdaki kodları yazıyoruz.  Kodları yazdıktan sonra(yazmadan da yapılabilir) GameObject in içindeki javascript i duplicate yaparak fazlalaştırabiliriz. Bunu yapmamızın sebebi yarış yolu moduna getirmek istememiz.
        Bu işlemlerden sonra yukarıdaki menülerden GameObject-->Create Other-->Cube yaparak bir küp oluşturuyoruz. Bunu da araba olarak kullanacağız. Daha sonra içerisinde bir javascrip açarak kod bölümüne girmemiz gerekiyor. 


     var spawnPoints:Transform;

      private var waypoint=new Array();
      private var mesafe:float; 
     private var sayac:int=0;

     function Start(){

    var i=0;
    for( var child:Transform in spawnPoints)
{

    waypoint[i]=child;
     i++;
}
}
    function Update(){


    mesafe=Vector3.Distance(transform.position, waypoint[sayac].position);
    var relativePos=waypoint[sayac].position-transform.position;
    var rotation=Quaternion.LookRotation(relativePos);
    transform.rotation=Quaternion.Slerp(transform.rotation,rotation,Time.deltaTime*2);//Dönüş ayarları
    transform.Translate(Vector3.forward/3);//Dönüş ayarları(Üzerinde değişiklik yaparak nerenin farklı olduğu görülebilir)

    if(mesafe<=2){//Dönüş ayarları(Üzerinde değişiklik yaparak nerenin farklı olduğu görülebilir)
    sayac++;
}
   if(sayac>=waypoint.length){
   sayac=0;
}

}


         Kodu yazdıktan sonra ilk yazdığımız javascriptlerimizi cubenin  altına atıyoruz(Karışma olmamı için isimlerini değiştirmenizde fayda var).  Ardından yolları duplicate şeklinde düzenlemesi size aittir. Yolun nasıl olacağı, şeklinin nasıl olacağı size aittir arkadaşlar. Son görüntü aşağıdaki gibi olacaktır.



           Son olarak resimde de belirtildiği gibi uygulamayı çalıştırdığımızda basit şekilde kübümüz araba gibi oynamaya başlayacaktır. İlk başta görüntülenmeyebilir ama oynatma menüsünün altındaki Gizmos seçeneğini aktif edildiğinde orda da görüntülenecektir.



        Her türlü soru görüş ve önerinizi iletişim bölümünden ya da soru bölümünden bana sorabilirsiniz...
        İyi Çalışmalar...








                              UNITY 3D İLE ANDROİD PROGRAMLAMA DERSLERİ


          Merhaba arkadaşlar,
          Sınavlarımın bitmesiyle tekrar burada sizlerle birlikte olmaktan dolayı mutluyum. Tezimi androidde 3Doyun programlama üzerine aldım ve tezimde oyun motoru olarak Unity 3D yi kullanacağım. Unity i kullanmamın en büyük sebeplerinden birisi hem kullanışlı olması hem de android için ücretsiz sürümünü çıkarmış olması.
        Şimdi gelelim 
Unity 3D NedirUnity 3D ile neler yapılabilir sorusunu cevaplamaya..
 
        Unity 3D, bir oyun motorudur. Oyun ve bilişim dünyasına getirdiği en önemli yenilik, gelişmiş özelliklere sahip 3 boyutlu oyunların bilgisayara kurulmadan oynanmasını sağlamak olmuştur. Unity 3D motorunu kullanan oyunlar, Unity Web Player eklentisi sayesinde hiçbir kurulum işlemi olmadan web tarayıcı üzerinden çalışabilmektedir. Bu yönü sayesinde oyunlar bilgisayara daha az yüklenirken bir oyuncuyu yeni bilgisayar alma zahmetinden kurtarmış olur. Öte yandan oyun üreticileri, oyunu kendi sunucularından oynattıkları için korsan oyuna çare bulmuş olur. Unity 3D motoru ile yazılmış oyunlara örnek olarak Battlestar Galactica Online verilebilir.
        
            Unity'nin oyun yapımcılarına sağladığı başka bir kolaylık da Unity ile geliştirilen bir oyunun herhangi bir altyapı değişikliğine gerek olmadan farklı platformlara (PC, Mac, Web, iOS, Android) uygun olarak derlenebilmesidir. Bu sayede PC için hazırlanan bir oyun tek tıklamayla Mac içinde çalışır hale getirilebilir.


Çok yakında dersler ile buluşmak dileğiyle...






                         ANDROİD PROGRAMLAMA




                            
     
              ANDROİD KURULUMU VE ANDROİDE GİRİŞ

        Merhaba arkadaşlar. Bu benim ilk makalem olacak. Tecrübeli olan arkadaşlarımızın hatalarımızı mazur görmesi dileğiyle…
         Ben Android programlama dilini üstlendim ve bu işi yazilimsözlük vasıtasıyla herkes öğrenecektir.

                   ANDROİD NEDİR?

           Android mobil cihazlar için tasarlanmış açık kaynak kodlu bir işletim sistemidir. Mobil cihaz bir telefon olabileceği gibi bir tablet bilgisayar da olabilir. Şu anda 300 milyon civarında android yüklü cihaz bulunmakta ve her geçen gün mobile sahip cihaz sayısı hızla artmaktadır.

           Android, aygıtların fonksiyonelliğini genişleten uygulamalar yazan geniş bir geliştirici grubuna sahiptir.

         Android programlama, aslında biraz karmaşık gibi gözükse de temel java bilgisine sahip bir yazılımcının üzerine düştüğünde yapabileceği bir iştir. Android programlama temel java fonksiyonlarını kullanarak geliştirmeyi sağlayan bir programlama dilidir. Şimdi bunu nasıl bilgisayarımıza kuracağız ona bir bakalım isterseniz: 

                   ANDROİD KURULUMU

          İlk defa kurulum yapacak arkadaşlar öncelikle Java Development Kit(JDK) aracını indirmeleri gerekmektedir. Burdan JDK nın en son sürümünü indirebilirsiniz…
  
                                   
                   Biz eclipse de yapacağımız için sol tarafta olanı indirmemiz gerekecek
JDK kurulduktan sonra burdan da Android SDK araçlarını indireceğiz. 


   
Resimde görüldüğü gibi Download the SDK ADT Bundle for Windows butonuna bastığımızda karşımıza bilgisayarımızın kaç bitlik olduğu ve kabul et seçeneği gelecektir. Bunları seçtikten sonra yaklaşık olarak 400 MB lık dosyamız inecektir.Bu dosya zip şeklindedir ve içerisinde bilgisayarınıza uygun Eclipse sürümü ve Android SDK nın son sürümüne ait platform yüklü olarak gelecektir. Aşağıda zipten çıkmış dosyanın hali gösterilmektedir.




Daha sonra Eclipseyi ilk çalıştırdığımızda aşağıdaki gibi ekran gelecektir. Ardından Projemizin kaydedileceği yeri belirtmemiz istenecektir.



          Burada yerimizi belirttikten sonra karşımıza aşağıdaki gibi Welcome penceresi gelecek ve ardından size uyarı olarak Android SDK Location yerini gösterecektir. Bunun nedeni SDK nın yüklenmemiş olmasıdır. Bunu OK diyerek yükleyeceğiz.


                                      
                SDK platformu yüklendikten sonra şimdi de Windows=> Android SDK Manager seçeneğinden seçeneğine basarak Android in hangi sürümlerini yükleyeceğiz onu belirlememiz gerekecek.




                Benim en başta yaptığım gibi bütün sürümleri seçmeyin; yüklemesi günlerinizi alabilir J.  Size tavsiyem 4.0 sürümü ile 2.2 sürümünü kullanmanız. Çünkü birçok program 2.2 sürümünde yazılmıştır.
               Bu işlemleri de yaptıktan sonra sıra geldi emülatör oluşturmaya. Android SDK Manager  üzerinden Toolsè Manage AVD seçeneğinden ya da  Eclipse üzerinden WindowsèAndroid Virtual Device ManagerAndroid Virtual Device penceresine ulaşıyoruz.

                              
Sizde yüklü olmadığından bu ekran boş olacaktır. Sağ taraftaki New butonuna tıklayalım. Ardından karşımıza cihazımızın adı, sürümü vs. şeyler gelecek. Onları yazmamız gerekecek.




                   Cihazı oluşturduktan sonra cihazı seçip sağ taraftan START a basmamız yeterli olacaktır; karşımıza gelen ekrana da LAUNCH dediğimizde artık emülatörümüz açılmaya hazırlanıyor demektir.
         Yukarıda yazılanlar doğru uygulanmışsa sorun olacağını zannetmiyorum arkadaşlar. Emülatör bir işletim sistemi barındırdığından yavaş açılabilir; bu sizi kaygılandırmasın.
        
         Emülatör 4.0 sürümünün ilk açıldığındaki ekran görünümü aşağıdaki gibidir…







           

     

              Android kurulumu makalemiz burada bitmiştir arkadaşlar. Her türlü soru, görüş ve öneriniz için blog sayfam ı ziyaret edebiliri ya da yazilimsözlük ten bana ulaşabilirsiniz.
         İYİ ÇALIŞMALAR


                       
        


   



ANDROİD'DE DİYALOG PENCERELERİ OLUŞTURMA


MainActivity.java(package dosyasının altındaki ana dosya) dosyasına açıp bu kodları oraya yazıyoruz...


Buraya paket adı girilir...

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;  //Eklenmesi gereken kütüphaneler.
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {
CharSequence[] items = { "Google", "Apple", "Microsoft","SobeYazılım" };//Burada şeçim yapılacak şirket isimler veriliyor.İstenildiği kadar arttırılabilir.
boolean[] itemsChecked = new boolean [items.length];
ProgressDialog progressDialog;//Yükleniyor görüntüsünü veren pencere(Şekil2)

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClick(View v) {
showDialog(0);
}
public void onClick2(View v) {
//---Progress Dialog gösteriliyor ---
final ProgressDialog dialog = ProgressDialog.show(
this, "Yükleniyor", "Lütfen Bekleyin...", true);
new Thread(new Runnable(){
public void run(){
try {
Thread.sleep(5000);//Kaç saniye ekranda durması belirlenir.Her bin 1 saniye ye dek gelmektedir. 
dialog.dismiss();//İletişim kutusu kapatılır
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
public void onClick3(View v) {   //İndirme Durum Göstergeci başlatılıyor(Şekil3)
showDialog(1);
progressDialog.setProgress(0);
new Thread(new Runnable(){
public void run(){
for (int i=1; i<=15; i++) {
try {
Thread.sleep(1000);
progressDialog.incrementProgressBy((int)(100/15));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
progressDialog.dismiss();
}
}).start();
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0:
return new AlertDialog.Builder(this)
.setIcon(R.drawable.ic_launcher)
.setTitle("Şirketleri Seçin...")
.setPositiveButton("Tamam",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton)
{
Toast.makeText(getBaseContext(),
"Tamam Seçildi!", Toast.LENGTH_SHORT).show();
}
}
)
.setNegativeButton("İptal",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton)
{
Toast.makeText(getBaseContext(),
"İptal Seçildi!", Toast.LENGTH_SHORT).show();
}
}
)
.setMultiChoiceItems(items, itemsChecked,
new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(DialogInterface dialog,
int which, boolean isChecked) {
Toast.makeText(getBaseContext(),
items[which] + (isChecked ? " seçildi!":" seçilmedi!"),
Toast.LENGTH_SHORT).show();
}
}
).create();
case 1:                                                                            //Şekil3 işlemi başlar.
progressDialog = new ProgressDialog(this);
progressDialog.setIcon(R.drawable.ic_launcher);
progressDialog.setTitle("Dosyalar İndiriliyor...");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                    ---Burdan sonra seçimler yapılır(tamam, iptal vs.)---
progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Tamam",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton)
{
Toast.makeText(getBaseContext(),
"Tamam Basıldı", Toast.LENGTH_SHORT).show();
}
});
progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "İptal",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton)
{
Toast.makeText(getBaseContext(),
"İptal Seçildi", Toast.LENGTH_SHORT).show();
}
});
return progressDialog;
}
return null;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}




res-->layout-->activity.main.xml dosyasını açıp ordaki kod bölümüne aşağıdakileri yazıyoruz.



Button
android:id="@+id/btn_dialog"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Diyalog Penceresini Görün"
android:onClick="onClick" />

    <Button
        android:id="@+id/btn_dialog2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="74dp"
        android:onClick="onClick2"
        android:text="Tıklayın" />

    <Button
        android:id="@+id/btn_dialog3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:onClick="onClick3"
        android:text="İndirme Penceresini Açar" />

</RelativeLayout>




Diyalog Penceresini Görün butonuna basınca şekildeki görüntü olmalıdır.
                                               Şekil1:Şirket Seçimi yapıldığında 








Tıklayın butonuna bastığında ise Şekil2 deki görüntü oluşmalıdır

Şekil2:Yükleniyor görüntüsü










Tıklayınız a bastığında oluşması gereken görüntü Şekil3 te gösterilmektedir.



Şekil3:Dosya İndirme Görüntüsü





Arkadaşlar dil kodlaya kodlaya öğrenilir. Ben de Android geliştirme de daha yeni sayılırım. Ama bazı programlama dillerini bildiğim için öğrenmem beni çok zorlamıyor. Eğer programcı olmak istiyorsanız kodlayın sürekli...
Burdaki kodları da önce kopyalayın; nasıl çalıştığını görün. Daha sonra anlayarak kendiniz yazmaya çalışın!
Zaten Android de herhangi bir harfe bassanız bütün kullanılacakları çıkarıyor. Onun için bilmemiz gereken sadece neyi nerde kullanacağımızdır.
İyi Çalışmalar...

Soru, görüş ve önerileriniz için Web Site bölümünden bize ulaşabilirsiniz...

Hiç yorum yok:

Yorum Gönder