Web animasyonu, ekran üzerinde hareket eden görsellerden ibaret değildir; hikâye ritmi, mesaj hiyerarşisi, easing psikolojisi, odak yönetimi ve erişilebilirlikle birlikte yürüyen bir senaryo işidir. Macromedia/Adobe Flash (günümüzde Animate) ekosistemi, uzun yıllar boyunca bu senaryo zanaatını tek bir stüdyoda toplayabildi: vektör çizim, timeline (zaman çizelgesi), semboller (MovieClip/Graphic), maske–blend–filtre, ses/müzik senkronu ve ActionScript 3 ile davranış katmanı. Fakat animasyonun kalbi, araçtan önce senaryodur: neyi, kime, hangi sırada, hangi duyguyla ve kaç karede söyleyeceğiz?
Bu kapsamlı rehber; Flash ile web animasyon tasarımlarında senaryo yazımını uçtan uca sistematize eder. Mesaj–kitle–bağlam üçlüsü, hikâye iskeleti (3 perde/5 adım/beat map), KVE (Kimlik–Vaat–Eylem) hiyerarşisi, görsel dramaturji ve odak, easing ve zamanlama, mikro metin (microcopy), sahne geçişleri ve label triadı (in/idle/out), FSM (durum makinesi), ses–görsel senkronu, erişilebilirlik, analitik–A/B, performans–bellek hijyeni, QA kontrol listeleri ve modern HTML5/Canvas/GSAP köprüsüne kadar pek çok konuyu örnek akışlar, mini kod kalıpları ve vaka notlarıyla ele alır.
Gelişme
1) Senaryonun İlk Sorusu: Kime, neyi, ne kadar sürede söylüyoruz?
Her animasyon, üç basit kararla doğar:
-
Kitle: İlk kez gelen ziyaretçi mi, geri dönen kullanıcı mı, teknik uzman mı?
-
Amaç: Ürünü tanıtmak, bir özelliği göstermek, bir davranışı öğretmek, bir duyguyu uyandırmak?
-
Süre: Web’te “anlatım penceresi” 3–15 saniye arasıdır; 30 saniye üstü açıklayıcı videoya yaklaşır.
Kural: Kitle küçüldükçe mesaj kristalleşir; süre kısaldıkça tek vaat.
2) Mesaj Hiyerarşisi: KVE – Kimlik → Vaat → Eylem
Senaryonun okunurluğu, KVE üçlemesiyle ölçülür:
-
Kimlik: Markanın izini bırak (logo, renk, ton).
-
Vaat: Tek cümlede değer önerisi.
-
Eylem (CTA): “Hemen dene”, “Keşfet”, “Videoyu izle”.
Dramaturji: Vaat, en baskın hareketle sahneye girer; CTA, ritmin düşüş anında görünür; logo imzadır.
3) Hikâye İskeleti: 3 Perde, 5 Adım ve Beat Map
Kısa web animasyonlarında dahi iskelet şarttır:
-
Perde I (Kurulum): 0–1.5 sn: Problem/bağlam.
-
Perde II (Gelişme): 1.5–4.5 sn: Çözüm/özellik akışı.
-
Perde III (Kapanış): 4.5–6.0 sn: Vaatin net ifadesi + CTA + logo.
5 Adım (beats): Hook → Neden? → Nasıl? → Kanıt/Örnek → Davet (CTA).
Beat Map: Timeline üzerine etiketlerle döşenir:hook
,why
,how
,proof
,cta
.
4) Görsel Dramaturji: Tek Baskın Hareket ve Odak Koridoru
Bir karede yalnız bir öğe baskın hareket yapar. Başlık giriyorsa, ikon/arka plan “nefes”te kalır.
-
Odak koridoru: Tipografi/karakterin arkası “temiz” (negatif alan) tutulur.
-
Kontrast: Arka plan tonları orta–düşük; mesaj alanı yüksek kontrast.
Vaka: Aynı anda başlık + ikon + CTA animasyonu → algı yükü ↑, takip ↓. Tek baskın ile CTR %6–12 arası artabilir.
5) Zamanlama ve Easing: Duygu, Hız ve “Hafıza”
Hareket hızı, senaryodaki duyguyu taşır:
-
easeOutQuad
: İkna eden vurgular (CTA/ikon). -
easeInOutCubic
: Perde geçişleri, “premium” his. -
back/elastic
: Eğlenceli ton; dozajı düşük.
Mikro zamanlama: Başlık 280–420 ms’de açılır; CTA 180–220 ms nefesle görünür; sahne geçişleri 240–420 ms.
6) Label Triadı: in → idle → out
Her sahne ya da bileşende üç etiket:
-
in: Giriş animasyonlarının oynadığı bölüm (kısa).
-
idle: Okunur ve etkileşim bekler.
-
out: Temizlik (event/tween/stream stop), çıkış hareketi.
Fayda: Senaryo akışında “yarım kalan animasyon” ve bellek sızıntısı riskini düşürür.
7) Senaryo → Timeline Koreografisi: Panel–Panel Akış
Senaryoyu 3–4 panel olarak yazar, timeline’a etiketlersiniz:
-
label "hook"
: Çarpıcı soru/görsel. -
label "how"
: Çözüm animasyonu (ikon akışı). -
label "cta"
: CTA vurgusu + logo imzası.
İpucu: Her panelin tek cümle özeti timeline notu olmalı.
8) FSM (Durum Makinesi) ile Senaryoyu Yürütmek
Sahne değişimlerini rastgele gotoAndPlay
ile değil, durum makinesiyle yönetin:
var state:String=”HOOK”; // HOOK, HOW, PROOF, CTA
function go(next:String):void{
if(current) { current.out(); detach(current); }
current = scenes[next]; attach(current); current.in();
state=next;
}
Kazanım: Geri/ileri, “girişi atla”, “tekrar izle” gibi davranışlar temiz çalışır.
9) Mikro Metin (Microcopy): Senaryonun Sessiz Kahramanı
Kısa bir animasyonda tek cümle her şeydir:
-
Başlık: 6–11 kelime.
-
Alt satır: 1 cümle/fiil odaklı; pasif çatıdan kaçın.
-
CTA: Fiille başlar (“Dene”, “Keşfet”).
A/B: Fiil cümlesi vs. isim cümlesi; rakamsal vaat vs. duygusal vaat.
10) Ses–Görsel Senkronu: “Göz için Ses”
-
Sessiz varsayılan (tarayıcı/kurumsal politika).
-
Foley (klik/woosh): Vurgu karelerinde kısa sesler.
-
Cue point ile eşleşme (vurgu hecesinde ikon parlaması):
var ch:SoundChannel = s.play();
var cues:Array=[{t:400, id:”headline”},{t:1200,id:”cta”}];
addEventListener(Event.ENTER_FRAME, function(_:Event):void{
var ms = ch.position;
if(ms>cues[0].t){ headline.play(“pulse”); cues.shift(); }
});
Erişilebilirlik: Ses kapalıyken de görsel vurgu anlaşılır olmalı.
11) Geçiş Stratejileri: Crossfade, Wipe, Parallax, Scale
Senaryo dili → geçiş dili:
-
Crossfade: Güvenli, yumuşak; tipografik panel geçişlerinde.
-
Wipe (düz/çapraz): Modern, hızlı; başlık–görsel reveal.
-
Parallax kaydırma: Hikâyeye derinlik.
-
Scale in/out: Yakınlaşma/uzaklaşma; 96→100% mikro vurgu.
Kural: Geçişte metin okunurluğu düşmez; yön duygusu korunur.
12) Kanıt/Örnek Sahnesi: “Göster, söyleme”
Vaatin ardından tek, net bir kanıt: sayı, mikro demo, küçük animasyonlu grafik.
-
Süre: 800–1200 ms.
-
Dili: Jargon değil, fayda: “60 sn’de rapor hazır.”
-
Görsel: İkon/kısa bar grafiği/tek ekran görüntüsü.
13) CTA Sahnesi: Karar Anının Senaryosu
CTA yalnız görünmez; karar bağlamı kurulur:
-
Üst satır: “30 gün ücretsiz dene.”
-
Alt satır: “Kredi kartı gerekmez.”
-
CTA butonu: 180–220 ms
easeOutQuad
pulse; hover/fokus tutarlı. -
Klavye erişimi:
TAB
→ CTA;ENTER/SPACE
ile tetiklenir.
14) Erişilebilirlik: Kontrast, Reduce Motion, Klavye
-
Kontrast: Normal metinde ≥ 4.5:1.
-
Reduce Motion: Overshoot/back kapanır; süreler %30 kısalır; parallax/partikül durur.
-
Klavye:
TAB
sırası mantıklı, fokus halkası görünür. -
Renk körlüğü: Mesaj yalnız renkle verilmez; ikon/biçim desteği.
15) Performans–Bellek Hijyeni: Senaryo Akarken FPS Düşmesin
-
Görünmeyeni sahneden kaldırın (
removeChild
),alpha=0
yetmez. -
cacheAsBitmap: Sık değişmeyen katmanlar.
-
Filtreler minimum; blur/glow pahalıdır.
-
Tek döngü: Merkezi
ENTER_FRAME
. -
Temizlik:
removeEventListener
, tween/stream stop; uzun oturumda sızıntıyı keser.
16) İçerik–Davranış Ayrımı: JSON ile Senaryoyu Dışarıda Tutun
Metin ve zamanlama parametrelerini JSON’dan çekin; derlemesiz A/B:
var L:URLLoader=new URLLoader();
L.addEventListener(Event.COMPLETE, onData);
L.load(new URLRequest(“data/script.json”));
function onData(e:Event):void {
var d:Object = JSON.parse(L.data);
headline.text = d.hook.title; // “Raporlar 60 sn’de hazır”
// d.timing.headlineIn, d.timing.ctaIn gibi alanlarla GS’yi sürün
}
Kazanım: Kopya/timing değişiminde tasarım kırılmaz, prodüksiyon hızlıdır.
17) A/B Test ve Analitik: Senaryoyu Veride Keskinleştirmek
-
Etiketler:
view:hook
,view:cta
,click:cta
,skip:intro
. -
A/B Değişkenleri: Başlık türü (rakam vs. duygu), CTA metni (Dene/Keşfet), ritim (0.8×/1.0×), geçiş (wipe/fade).
-
KPI: CTR, view→click süresi, ikinci izleme oranı.
Ders: Tek seferde tek değişken; yoksa hangi beat’in çalıştığını bilemezsiniz.
18) Senaryo Kartları (Storyboard): Yaz–Çiz–Zamanla
-
Kare 1 (Hook): Soru + ikon; 0–0.8 sn.
-
Kare 2 (How): Ürün akışı; 0.8–2.2 sn.
-
Kare 3 (Proof): Tek sayı/örnek; 2.2–3.2 sn.
-
Kare 4 (CTA): Buton + logo; 3.2–4.0 sn.
Teslim: PDF/PNG storyboard + “sözlü okuma” (table read) → tempo kusurları görülür.
19) Vaka Çalışması — SaaS Özellik Tanıtımı (6 sn)
Brief: “Raporlar 60 sn’de hazır.”
-
Hook (0–1.0 sn): “Haftalık rapor saatlerinizi geri verelim.” (wipe)
-
How (1.0–3.0 sn): 3 ikon: topla → analiz → paylaş (line sweep).
-
Proof (3.0–4.2 sn): “60 sn’de PDF hazır” (sayısal sayaç).
-
CTA (4.2–6.0 sn): “Ücretsiz Dene” + logo (pulse).
Sonuç: A/B’de “rakamlı vaat” versiyonu CTR’ı %9 artırdı.
20) Vaka Çalışması — E-Öğrenme Modülü Açılışı (8 sn)
Hook: Maskot “Bugün 10’luk gruplama öğreneceğiz.”
How: 2 adımda sürükle–bırak demoları.
Proof: “3 denemede %80 başarı” hedefi/piktogram.
CTA: “Hadi başlayalım” (klavye odaklı).
Erişilebilirlik: Reduce Motion aktifken crossfade; mikro ikonlar sabit.
22) Uygulamalı Şablon — “Kısa Vaat Senaryosu (≈4 sn)”
Kopya (TR):
-
Hook: “Toplantı notlarını 1 dakikada rapora çevir.”
-
How: “Yükle → Özetle → Paylaş.”
-
Proof: “%92 doğruluk” (ikonlu).
-
CTA: “Ücretsiz Dene”.
Timeline etiketleri:hook(0.0)
,how(0.8)
,proof(2.0)
,cta(3.0)
Easing: BaşlıkeaseOutCubic
, CTAeaseOutQuad
.
Reduce Motion: Wipe → crossfade; parallax = 0.
23) Senaryo ve Markanın Sesi: Ton Sözlüğü
-
Kurumsal güven: Kısa, resmî, fiil odaklı metin; sakin easing.
-
Yaratıcı/oyuncu: Mizah kırıntısı;
back
/elastic
küçük dozda. -
Eğitsel: “Neden” cümleleri; ipucu dili nazik.
Kural: Ton, tipografi ve easing ile tutarlı olmalı.
24) Modern Köprü: Animate/Flash → HTML5/Canvas/GSAP
Flash’ta yazılan senaryo dili aynen taşınır:
-
MovieClip → JS komponent, Timeline → GSAP timeline
-
enterFrame →
requestAnimationFrame
-
Sound → WebAudio (sessiz varsayılan)
-
SharedObject → LocalStorage
-
Reduce Motion →
prefers-reduced-motion
Öz: Araç değişse de senaryo prensipleri—KVE, tek baskın hareket, okunurluk, tempo, erişilebilirlik—değişmez.
Sonuç
Web animasyon senaryosu, ekranda geçen saniyeleri anlamlı bir hikâyeye dönüştürme sanatıdır. Bu rehberde; kitle–amaç–süre üçlüsünden başlayıp KVE hiyerarşisiyle mesajı kristalize etmeyi; 3 perde/5 beat iskeletiyle ritmi kurmayı; tek baskın hareket ve kontrast/negatif alan ile odağı korumayı; easing ve zamanlama ile duyguyu taşımayı; label triadı ve FSM ile akışı saflaştırmayı; ses–görsel senkronu, erişilebilirlik, analitik–A/B, performans–bellek hijyeni ve modern HTML5 köprüsünü sistematik bir çerçeveye yerleştirdik.
Özetle; (1) Vaadi tek cümlede yaz, (2) beat map’i etiketlere dök, (3) her karede tek baskın hareketi koru, (4) CTA’yı karar anına yerleştir, (5) Reduce Motion ve klavye erişimiyle herkese ulaştır, (6) ölç–öğren–iterasyonla senaryoyu keskinleştir. Bu omurgayla, Flash/Animate veya HTML5 fark etmeksizin; animasyonlarınız izleyicinin dikkatini alır, mesajı yerleştirir ve eyleme davet eder.