GameMaker Studio: Obje Tanımlama

En son güncellendiği tarih: Oca 14


Objeler GameMaker: Studio içindeki temel "yapı taşlarıdır"


Şimdiye kadar gördüğünüz kaynaklarla, oyunun kaynak ağacına güzel görüntüler ve sesler ekleyebilirsiniz, ancak henüz oyuna hiçbir etkileri yok.Objeler, bir oyunun özelliklerini kontrol etmek ve özel şeyler yapmak için kullandığımız bir kaynaktır. Çoğu zaman oyun odalarında görebilmeniz için onlarla ilişkilendirilmiş bir sprite'ları vardır, ancak bazen kullanıcıyla veya Alarm vb. şeyler yapmak için "sahnelerin Arkasında" bir denetleyici olarak kullanılırlar. Davranışlar verilebilir ve belirli olayların yanı sıra birbirlerine de tepki verebilirler. Oyunda gördüğünüz şeylerin çoğu, objelerle etkileşimlerine dayanır. Objeleri doğrudan oyun odalarına yerleştirmiyorsunuz, bunun yerine, Obje kaynağının temelde kopyaları olan obje örneklerini yerleştiriyorsunuz. Bu, örneklerin ve objelerin aynı olmadığı ve her birinin kendilerini etkileyebilecek, kendi fonksiyonlarına sahip olduğunu unutmamalıyız.



Objeler ve Örnekler(Objects and Instances)


GameMaker ile yapılan bir oyunda: karakterler, canavarlar, toplar, duvarlar, vb ... hepsi kaynak ağacında bulunan ve bir odaya yerleştirilen temel bir obje şablonundan kopyalanır. Bir örneği etkileyen veya değiştiren şeyler hakkında konuşacak olursak, odadaki bir obje örneğinin kendi kopya örneğini etkileyebileceğini unutmamalısınız. Obje için yaptığımız bir eylem yaratılan tüm örneklere de yansıyabilir. Obje eşittir örnek için şablon, örnek eşittir oyun oynamak için odaya yerleştirdiğimiz şeydir.



Bir Obje Oluşturmak


Oyununuzda bir nesne oluşturmak için Kaynaklar menüsünden Create Object seçeneğini seçin (veya araç çubuğundaki eşdeğer butona tıklayın) ve aşağıdaki pencere açılacaktır:

İlk bakışta bu oldukça kafa karıştırıcı görünebilir, ancak pencere bölümlere ayrılmıştır ve her birini ayrı ayrı ele alacağız, böylece ne için olduklarına dair bir genel bakış elde edebilirsiniz. Soldan başlayalım. obje hakkında bazı genel bilgiler vardır, daha sonra ortada obje ve pencerenin bu olaylara gerçekleştirilecek olan eylemleri yerleştirmesi için olayların listesi ve son olarak sağ tarafta, kullanım kolaylığı için farklı sekmeler altında gruplandırılmış nesnenin gerçekleştirmesi için seçebileceğiniz eylemler var. Olaylar ve eylemler kılavuzun sonraki bölümlerinde daha ayrıntılı olarak ele alınacaktır. "Uses Physics" seçeneğini seçtiyseniz, bu pencerede fizik seçenekleriyle ilgili olarak görünen başka bir bölüm daha olacaktır! Objenize istediğiniz gibi bir isim verebilirsiniz. (her zaman bir isim oluşturmanız gerekir.). Bu, hiçbir zaman boşluk içermemeli veya yetkisiz karakterler içermemelidir. Kısa ama akılda kalıcı olmalıdır, böylece daha sonra kaynakları kolayca tanımlayabilirsiniz, örneğin "obj_Ship" veya "Ship_obj "gibi kaynaklar arasındaki farkları belirlemek için bir ön-ek veya son-ek kullanabilirsiniz. Sonra nesneye sahip olmasını isterseniz nesnenin hareketli grafiğini seçebilirsiniz. Sprite kutusuna farenin sol tuşuyla basarsanız veya yanındaki menü düğmesine basarsanız, kaynak ağacındaki mevcut tüm sprite'ların listesi açılacaktır. ardından objeniz için istediğiniz sprite'ı seçebilirsiniz. Ayrıca bir sprite kaynağını kaynak ağacından sürükleyebilir ve sprite özelliklerinin üzerine bırakabilirsiniz ve bu şekilde de nesneye eklenecektir. Henüz uygun bir sprite yoksa, yeni bir sprite kaynağı oluşturmak için "New" (yeni) düğmesini tıklayabilirsiniz, ardından dosya editöründen oyuna eklemek istediğiniz grafiği seçebilir, yada kendi grafiğinizi çizebilirsiniz.

Obje penceresinde bulunan bir çok seçenek var;



Visible (Görünürlük)


Görünürlük, oda başladığında bu nesnenin örneklerinin görünür olup olmadığını gösterir. Normalde çoğu örnek görülebilir, ancak bazen görünmez olanlara sahip olmak yararlı olabilir - örneğin, hareketli bir canavarı kontrol etmek veya değerleri takip etmek ve belirli zamanlanmış eylemleri gerçekleştirmek için kontrol objesi kullanabilirsiniz. Görünmeyen objeler olaylara tepki göstermeye devam edeceklerdir ve kendilerine atanan bir sprite ya da maskeleri varsa, diğer örnekler ile çarpışması durumunda tepki vereceklerdir... sadece oyunda görülemezler. Onun dışındaki bütün eylemleri(Eğer Varsa) devam eder.



Solid (Katılık)


Katılık seçeneğini işaretleyerek, GameMaker: Studio'ya , Objelerin örneklerini katı bir nesne (duvar gibi) olduğunu belirtirsiniz. Katı nesneler içeren çarpışmalar, katı olmayan nesnelerle çarpışmalardan farklı şekilde işlenir ve bu nedenle, yalnızca hareket etmeyen nesneler için Katı'yı kullanmanız şiddetle önerilir.



Depth (Derinlik)


Temel olarak, nesnelerin diğer derinlikte olan nesnelerin altında veya üstüne olup olmayacağını ayarlarsınız. Örnekler ekrana çizildiğinde, derinlik sırasına göre çizilirler, en yüksek derinlik ilk çizilen örnektir. ve en düşük derinlik son çizilen örnektir. Aşağıdaki resim bunu göstermektedir:




Default(Ayarlanmamış) değerde, oyunda birbirleriyle aynı derinlikteki örneklerin sıralamasının garantisi yoktur. Hangi örneğin hangi örnekten önce çizildiği belirtilmemiştir. . Bir Objenin diğerlerinin üstünde bulunmasını istiyorsanız, negatif (Diğer objelerden daha düşük) bir derinlik(Depth) vermelisiniz. Veya aksine diğer örneklerin altında kalmasını istiyorsanız, ona pozitif (diğer örneklerden daha yüksek) bir derinlik(Depth) vermeniz gerekir. Derinlik, oyunda, eylemler veya kodlar tarafından değiştirilebilen bir değişkendir.



Persistent objects(Kalıcı nesneler)


Depth kısmının altında, bir objeyi kalıcı kılma seçeneği vardır. Israrcı bir obje, oda değiştiğinde kaybolmayan, aksine "ısrar eden" ve yeni odaya taşınan objedir. Yalnızca bir yok etme eylemiyle veya kodla açıkça yok ettiğinizde kaybolur. Bu, eğer bir odaya kalıcı bir obje yerleştirirseniz, ilerleyecek olan tüm odalarda hala mevcut olacaktır, ve nesne özelliklerinde olaylara atanmış işlemlerini yapmaya devam edecektir. Bu, örneğin odadan odaya hareket eden bir ana karaktere sahip olduğunuzda ve bu nesne içindeki değişkenleri aynı tutmak istediğinizde kullanılabilir.

Kalıcı bir nesnenin Game Start(Oyun Başlat), Game End(Oyun Sonu), Room Start(Oda Başlangıcı) ve Room End (Oda Sonu) olaylarını(Eventlarını) tetiklemeye devam edeceğini unutmayın; ancak oyunu yeniden başlatırsanız (örneğin, game_restart () fonksiyonu ile) tüm kalıcı nesneler kaldırılır ve yalnızca oyun tarafından tekrar yaratıldığında var olur. Ayrıca, kalıcı bir nesneyi devre dışı bırakırsanız, Room End(Oda Sonu) olayı(Eventı) tetiklenmeden önce yeniden etkinleştirilmedikçe bir odadan diğerine geçmeyeceğini unutmayın.



Parents(Ebeveyn Obje)


Obje özellikleri içindeki en güçlü seçeneklerden biri de, bir ebeveyn atama yeteneğidir. Oyundaki her nesnenin bir ebeveyni olabilir, fakat bu ne anlama geliyor? Bir nesnenin bir ebeveyni olduğunda, bu ebeveynle kod, eylem ve olayları aynı olur. Ebeveyni olan bir nesneye "Child" (Yani Çocuk) denir. Ama hepsi bu kadar değil! Ayrıca çokça zaman ve enerji tasarrufu sağlayan alt nesneleri de içeren ebeveynler üzerinde denetimler yapabilir ve kod çalıştırabilirsiniz. Bir başka bakış açısı ile ebeveyn, aynı şemsiye altında objeleri bir arada "gruplamak" ve kimliklerini kaybetmeden olayları ve eylemleri paylaşmalarını sağlamaktır. Atanan Ebeveyn(Parents) objesini otomatik olarak açmak için, Ebeveyn(Parents) düğmesini tıklatabileceğinizi unutmayın. A,B,C ve D objeleri için, G objesi "Parent" seçilirse, G objesinin "Children" kısmında Seçilen Objelern bir listesini de görebileceğinizi lütfen unutmayın. Bu listeden Obje adına çift tıkladığınızda, düzenlemek için özellikler penceresini açacaktır. Ayrıca bir nesneyi kaynak ağacından "Parent" yerine veya "Children" kısmının üzerine sürükleyerek ekleyebilirsiniz.



Masks (Maske)


Objenin bir sprite'ı varsa, ayrıca bir maskesi de vardır. Bu genellikle sprite'ın kendisi tarafından tanımlanır (ve sprite editöründe değiştirilebilir), ancak bazen bir nesnenin sprite'ında farklı bir şekilli maskeye sahip olmasını isteyebilirsiniz. Hatta yalnızca sprite olmasına rağmen maskeye sahip olmasın isteyebilirsiniz. Niye ya? Maskeler GameMaker: Studio'daki çarpışmaları yöneten ayarlardır. İki örnek bir araya geldiğinde, GameMaker: Studio bir çarpışmanın meydana gelip gelmediğine karar vermek zorundadır ve bunu yapmak için, burada tanımlanan veya sprite özelliklerinde tanımlanan nesnenin maskesine dayanır. Masken yoksa çarpışma olmaz! Ayrıca, nesneye bir sprite atadıysanız ve ardından bir maske atadıysanız, GameMaker: Studio her zaman Sprite'ınkini değil, atanan maskenin çarpışmalarını temel alacaktır.. Örneğin, izometrik bir oyun yaparsanız, objeler genellikle bir yüksekliğe sahip olacaktır. Ancak çarpışmalar için obje Sprite'ının yalnızca ayak kısmının çarpışmayı algılamasını isteyeceksiniz . Bunu ayrı bir sprite oluşturarak ve daha sonra obje için Modify Mask(çarpışma maskesi) olarak atayarak elde edilebilirsiniz. Atanan maske sprite'ını otomatik olarak açmak için maske düğmesini tıklatabileceğinizi unutmayın.



Show Information(Bilgileri Göster)


Bilgileri Göster düğmesi, bir HTML dosyası olarak da yazdırılabilen veya kaydedilebilen nesnenin tüm bilgilerine genel bir bakış sunar. Bu, özellikle tüm eylemlerinize, kodunuza ve olaylarınıza genel bir bakış atmak istediğinizde veya nesne içindeki bir şeyi ayıklamak istediğinizde kullanışlıdır.



Uses Physics (Fizik kullan)


Bu kutuyu işaretlediğinizde GameMaker: Studio'ya bu nesnenin fizik dünyasının bir parçası olması gerektiğini söylüyorsunuz. Bu aynı zamanda, bu nesnenin tüm örneklerinin fiziksel özelliklerini tanımlayabileceğiniz nesne penceresinin başka bir bölümünü açacaktır. Bununla ilgili daha fazla bilgiyi, Kılavuzun Gelişmiş Kullanım bölümünde, Nesneler Hakkında Daha Fazla bölümünde bulabilirsiniz.

37 görüntüleme0 yorum

İlgili Yazılar

Hepsini Gör
GameMaker
       Türkiye
  • Facebook
  • Twitter
  • YouTube
  • Discord
GameMaker Turkey is not affiliated and associated with YoYo Games Ltd.
GameMaker, GameMaker Studio,  GML, GMS and YoYo Games names and logos are trademarks of YoYo Games Ltd.
Designed by Furkan Karabudak