Flash, Newgrounds ve Kongregate gibi siteler gibi tarayıcı video oyunları için popüler bir formattır. Flash formatı mobil uygulamalarda yeterince kullanılmama eğiliminde olsa da, Flash kullanılarak yapılmaya devam eden birçok kaliteli oyun var. Flash, öğrenmesi kolay ve ekrandaki nesneler üzerinde kontrol sağlayan bir dil olan ActionScript'i kullanır. Temel bir Flash oyununun nasıl oluşturulacağını öğrenmek için aşağıdaki 1. Adıma bakın.
Adım
Bölüm 1/3: Başlarken
Adım 1. Oyunu tasarlayın
Kodlamaya başlamadan önce oyununuz hakkında kaba bir fikir oluşturun. Flash en çok basit oyunlar için uygundur, bu nedenle çok az oyun mekaniğine sahip oyunlar oluşturmaya odaklanın. Prototipe başlamadan önce türü ve oyun mekaniğini tanımlayın. Yaygın flash oyunlar şunları içerir:
- Sonsuz koşucu: Oyun karakterleri otomatik olarak hareket ettirir. Oyuncular engellerin üzerinden atlamak veya oyunla etkileşime geçmek zorundadır. Oyuncular genellikle sadece bir veya iki kontrol seçeneğine sahiptir.
- Fighters: Oyun genellikle yandan kayar. Oyuncular ilerlemek için düşmanı yenmelidir. Oyuncu karakterinin düşmanı yenmek için birkaç hamlesi vardır.
- Bulmacalar: Oyuncular her seviyeyi geçmek için bulmacaları çözmelidir. Bejeweled gibi türünün tek örneği nesneleri bir araya getirme tarzından macera oyunları gibi karmaşık bulmacalara kadar.
- RPG: Oyun, karakter gelişimi ve ilerlemesine odaklanır. Oyuncular, farklı düşman türlerinin yanı sıra birçok farklı durumda hareket eder. Dövüş mekaniği çok çeşitlidir, ancak bu türlerin çoğu sıra tabanlıdır. RPG'lerin kodlanması basit aksiyon oyunlarından çok daha zordur.
Adım 2. Flaşın avantajlarının ne olduğunu anlayın
Flash en çok 2D oyunlar için uygundur. 3D oyunlar oluşturmak için Flash yapılabilir, ancak çok karmaşıktır ve daha fazla bilgi gerektirir. Hemen hemen her başarılı Flash oyununun bir 2D formatı vardır.
Flash oyunlar da hızlı oturumlar için uygundur. Bunun nedeni, çoğu oyuncunun molalar gibi çok az boş zamanları olduğunda oynamasıdır, bu da oyun oturumlarının genellikle en fazla 15 dakika uzunluğunda olduğu anlamına gelir
Adım 3. ActionScript3 (AS3) dilini öğrenin
Flash oyunlar AS3'te programlanmıştır ve oyun oluşturmada başarılı olmak için nasıl çalıştıkları hakkında bazı temel bilgilere sahip olmanız gerekir. AS3'te temel bir kod anlayışıyla basit oyunlar oluşturabilirsiniz.
Amazon'da ve diğer mağazalarda pek çok ActionScript kitabının yanı sıra internette çeşitli eğitimler ve etkinlikler bulunmaktadır
Adım 4. Flash Professional'ı indirin
Bu program biraz pahalıdır, ancak hızlı bir şekilde flash programları oluşturmak için çok iyidir. Açık kaynak olanlar da dahil olmak üzere birkaç başka program seçeneği vardır, ancak bunlar genellikle daha az uyumludur veya aynı görevi tamamlamaları daha uzun sürer.
Flash Professional, oyun oluşturmaya başlamak için ihtiyaç duyacağınız tek programdır
Bölüm 2/3: Temel Oyunlar Yazma
Adım 1. AS3 kodunun temel yapı taşlarını anlayın
Temel oyunun birkaç farklı kod yapısı vardır. AS3 kodunun üç ana bölümü vardır:
-
Değişkenler - Bu, verilerin nasıl depolandığı ile ilgilidir. Veriler sayılar, kelimeler (dizeler), nesneler ve daha fazlası olabilir. Değişkenler, var kodu ile tanımlanır ve bir kelimeden oluşmalıdır.
var playerHealth:Number = 100; // "var" bir değişken tanımladığınızı gösterir. // "playerHealth" değişken adıdır. // "Sayı" veri türüdür. // "100" değişkene atanan değerdir. // Tüm actionscript satırları ";" ile biter
-
Olay işleyici - olay işleyici, olan belirli şeyleri arar ve ardından programın geri kalanını bilgilendirir. Bu, oyuncu girişi ve tekrarlanan kod için önemlidir. Olay işleyicileri genellikle işlevleri çağırır.
addEventListener(MouseEvent. CLICK, SwingSword); // "addEventListener()" bir olay işleyicisi tanımlar. // "MouseEvent", dinlenen girdi kategorisidir. // ". CLICK" MouseEvent kategorisinde belirtilen bir olaydır. // "swingSword", olay gerçekleştiğinde çağrılan fonksiyondur.
-
İşlev - Bir anahtar kelimeye atanan ve daha sonra çağrılabilen bir kod parçası. İşlevler çoğu oyun programlamasını yönetir ve karmaşık bir oyunun yüzlerce işlevi olabilir. Fonksiyonlar sadece çağrıldıklarında çalıştıkları için herhangi bir sırada olabilir.
function SwingSword(e:MouseEvent):void; { //buradaki kodunuz } // "fonksiyon" her fonksiyonun başında görünen anahtar kelimedir. // "swingSword", işlevin adıdır. // "e:MouseEvent", işlevin olay dinleyicisinden çağrıldığını belirten // eklenmiş bir parametredir. // ":void", işlev tarafından döndürülen değerdir. // Herhangi bir değer döndürülmezse, şunu kullanın:void.
Adım 2. Bir nesne oluşturun
ActionScript, Flash'taki nesneleri etkilemek için kullanılır. Bir oyun oluşturmak için oyuncuların etkileşime girebileceği nesneler oluşturmalısınız. Okuduğunuz kılavuza bağlı olarak nesneler, hareketli karakterler, aktörler veya filmler olarak adlandırılabilir. Bu basit oyun için bir dikdörtgen oluşturacaksınız.
- Flash Professional'ı açın. Yeni bir ActionScript 3 projesi oluşturun.
- Araçlar panelinden Dikdörtgen çizim aracını tıklayın. Bu panel, Flash Professional yapılandırmasına bağlı olarak farklı bir konumda olabilir. Sahne penceresinde bir dikdörtgen çizin.
- Seçim aracını kullanarak dikdörtgeni seçin.
Adım 3. Nesnedeki özellikleri ayarlayın
Yeni seçilen dikdörtgeni seçin, Değiştir menüsüne gidin ve "Simgeye Dönüştür" seçeneğini seçin. Ayrıca kısayol olarak F8 tuşuna basabilirsiniz. "Simgeye Dönüştür" penceresinde, nesneye kolayca tanınabilir bir ad verin, örneğin "düşman".
- Özellikler penceresini bulun. Pencerenin üstünde, fareyi üzerine getirdiğinizde "Örnek adı" etiketli boş bir metin alanı olacaktır. Bir sembole ("düşman") dönüştürdüğünüzdekiyle aynı adı verin. Bu, AS3 kodu aracılığıyla etkileşim için benzersiz bir ad oluşturur.
- Her "olay", koddan etkilenebilecek ayrı bir nesnedir. Kitaplık sekmesine tıklayarak ve sahneye sürükleyerek birden çok kez oluşturulmuş olayları kopyalayabilirsiniz. Her olay eklendiğinde, adı nesnenin ayrı olduğunu belirtmek için değişir ("düşman", "düşman1", "düşman2", vb.).
- Koddaki bir nesneye atıfta bulunduğunuzda, sadece olayın adını kullanın, bu durumda "düşman".
Adım 4. Bir olayın özelliklerini nasıl değiştireceğinizi öğrenin
Olay oluşturulduktan sonra özelliklerini AS3 aracılığıyla ayarlayabilirsiniz. Bu, nesneleri hareket ettirmenize, yeniden boyutlandırmanıza vb. Bir özelliği, oluşumu, ardından bir nokta ".", ardından özelliği ve ardından değeri yazarak özelleştirebilirsiniz:
- düşman.x = 150; Bu, düşman nesnelerinin X ekseni üzerindeki konumunu etkiler.
- düşman.y = 150; Bu, düşman nesnelerinin Y ekseni üzerindeki konumunu etkiler. Y ekseni, sahnenin tepesinden hesaplanır.
- düşman.rotasyon = 45; Düşman nesnelerini saat yönünde 45° döndürür.
- düşman.scaleX = 3; Düşman nesnenin genişliğini 3'ün katları kadar uzatır. (-) işareti nesneyi döndürür.
- düşman.ölçekY = 0,5; Nesnenin yüksekliğini mevcut yüksekliğinin yarısına değiştirir.
Adım 5. trace() komutunu gözlemleyin
Bu komut, belirtilen nesnenin geçerli değerini döndürür ve her şeyin olması gerektiği gibi çalışıp çalışmadığını belirlemek için kullanışlıdır. Muhtemelen son kodunuza İzleme komutunu eklemeyeceksiniz, ancak bu, başarısız kodun kaynağını bulmak için yararlı olabilir.
Adım 6. Yukarıdaki bilgileri kullanarak temel oyunu oluşturun
Artık temel işlevler hakkında temel bir anlayışa sahipsiniz. Bir düşmana her tıklandığında, düşman yok edilene kadar boyutun küçüleceği bir oyun yapabilirsiniz.
var düşmanHP:Number = 100; // Oyunun başında düşmanın HP'sini (sağlığını) 100'e ayarlar. var playerAttack:Number=10; // Tıklandığında oyuncunun saldırı gücü miktarını ayarlar. düşman.addEventListener(MouseEvent. CLICK, attackEnemy); // Bu işlevi doğrudan düşman nesnesine ekleyerek, // bu işlev yalnızca nesnenin kendisine // tıklandığında gerçekleşir, ekranda herhangi bir yere tıkladığında değil. setEnemyLocation(); // Düşmanı ekrana yerleştirmek için aşağıdaki işlevi çağırır //. Bu, oyun başladığında olur. function setEnemyLocation():void {düşman.x = 200; // Düşmanı ekranın solundan 200 piksel hareket ettirin düşman.y = 150; // Düşmanı ekranın üst kısmından 150 piksel aşağı hareket ettirin düşman.rotasyon = 45; // Düşmanı saat yönünde 45 derece döndür trace("düşmanın x değeri", düşman.x, "ve düşmanın y değeri", düşman.y); // Hatanın kaynağını bulmak için düşmanın mevcut konumunu görüntüler } function attackEnemy (e:MouseEvent):void // Düşman tıklandığında bir saldırı fonksiyonu oluşturur { düşmanHP = düşmanHP - playerAttack; // HP değerinden saldırı değerini çıkarır, // Yeni HP değeri üretir. düşman.scaleX = düşmanHP / 100; // Yeni HP değerine göre genişliği değiştirin. // Değer 100'e bölünür ve ardından ondalık sayıya dönüştürülür. düşman.ölçekY=düşmanHP / 100; // Yüksekliği yeni HP değeri izlemesine göre değiştirin ("Düşmanların sahip olduğu", düşmanHP, "Kalan HP"); // Düşmanın ne kadar HP kaldığını gösterir }
Adım 7. Deneyin
Kodladıktan sonra bu yeni oyunu test edebilirsiniz. Kontrol menüsünü tıklayın ve Filmi Test Et'i seçin. Oyun başlar ve yeniden boyutlandırmak için bir düşman nesnesine tıklayabilirsiniz. İz çıktısı Çıktı penceresinde görüntülenecektir.
Bölüm 3/3: İleri Teknikleri Öğrenme
Adım 1. Paketlerin nasıl çalıştığını öğrenin
ActionScript Java tabanlıdır ve çok benzer bir paket sistemi kullanır. Paketlerle değişkenleri, sabitleri, işlevleri ve diğer bilgileri ayrı dosyalarda saklayabilir ve ardından bu dosyaları programa aktarabilirsiniz. Bu, özellikle oyunların daha kolay oluşturulmasını sağlayan diğer kişilerin geliştirdiği paketleri kullanmak istiyorsanız kullanışlıdır.
Paketlerin Java'da nasıl çalıştığı hakkında daha fazla ayrıntı için Wikihow'da bir kılavuza bakın
Adım 2. Proje klasörünü oluşturun
Görüntüler ve ses klipleri içeren bir oyun oluşturuyorsanız, oyunda bir klasör yapısı oluşturun. Farklı türde öğeleri saklamanın yanı sıra, aramak için farklı paketleri kaydetmeyi daha kolay bulacaksınız.
- Projeniz için bir temel klasör oluşturun. Temel klasörde, tüm sanat varlıkları için bir "img" klasörü, tüm ses varlıkları için bir "snd" klasörü ve tüm oyun ve kod paketleri için bir "src" klasörü oluşturun.
- Constants dosyasını saklamak için "src" klasöründe bir "Games" klasörü oluşturun.
- Bu özel yapı gerekli değildir, ancak özellikle daha büyük projeler için tüm malzemelerin çalışmasını organize etmeyi kolaylaştıracaktır. Yukarıda açıklanan basit oyun için herhangi bir dizin oluşturmanıza gerek yoktur.
Adım 3. Oyuna ses ekleyin
Ses veya müzik içermeyen oyunlar oyuncuları çabucak sıkar. Katmanlar aracını kullanarak nesnelere ses ekleyebilirsiniz.
Adım 4. Sabitler dosyasını oluşturun
Oyununuzda oyun boyunca aynı kalacak çok sayıda değer varsa, hepsini tek bir yerde toplamak için bir Sabitler dosyası oluşturabilirsiniz, böylece kolayca çağrılabilirler. Sabitler yerçekimi, oyuncu hızı gibi değerleri ve tekrar tekrar çağrılması gerekebilecek diğer değerleri içerebilir.
-
Bir Constants dosyası oluşturduysanız, onu projedeki bir klasöre yerleştirin ve ardından bir paket olarak içe aktarın. Bir Constants.as dosyası oluşturduğunuzu ve bunu oyunlar klasörüne yerleştirdiğinizi varsayalım. İçe aktarmak için aşağıdaki kodu kullanın:
paket { Oyun içe aktar.*; }
Adım 5. Diğer insanların oyununa bakın
Pek çok geliştirici oyun kodlarını ifşa etmeyecek olsa da, kodu görüntülemenize ve oyun nesneleri ile etkileşime girmenize izin verecek çeşitli eğitim projeleri ve diğer açık kaynak projeleri vardır. Bu, oyununuzun öne çıkmasına yardımcı olabilecek çeşitli gelişmiş teknikleri öğrenmenin harika bir yoludur.