Macromedia/Adobe Flash, bir dönemin web ve multimedya üretim hattında tasarımcı ile geliştiriciyi aynı sahnede buluşturdu: vektör tabanlı çizim motoru, zaman çizelgesi (timeline), semboller (MovieClip/Graphic/Button), ses–video senkronizasyonu ve ActionScript ile olay odaklı programlama… Bugün HTML5/Canvas/SVG/JS, mobil oyun motorları ve motion tasarım araçları başrolde olsa da, Flash’ta öğrenilen tasarım disiplini hâlâ altın değerinde. Bu yazı, Flash platformunda (ve onu Animate/HTML5’e taşıyan ekosistemde) tasarım yaparken dikkat edilmesi gerekenleri uçtan uca ve sistematik biçimde ele alır: bilgi mimarisi, sahne–katman–sembol hiyerarşisi, tipografi–renk, hareket ve easing, erişilebilirlik, performans–bellek, etkileşim kalıpları, içerik–davranış ayrımı, medya entegrasyonu, çoklu ekran/yerelleştirme, analitik, güvenlik, QA ve modern köprü. Her bölüm; örnek olaylar, uygulanabilir mini kalıplar ve pratik kurallarla derinleşir.
Gelişme
1) Amaç–Kitle–Bağlam Üçlüsü: Tasarımın Stratejik Çerçevesi
Her projeye “Kimin için, hangi amaçla, hangi bağlamda?” sorularıyla başlayın.
-
Kimin için? (Öğrenci, çalışan, ziyaretçi, oyuncu)
-
Amaç? (Öğretmek, ikna etmek, eğlendirmek, yönlendirmek)
-
Bağlam? (Kiosk, sınıf, masaüstü, fuar standı, çevrimdışı sunum)
İpucu: Bağlam, hareket yoğunluğunu ve tipografik ölçeği belirler. Kiosk’ta büyük hit alan, sınıfta yüksek kontrast ve sessiz mod varsayılan olmalıdır.
2) Bilgi Mimarisi → Sahne Dili: Bölümler ve Akış
Site/uygulama akışını Flash’ın sahne diline çevirin:
-
Kök sahne: yalnız “yönetişim” (durum makinesi, yükleyici, analitik).
-
Bölüm sembolleri:
Home
,Works
,About
,Contact
gibi ayrı MovieClip’ler. -
Ortak modüller:
Nav
,Footer
,Lightbox
,Loader
,Overlay
.
Vaka: Bölümleri ayrı MovieClip’lerde tutan bir portfolyo projesinde geri dönüş/iterasyon süreleri yarıya indi; “bağlantı kopması” bug’ları kayboldu.
3) Durum Makineleri (FSM): Geçişleri Yöneten Omurga
Rastgele gotoAndPlay
çağrıları yerine FSM kurun: STATE_HOME
, STATE_WORKS
, STATE_DETAIL
, STATE_ABOUT
.
-
Geçiş olayları:
NAV_HOME
,NAV_WORKS
,OPEN_DETAIL(id)
,BACK
. -
Her bölümde label triadı:
in → idle → out
.
Kural: Bölüm değiştirirken önce eskisiniout
ile kapatın (dinleyicileri kaldırın), sonra yenisiniin
ile açın; bellek ve FPS istikrarı için kritik.
4) Katman–Zaman Çizelgesi Disiplini: Okunabilirlik = Hız
Katman adlandırma; bg
, content
, ui
, fx
, actions
. Zaman çizelgesinde etiket kullanın (intro
, section1
, cta
, outro
). Büyük projede “ne nerede?” sorusuna saniyeler içinde yanıt verebilmelisiniz.
Atölye: 10 saniyelik hero sahnenizde 5 vuruşluk (5-beat) giriş koreografisi kurun: arka plan → başlık → alt metin → görsel → CTA.
5) Sembol Mimarı: Graphic/MovieClip/Button’ı Doğru Konumlandırın
-
Graphic: Basit, sahne zamanına bağlı animasyonlar.
-
MovieClip: İç zaman çizelgesi + olay dinleyicileri + yeniden kullanım.
-
Button: up/over/down/hit durum seti (hit alanını geniş tutun).
Kural: Komponentleşin:MC_Card
,MC_Button
,MC_Carousel
,MC_Lightbox
. Bir gün stil değiştiğinde tek noktadan güncelleyin.
6) Tipografi: Türkçe Desteği, Ölçek ve Satır Uzunluğu
-
Latin-Ext destekli font kullanın (ı, İ, ğ, ş, ç, ö, ü).
-
Başlıkta display, metinde okunaklı sans.
-
Satır uzunluğu ~60–75 karakter; satır aralığı 1.4–1.6.
Uygulama: Soru köklerini 18–20 px, seçenek metnini 16–18 px tutmak, eğitim modüllerinde okuma hızını artırır.
7) Renk ve Kontrast: WCAG Eşiğine Yaklaşın
Büyük metin 3:1, normal metin 4.5:1 kontrast hedefi. Koyu/açık tema varyantını planlayın; karanlık arayüzde letter-spacing
değerlerini hafif gevşetin.
Vaka: Karanlık temada başlık kontrastını optimize etmek gece oturumlarında okuma derinliğini %10 yükseltti.
8) Hareket Stratejisi: Easing Psikolojisi ve Tek Baskın Hareket
-
easeOut: CTA vurgusu (180–220 ms).
-
easeInOutCubic: premium geçiş.
-
back/elastic: oyun/çocuk içeriği.
Kural: Aynı karede tek baskın hareket. Başlık giriş yaparken CTA yalnız beklesin; sonra hafif vurgu alsın.
9) Mikro-Animasyonlar: Davranışın Vücut Dili
-
Hover: mini ölçek + gölge (nazik).
-
Hata: kısa titreşim (±2 px) + renk uyarısı.
-
Kopyalandı: yukarı–fade toast (220 ms).
İpucu:prefers-reduced-motion
eşleniği olarak “Hareketi Azalt” ayarı ekleyin; tüm süreleri kısaltıp overshoot’u kapatın.
10) Performans Hijyeni: Tek Döngü, Görünmeyeni Kaldır, Filtre Azalt
-
Birden çok
enterFrame
yerine tek GameLoop. -
alpha=0
yerine öğeyi sahneden çıkarın. -
Bitmap cache: Sık değişmeyen karmaşık vektörleri cache’leyin.
-
Filtre (blur, glow) sınırlı kullanın; CPU’yu yakar.
Vaka: Görünmeyen modülleri sahneden kaldırmak CPU kullanımını %30 düşürdü.
11) Bellek Yönetimi: Dinleyici/Timer/Tween Temizliği
addEventListener
varsa, yaşam döngüsü sonunda mutlaka removeEventListener
. Uzun oturumlarda “zamanlayıcı/tween yetimi” bellek şişirir.
Kural: Bölüm out
’unda temizlik: aktif tween/Timer/stream’leri durdur, referansları kes.
12) Vektör–Bitmap Dengesi: Keskinlik vs Maliyet
Logo–ikon–tipografi vektör, foto–doku–karmaşık illüstrasyon bitmap. Büyük bitmap’leri çoklu çözünürlükte paketleyin; hedef cihaza göre seçin.
Atölye: Ön plan vektör, arka plan bitmap yaklaşımıyla 1080p sahnede FPS’i stabilize edin.
13) İçerik–Davranış Ayrımı: JSON/XML ile Esneklik
Metinler, görsel yolları, quiz havuzu, galeri listeleri dış dosyalarda.
-
content.json
→hero.title
,works[]
,faq[]
-
URLLoader
ile çek, parse et, modele yaz,render(model)
çağır.
Fayda: Editör ekibi içeriği derlemesiz günceller; tasarım–geliştirme bağı gevşer.
14) Medya Entegrasyonu: Video/Ses ve İşaret Noktaları
Video için (tarihsel) FLVPlayback
/ NetStream
; eğitimde cue point ile belirli anlarda ipucu/quiz açın. Ses efektlerini varyasyonlu çalın (pitch ±) ki kulak yorgunluğu olmasın.
Kural: Varsayılan sessiz mod; kullanıcı açarsa oynat.
15) Etkileşim Kalıpları: Sürükle–Bırak, Eşleştirme, Slider, Sekme
-
Sürükle–bırak: kategori/etiketleme için ideal.
-
Eşleştirme: terim–tanım, resim–isim.
-
Slider: sayısal kontrol + canlı geri bildirim.
-
Sekme: Bilgiyi “parçalara” ayırır.
Vaka: Sekmeli içerik (3–5 madde) B2B tanıtımda “nereden başlayayım?” kararsızlığını azalttı.
16) UI İlkeleri: Hit Alanı, Odak, Tutarlı Dil
-
Hit alanı görselden %25 büyük.
-
Klavye odağı (focus ring) görünür.
-
Dil: Eylem odaklı ve kibar (“Formu gönder” / “Dene yine”).
İpucu: Erişilebilir buton durum seti (normal/hover/focus/pressed/disabled) ile stil kılavuzu oluşturun.
17) Preloader ve Algılanan Performans: İskelet Ekran
Yüzde çubuğu yerine iskelet düzeni (skeleton) çizdirin; öğeler geldikçe “yerine otursun”. Bekleme psikolojisini yumuşatır, LCP algısını iyileştirir.
18) Çoklu Ekran/Çözünürlük: StageScaleMode ve Güvenli Alan
StageScaleMode.NO_SCALE
ile konumlandırmayı kontrol edin. Merkezde 960×540 “güvenli alan” tanımlayın; kritik içerik burada kalsın. Kiosk/dokunmatik için buton boyutlarını artırın.
19) Yerelleştirme (i18n) ve RTL: Metin Kutularını Akıllandırın
Çok dillilikte metin kutularını dinamik genişlik ve satır kaydırmaya göre kurun; RTL dillerde ikon/ok yönlerini çevirin.
Vaka: TR/EN/AR üçlüsünde ikon yönlerini çevirmek görev tamamlama süresini kısalttı.
20) Erişilebilirlik: Kontrast, Klavye, Alt Yazı
-
Metinler gerçek metin olsun (görsel yerine).
-
Klavye ile tüm akış gezilebilir.
-
Video–anlatım için alt yazı.
Kural: Erişilebilirlik yalnız etik değil, kullanılabilirlik ve hukuki gerekliliktir.
21) Formlar ve Doğrulama: UX vs Güvenlik
Flash tarafı yalnız kullanıcı deneyimi doğrulaması yapar; gerçek güvenlik sunucudadır.
-
Zorunlu alan vurgusu, anlık hata mesajı, başarı toast’ı.
-
Sunucuda CSRF/Spam kontrolleri.
İpucu: Başarıdan sonra “teşekkür” ekranında iletişim bilgisini kopyala butonu verin.
22) Analitik ve Ölçümleme: His Değil, Veri
Ekran görüntüleme, CTA tıklaması, hata oranı, görev süresi—hepsi olay olarak etiketlensin:view:hero
, click:cta
, open:work:{id}
, submit:contact:success
, error:form:email
.
Vaka: CTA’da “bounce” yerine easeOut
büyüme %6 daha fazla tıklanma getirdi.
23) Güvenlik ve Köprüler: navigateToURL/ExternalInterface
Dış köprülerde hedef alanları açık belirtin. JS köprülerinde domain kısıtlarına ve tarayıcı güvenlik politikalarına dikkat. İçerik dosyaları için same-origin planlayın.
24) Dosya Ağacı ve Sürümleme: Kaosun İlacı
-
/src
,/assets/img
,/assets/audio
,/data
,/build
. -
Paylaşılan kütüphane (Shared Library) ile ikon, buton, karakterleri merkezi yönetin.
-
Adlandırma standardı:
mcHeader
,btnCtaPrimary
,mcCard
,mcModal
.
Vaka: Tema değişikliği tek noktadan yapılarak 6 sayfalı sitenin güncellemesi 1 günde bitti.
25) QA ve Test Matrisi: Kenar Durumlar ve Uzun Oturum
-
Aşırı hızlı tıklama, odağı kaybetme, yavaş bağlantı, ses cihazı yokluğu.
-
Uzun oturum: bellek artışı, sızıntı, CPU dalgalanması.
-
Görsel regresyon: kritik sahnelerin kare yakalamaları.
Kural: Yayın öncesi “soğuk göz” testi (ekip dışı bir izleyici) en az bir kritik hata yakalar.
26) Oyunlaştırma ve Rozetler: Amaçla Bağlı Olmalı
Rozet/puan sistemi davranış hedefi ile bağlantılı olsun; “süs” olmaktan çıksın.
Uygulama: E-öğrenmede ipucu kullanmadan tamamlama +25 XP; 3 ardışık doğru “Usta Sınıflandırıcı” rozeti.
27) Örnek Olay: Sergi Kiosk’u
-
Bağlam: Büyük dokunmatik ekran, gürültülü mekân.
-
Tasarım: Kontrast yüksek, tipografi büyük, hit alan geniş.
-
Hareket: Minimum; odak çoklu kullanıcıya göre “sessiz ve net”.
-
Sonuç: Ziyaretçilerin tamamlama oranı %18 arttı.
28) Örnek Olay: Eğitim Modülü (SCORM)
-
Akış: Giriş → keşif → uygulama → quiz → özet.
-
Teknik: JSON içerik, SCORM raporlama (tamamlama, skor, deneme sayısı).
-
Erişilebilirlik: Klavye navigasyonu, alt yazı, sessiz mod.
-
Sonuç: Tamamlama oranı %58’den %71’e yükseldi.
29) Modern Köprü: Flash Mirasını HTML5’e Taşımak
-
MovieClip → JS sınıf/komponent,
-
Timeline → GSAP/WAAPI zaman çizelgesi,
-
enterFrame →
requestAnimationFrame
, -
SharedObject → LocalStorage/IndexedDB,
-
FLV → HTML5 video,
-
Deep-link → hash router.
İpucu: İçeriği JSON’da tuttuğunuzda hedef platform değişimi sorunsuzlaşır.
30) Etik ve İçerik Sorumluluğu: Duyarlılık, Gizlilik, Lisans
-
Görsel–ses lisansları net olsun.
-
Öğrenci/çalışan verisinde amaçla sınırlılık ve anonimleştirme.
-
Fotosensitif kullanıcılar için parlayan/flashing içerikten kaçın veya uyarı ekleyin.
Flash platformunda tasarım yapmak, “tek sahnede” görsel kimliği, hareket dilini, etkileşim mantığını ve içerik akışını uyumla bir araya getirme becerisidir. Başarının anahtarı; amaç–kitle–bağlam üçlüsünü netleştirmek, bölümleri bileşenleştirip bir durum makinesi ile yönetmek, tipografi–renk–hareket üçgenini okunurluk ve erişilebilirlik lehine kurgulamak, performans–bellek hijyenini disiplin hâline getirmek ve içeriği JSON/XML ile sahneden ayırmaktır. Mikro-animasyonlar davranışın vücut dili, analitik ise sezgiyi veriye bağlayan pusuladır.
Eğitimden kiosk’a, kampanya sayfasından portfolyoya uzanan senaryolarda bu prensipler sizi temiz, hızlı, anlaşılır ve ölçeklenebilir deneyimlere götürür. Teknolojiler değişse de—Flash → Animate/HTML5—taşınan şey tasarım aklıdır: tek baskın hareket, tutarlı geri bildirim, net hiyerarşi, veriyle iyileştirme ve içerik–davranış ayrımı. Bu aklı sistematik uyguladığınızda, ürettiğiniz her ekran kullanıcısına yalnızca bilgi değil, yol gösteren bir deneyim sunar.