Animasyon Oluşturma – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
Animasyon Oluşturma
Eskiden filmlere hareketli resimler denirdi. Bu ilginç terim çelişkilidir, çünkü tek bir resim hareket edemez, ancak hareket yanılsaması yaratmak için kullanılan tekniğe işaret eder: hızlı bir şekilde gösterilen tek resimler. Ardışık resimler arasındaki fark yeterince küçükse, gözünüz hareketin düzgün gerçekleştiğine inanarak kandırılır.
Animasyon, resimlerin gerçekliğin anlık görüntüleri yerine elle çizilmiş veya bilgisayarda çizilmiş olması dışında aynı tekniğe dayanır. Örneğin, yürüyen bir figürü canlandırmak için kullanılabilecek bir dizi kareyi gösterir, eğer kareler saniyede on iki oranında birer birer çevrilir.
En yüksek kalitede Disney animasyonlarını yapmak yine de uzmanlardan oluşan bir ekip gerektirse de, ekranda görünenleri kolayca kontrol edebileceğiniz için bilgisayarlar animasyonu kolaylaştırır. Aslında, Listede gösterilen ve Evrensel Animasyon Döngüsü olarak adlandıracağımız döngü, herhangi bir bilgisayarda animasyonlar oluşturacaktır.
Elbette bu Java kodu değil, ancak bilgisayar animasyonunun özünü üç adımda yakalıyor! Aşağıdaki bölümlerde bu döngüyü detaylandıracaksınız. Şimdilik 3. adımı ele alalım. Duraklatma aralığı kısaldıkça, belirli bir kare dizisi için animasyon daha düzgün görünür.
Eşdeğer olarak, saniyedeki kare sayısı veya fps ne kadar fazlaysa, animasyon o kadar iyi görünür. Elbette, saniyede kaç kare algılayabileceğinizin doğal bir sınırı vardır. Kare hızı çok hızlıysa işler bulanıklaşır.
Buna göre filmler 24 fps’de görüntüleniyor ve bu oran bilgisayar animasyonu için ideal olacaktır. Ne yazık ki bilgi işlem kaynaklarının hızıyla sınırlıyız. 10-15 fps hızı (yaklaşık 60-100 milisaniyelik bir duraklama aralığına eşdeğerdir) yeterli bir hareket yanılsaması verir ve çoğu bilgisayarda Java ile elde edilebilir. Bu, uygulamalarımızda hedefleyeceğimiz kare hızıdır. Bu kavramları göz önünde bulundurarak bir animasyon uygulaması oluşturalım.
İlk Animasyon Uygulaması
Bay Mondrian’dan tekrar özür dileyerek bu uygulamanın adı Broadway Boogie Woogie! Bu, Fundamental Java’nın sonundaki uygulamanın genişletilmiş bir sürümüdür, ancak şimdi ortadaki dikdörtgen ötüyor. Boogie eylemini gösterir.
Bu boogie eylemi, updateRectangle() içindeki basit bir durum makinesiyle uygulanır. Dikdörtgenin yukarı, aşağı, sol ve sağ olmak üzere dört hareket durumu vardır ve bir eşik aşıldığında, dikdörtgen bir sonraki duruma geçer. İlk oyununuzda uzaylı gemilerinin davranışını tanımlamak için yine durum makinelerini kullanacağız. Hemen Listeleme’de gösterilen koda geçelim. Bu uygulamanın öncekinden farklı olduğu tüm yerleri seçmeye çalışın.
Bu uygulama öncekinden biraz daha karmaşık olsa da, init(), start(), paint() ve stop() hakkında öğrendiğiniz ve uygulamanın ömrünün çeşitli aşamalarında çağrılan yöntemlere sahiptir. Broadway.java’nın fazladan bir yöntemi vardır, run(). Okumadan önce ne yaptığını tahmin edebilir misiniz?
Evrensel Animasyon Döngüsünü Kullanma
run() yöntemi tanıdık gelmelidir. Bu, Universal Animation Loop’un bir Java sürümüdür, dolayısıyla geçerli kareyi çizer, ortadaki dikdörtgeni bir sonraki kare için günceller ve başa dönmeden önce duraklar. Döngüyü daha detaylı inceleyelim.
Run() öğesinin ilk satırı, Applet sınıfında tanımlanan bir yeniden boyama() çağrısıdır. Broadway’in Applet’in bir alt sınıfı olduğunu ve dolayısıyla Applet’in tüm yöntemlerini devraldığını unutmayın. repaint() yöntemi bunlardan biridir ve onu çağırmanın iki etkisi vardır:
1. Ekranı temizler.
2. Paint()’i çağırarak animasyonun o anki çerçevesini çizer.
Bu nedenle, paint() aslında ekrana çizim yapan Applet yöntemidir; repaint(), paint()’i çağırarak ekranı yeniden çizer.
run()’un ikinci yöntemi, ortadaki dikdörtgenin en yeni konumunu hesaplayan ve bunu dikdörtgenin sol üst köşesini işaretleyen locx ve locy değişkenlerinde saklayan updateRectangle() olarak adlandırılır. Bu, sonraki animasyon karesi için dikdörtgeni hareket ettirme etkisine sahiptir.
Eski Java Oyunları
Java oyun indir
Java oyun oyna
Java oyun indir tuşlu telefon
Eski tuşlu telefon oyunları
Eski tuşlu telefon oyunları indir
Java oyun indir PC
Samsung tuşlu telefon oyunları
Run() öğesinin son satırı, yaklaşık 10 fps’lik bir kare hızı için başa geri dönmeden ve tüm işlemi tekrarlamadan önce 100 milisaniyelik (.1 saniye) bir gecikmeye neden olur. Thread.sleep(), Thread sınıfının sleep() adlı statik yöntemini ifade eder; statik yöntemlerin, yöntem adının önüne sınıf adı ve bir nokta eklenerek çağrıldığını hatırlayın.
Broadway, Applet’i (Applet’in bir alt sınıfı olduğu anlamına gelir) genişletmekle kalmaz, aynı zamanda Runnable’ı da uygular. Runnable bir arabirimdir, yani Broadway tarafından uygulanması gereken bir dizi yöntemi belirtir. run() böyle bir yöntemin bir örneğidir.
Bir sonraki bölümde arayüzler hakkında daha fazla bilgi edineceksiniz; şimdilik, bir arabirim uygulayan bir sınıfın gerekli yöntemleri sağladığını, oysa bir yöntemi miras alan bir sınıfın onu ücretsiz olarak aldığını unutmayın!
Şimdi run() yöntemine nasıl ulaştığını görmek için Broadway’in yürütülmesini izleyelim.
Uygulamanın Yürütme Yolunun İzlenmesi
Broadway’in yürütme yolu biraz karmaşıktır. Hatırlayacağınız gibi, uygulamayı başlatmak için init() çağrılır ve ardından start() çağrılır:
1. Animasyon adı verilen yeni bir iş parçacığı oluşturur. (Bu anahtar kelimenin ne olduğunu aşağıdaki Nesneleri Kullanma bölümünde öğreneceksiniz.)
2. Animasyon dizisine, Animation.start() öğesini çağırarak run() içindeki kodu yürütmeye başlamasını söyler.
Gerçekte, run() içindeki animasyon döngüsünü yürütmek için başka bir yürütme iş parçacığı yaratılır. Yeni iş parçacığı başlatıldıktan sonra Broadway yürütme yolunun nasıl iki ayrı yola ayrıldığını gösterir.
Animasyon dizisi, start() yöntemi çağrıldığında bağımsız olarak çalışır ve stop() yöntemine yanıt olarak yürütmeyi durdurur. Ve animasyon dizisi çalışırken, dikdörtgenin sallanmasına neden olur. Basit bir animasyon oluşturmak için neden tüm bu kodlara ihtiyaç var? Örneğin, neden animasyon döngüsünü start() yöntemine şu şekilde koymuyorsunuz?
Bir deney olarak, Broadway’i bu hileli start() yöntemiyle çalıştırmayı deneyin. Çalışmaz ve ekran boş kalır! Bunun nedeni, bir uygulamada yazdığınız kodun, miras aldığınız birçok başka kodla birlikte çalışmasıdır.
start() yönteminiz sonsuza kadar döngüye girerse, start() yönteminden sonraki talimatlar hiçbir zaman yürütülmez. Sonuç, ekranın boş kalmasıdır! Bunu netleştirir. Başka bir yürütme iş parçacığı oluşturan start() yöntemi yerine sonsuz döngüye sahip start() yöntemini kullandığınızda ne olduğunu gösterir.
Bu, Java ile grafik oluşturmanın başka bir noktasını göstermelidir: paint() çağrıldığında, boyama aynı anda değil, genellikle kısa bir süre sonra gerçekleşir. Paint()’i saniyede çok fazla çağırırsanız, Java yetişemez ve yetişmek için en son paint()’i yürütür. Sonuç olarak, ne kadar hızlı kare hızına ulaşabileceğinizin bir sınırı vardır; bunun ötesinde, animasyonun kalitesi zarar görür. Kare hızını gerçekten yüksek bir sayıya ayarlayarak ve ne olduğunu görerek makinenizin sınırlarını test edebilirsiniz.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)