From Test-Scratch-Wiki
Animating a sprite is the process of a sprite repeatedly changes costumes, creating an animation. Animation scripts vary, depending on the amount of costumes and speed.
Canlandırma Kodu Oluşturma
Bir kuklayı canlandırmanın en kolay yolu "(..) Kılığına Geç" ve "(..) Saniye Bekle" bloklarını kullanmaktır.
[Zıplama1 v] kılığına geç (0.05) saniye bekle // Bekleme süresi değiştirilebilir [Zıplama2 v] kılığına geç (0.05) saniye bekle [Zıplama3 v] kılığına geç (0.05) saniye bekle [Zıplama4 v] kılığına geç (0.05) saniye bekle [Zıplama5 v] kılığına geç (0.05) saniye bekle [Zıplama6 v] kılığına geç (0.05) saniye bekle
Görüldüğü gibi, bu daha kolay bir yolla yapılabilir.
[Zıplama1 v] kılığına geç (5) defa tekrarla (0.05) saniye bekle next costume end
Bu kod aynı şeyi yapar, özelliğe fazla kostümün depolandığı bir kuklada, büyük bir alan açar.
Canlandırmanın başka bir yolu ise operatörleri kullanmaktır. Eğer karakterinin ilerlemesini istiyorsan, bir şey de, sonra tekrar ilerle. Bu yol daha etkilidir.
((kostüm [sayı v] :: looks) = (5):: operators) olana kadar tekrarla sonraki kostüm :: looks (0.05) saniye bekle end
Bu kod karakterin belirli bir kostüm sayısına ulaşana kadar ilerlemesini sağlar. Bu karakterin ilerlemesini, durmasını, konuşmasını ve tekrar ilerlemesini sağlar.
Animasyon Geciktirmeleri
Bazen kostümler istenilenden daha hızlı bir şekilde değişebilir. Animasyonlar kodlara "(..) saniye bekle" kodu eklenilerek geciktirilebilir. Her kostüm arasındaki farklılıkların büyüklüğüne göre saniye ekleyebilirsin. Eğer farklılıklar küçükse, küçük bir geciktirme eklersin. Eğer fazlaysa, daha fazla geciktirmeye ihtiyacın olur.
Geciktirmelerle birlikte yetersiz bir animasyon kodu:
[Saplama1 v] kılığına geç (0.1) saniye bekle [Saplama2 v] kılığına geç (0.1) saniye bekle [Saplama3 v] kılığına geç (0.1) saniye bekle [Saplama4 v] kılığına geç (0.1) saniye bekle
Geciktirmelerle birlikte verimli bir animasyon kodu:
[Saplama1 v] kılığına geç (3) defa tekrarla (0.1) saniye bekle sonraki kostüm :: looks end
"(..) defa tekrarla" bloğundaki sayı göstereceğin kostüm sayısıdır, ilk bloktan öncekini tekrarlama sayısı değil.
Bazı animasyonlarda, animasyonu geciktirme hızı o oynatılırken değişebilir. Burada biraz daha zorlu bir kod var. Yetersiz kodla birlikte, kolaydır; çoklu animasyon geciktirmesi doğru bir şekilde ayarlanmalıdır.
[Vuruş1 v] kılığına geç (0.1) saniye bekle [Vuruş2 v] kılığına geç (0.2) saniye bekle [Vuruş3 v] kılığına geç (0.3) saniye bekle [Vuruş4 v] kılığına geç (0.4) saniye bekle [Vuruş5 v] kılığına geç
Verimli kodda, geciktirme bloğu birçok kez kullanılır, ve bu nedenle buna göre ayarlanmalıdır.
Eğer animasyon geciktirmesi her seferinde aynı miktarda arttırılıyorsa, bir veri geciktirme bloğuna eklenebilir ve veri "(..) defa tekrarla" bloğu ile arttırılabilir:
[geciktirme v] (0.1) olsun ::variables [Vuruş1 v] kılığına geç (4) defa tekrarla (geciktirme) saniye bekle sonraki kostüm :: looks [geciktirme v]'i (0.1) arttır end
Eğer animasyon geciktirmesi düzensiz bir şekilde artıyorsa, bir liste kullanılabilir, ögeleri animasyon geciktirmesini ayarlayabilir:
[eşya v] (1) olsun ::variables [Vuruş1 v] kılığına geç (4) defa tekrarla ([geciktirme v]nin (eşya) ögesi::list) saniye bekle sonraki kostüm :: looks [eşya v]'i (1) arttır end