16 Haziran 2016 Perşembe

Change sprite with script | Sprite yi script ile değiştirme Unity3d

Merhaba arkadaşlar, unityde oluşturduğumuz nesnelerin kod ile görünümlerini bazen değiştirmek isteriz. Sprite olarak oluşturduğumuz görünüm dosyalarında bu değişiklikleri kod ile nasıl değiştiririz işte burada yazacağımız kod bize bu değişikliği sağlayacaktır.

Örneğin; ilerleyen bir nesnemizin zıplarken farklı bir görünüme sahip olmasını isteriz.

public Sprite changeObject;
public GameObject object = new GameObject();
 

void Start()
{
    object.gameObject.GetComponent<SpriteRenderer>().sprite = changeObject;

}

bu satırda gerçekleştirdiğimiz atama işlemi ile, nesnemizin sahip olduğu görünümü başka bir görünüm ile değiştirmekteyiz.


14 Haziran 2016 Salı

use properties for gameObject | Nesnenin özelliklerini kullanma, Unity3d

Merhaba arkadaşlar, unity3d projesinde oluşturduğumuz script dosyamızda, projemizdeki bir nesneni hareket etmesi ya da nesneyi renklendirme gibi farklı şekiller uygulamak isteriz. Script dosyamızı oluşturduktan sonra bu dosya ile nesneyi bir şekilde bağdaştırmamız gerekecektir. Bu bağdaştırma özelliği için öğrendiğim iki metodu sizinle paylaşacağım.
Script dosyasını oluşturduktan sonra AddComponent ile öncelikle nesnemin kontrolörüne(inspector) ekliyorum.
Add Componente tıkladıktan sonra Component menüsünden Scripts i seçiyorum. Burada görünen İsimler daha önceden oluşturmuş olduğum Script dosyalarımın isimleridir. Nesneme eklemek istediğim Script dosyasının ismini bu menüden bularak tıklıyorum ve kontrolörüme(inspector) ekliyorum. Ekledikten sonra kontrolörümde(inspector) Script dosyamın eklendiğini görüyorum.


Nesnem ile Script dosyamı birleştirdikten sonra Script dosyamda nesnemin özelliklerini kullanacağım.
İlk öğrendiğim metod Script dosyamda

public GameObject cube;

değişken tanımlaması yapıyorum. Bu tanımlamadan sonra dosyamı kaydedip Unitye dönüyorum. Nesneme tıkladıktan sonra kontrolörde(inspector) Script özellikğimin eklendiği bölüme geliyorum ve burada Script dosyasında tanımlama yaptığım değişkenimin adının yazıldığını görüyorum.


Değişken adının yanında bulunan "None" değerinin üzerine, Project sekmesinde bulunan nesnemi basılı tutup bırakıyorum.


bu işlemi yaptıktan sonra, Script dosyamda cube değişkeninde yaptığım değişiklikler oyundaki nesnemin üzerindeki değişikliklere neden olacaktır.

İkinci öğrendiğim metod ise Script dosyamda

public GameObject cube = GameObject.Find("Cube");

tanımlaması ile ilk yöntemim gibi nesneme ile script dosyamdaki değişken ile müdahale edebileceğim.  Burada bulunan Find fonksiyonu içerisine verilen parametre adı Hierarchy sekmesindeki nesnemin adı ile aynı olmalıdır.

Bu tanımlamalar ile yapılan bir örnek kod paylaşmak isterim.


 bu tanımlama sayesinde cube nesnemin bulunduğu pozisyon her üst ok ile alt oka tıklamamla değişecektir.

Unity3d InvokeRepeating, Invoke ve CancelInvoke nedir ? | What is InvokeRepeating, Invoke and CancelInvoke on Unity3d ?

Yeni başladığım unityle karşılaştığım bir metodu sizinle paylaşacağım. Bu metod ile unityde süreklilik sağlayabilmekteyiz. Yani Unity3d de nesneler üzerinde sürekli işlemler yaptırmak istiyorsak zamanlayıcı gibi kullanabileceğimiz InvokeRepeating metodu bize oldukça yardımcı olmaktadır. Bu metodun kullanımı:


şeklindedir. InvokeRepeating' in ilk parametresi olan "PropFunction" string değeri, fonksiyonun ismidir. Biz fonksiyonun ismini vererek o fonksiyonu InvokeRepeating fonksiyonunda sürekli çağırmasını sağlamaktayız.
İkinci parametre olan 3 değeri ile InvokeRepeating metodunu, programın çalışmasında sonraki başlatılma süresidir. Yani program başladıktan 3 sn sonra InvokeRepeating çalışmaya başlayacak.
Son parametre olan 1 ise string olarak ismini verdiğimiz fonksiyonun kaç saniyede bir sürekli çalışması istiyorsak verdiğimiz değerdir.


Invoke metodumuz ise süreklilik ifade etmeden bir kereliğine çalıştırmak istediğimiz fonksiyonlar için kullanılmaktadır. Örneğin, Invoke metodumuz da başlangıçta belirleyeceğimiz değerleri fonksiyon çağrısı yaparak tanımlayabiliriz. Çalışacak fonksiyon için program başlamasından sonra belirli bir süre sonra çalışmasını istiyorsak bu fonksiyonun özelliğini kullanarak bunu gerçekleştirebiliriz.


İlk parametre ile fonksiyonumuzun ismini vererek çağırma işlemi gerçekleştiriliyor. İkinci parametremiz sayesinde ise fonksiyonun kaç saniye sonra çalışmasını istiyorsak o süre aralığını vererek istenilen zamanda çalışmasını istiyoruz.


CancelInvoke fonksiyonu, çalışan invoke fonksiyonunu sonlandırmak için kullanılır. Mesela InvokeRepeating fonksiyonumuz çalıştıktan sonra sürekli olarak çalışacaktır. InvokeRepeating fonksiyonun sürekliliğinin engellenmesini istediğimiz anda CancelInvoke metodunu çalıştırılarak sonlandırmış olacağız.


Görüldüğü gibi tek parametre alan CancelInvoke fonksiyonunun aldığı parametre, Daha önceden InvokeRepeating ile çalıştırdığımız fonksiyonun ismini vererek o fonksiyonun çalışmasını durdurmaktayız. CancelInvoke fonksiyonu son kez çağırılan fonksiyonun sonlanması ile sonlanacaktır. Çağırılan fonksiyon kesmeye uğramayacaktır.


11 Haziran 2016 Cumartesi

Android ile Php web servisi oluşturma - Mysql Oluşturma ve sunucuya yükleme | Create php web service use with Android - Creating Mysql and upload server

Merhaba arkadaşlar, Bu yazımızda Android ile php web servisleri projesinde veritabanımızı oluşturacağız. Veritabanımı olarak Mysql kullanacağız. Öncelikle lokalde oluşturacağımız veritabanını daha sonrasında sunucumuza yükleyeceğiz. Bir önceki yazımızda sunucumuzdan bahsetmiştik.

Buradan Yazının Videolu anlatımına geçebilirsiniz.

Şimdi gelelim Veritabanımızı oluşturmaya. Bunun için önceden yüklediğimiz XAMPP serverde apache ile MySQL' i çalıştırıyoruz.


Daha sonra tarayıcımıza http://localhost:(apache port)/phpmyadmin yazarak phpmyadminimizi açıyoruz. Apache portum 31 olarak ayarlı. O yüzden ben http://localhost:31/phpmyadmin yazarak phpmyadmine giriş yapıyorum. Kullanıcı adı ile şifrem olmadığı için direk bağlantı sağlıyorum. Eğer sizin kullanıcı adı ve şifreniz varsa lütfen bilgilerinizi girip giriş yapın. Giriş yaptıktan sonra;

Yeni veritabanı oluşturuyorum adını 'DBphp' koyuyorum.



Oluşturulan veritabanımın SQL sekmesine tıklayarak aşağıdaki kodları kopyalayıp çalıştırıyorum.

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

CREATE TABLE `uyeler` (
  `UyeID` int(11) NOT NULL,
  `AdSoyad` varchar(255) NOT NULL,
  `Email` varchar(255) NOT NULL,
  `Sifre` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin5;

 
ALTER TABLE `uyeler`
  ADD PRIMARY KEY (`UyeID`);


ALTER TABLE `uyeler`
  MODIFY `UyeID` int(11) NOT NULL AUTO_INCREMENT;


 
çalıştırdığım zaman veritabanımda bir tane tablo oluşması gerekmektedir. Sonra veritabanımızın yedeğini alacağız. Bu yedeği alıp sunucumuza yükleyeceğiz.



Veritabanımıza seçerek;


Üstteki menüden Dışa aktara tıklıyoruz. Hiç bir ayarı değiştirmeden Git'e tıklıyoruz ve veritabanımızın yedeğini indiriyoruz.


Oluşan DBphp.sql dosyasını masaüstümüze alalım ki sunucuya yüklerken birdaha dosya yolunu göstermekle uğraşmayalım.


Şimdi sunucumuza giriş yapalım. Giriş yaptıktan sonra menüden Gelişmiş Araçların altında bulunan Veri Tabanı Yöneticisi' ne tıklıyoruz.


Açılan pencerede yeni bir veritabanı oluşturmamız gerekiyor.Veritabanı adının başında değiştirilemez bir isim yer alıyor ve devamında koymak istediğimiz veritabanı adını yazıyoruz. Ben değiştirilemez ismin devamına "dbphp" ekliyorum. Şifremi yazıyorum. Veritabanı oluştura tıklıyorum.


Oluşan veritabanı hemen sayfanın alt tarafında görüntüleniyor.



Burada Yönetim Başlığı altında bulunan "phpMyAdmin 4 See all tools" linkine tıklayarak sunucumun phpmyadmini ni açıyorum.


Açılan panelde İçe aktara tıklıyorum.

Gözata tıklıyorum. Burada DBphp.sql dosyamı daha önceden masaüstüme almıştım. Masaüstüne aldığım dosyamı seçiyorum ve Git' e tıklayarak sunucumdaki veritabanıma yedeklemiş olduğum veritabanını yüklemiş oluyorum.

Şimdi projemizin geri kalanına devam edelim.

Kullanılan materyaller:
- DBphp.sql

Android ile Php Web Service Kullanmak | Php web service use with Android (Videolu Anlatım)

Merhabalar Arkadaşlar, Yakın zamanda Android ile Asp.Net web servis kullanımı ile ilgili bir projeyi beraber yapmıştık. Şimdi Android uygulaması ile birlikte php web servis kullanımı yapacağız. Yapacağımız servisler web üzerinde canlı olarak yayın yapacak. Lokal de sınırlı kalmayacağız. Böylece canlı ortamda uygulamalarımızın çalışırlığınıda bir nevi öğrenmiş olacağız. Biliyorsakta bilmeyen arkadaşlarımız için öğretici bir yazı olacak.

Android uygulamamız olarak basit bir uygulama olacak. İçerisinde üyelik bilgileri ile ekle, sil ve listele özelliği bulunan bir uygulama yapaccağız. Verilerimiz, android uygulamamızdan web servislerimiz aracılığıyla veritabanımıza ulaşacak.

Kullanılan Uygulamalar
- Android (Android Studio)
- Lokal sunucu (Xampp server) - Phpmyadmin kullanılacak.
- Web Hosting - Linux (Biz.nf - http://cp1.biz.nf/beta)
- Notepad++ (Web servis)
- FileZilla
- Advanced Rest Client (ARC - Web servis client)
- TeamViewer (Android Emülator)

Kurulumlar:
- Android Studio Kurulumu
- Lokal Sunucu Kurulumu
- Web Hosting Üyeliği alma
- Notepad++ Kurulumu
- Advanced Rest Client Kurulumu
- TeamViewer Kurulumu PC - Mobil Bağlantısı

1- Web hosting' den öncelikle üyeliğimizi alalım. Videolu anlatım.
2- Mysql veritabanımızı oluşturalım ve sunucuya yükleyelim. İkinci işlem olarak Android uygulamamızın tasarımını oluşturalım. Videolu anlatım.
3- Web servislerini Androidin isteklerine göre oluşturacağız. Videolu anlatım.
4- Android ile uye ekleme işlemini gerçekleştirelim. Videolu anlatım.
5- Android ile uye listeleme işlemini gerçekleştirelim. Videolu anlatım. 
6- Android ile uye silme işlemini gerçekleştirelim. Videolu anlatım.

Uygulamamızın sonuna gelmiş bulunmaktayız.


-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Uygulamamızda kullanılan dosyalara aşağıdaki linklerden edinebilirsiniz.



- Web Servisleri :
- Android Uygulama :
- DBphp.sql: