Sahneler arası geçiş, bir anlatının ritmini, bir arayüzün akıcılığını ve bir markanın tonunu aynı anda taşıyan görünmez omurgadır. Macromedia/Adobe Flash (bugün Animate) döneminde bu omurga; timeline (zaman çizelgesi), sembol mimarisi (MovieClip/Graphic/Button), maskeleme, filtreler, ActionScript ve ses senkronu ile inşa edilirdi. Konu yalnız “güzel efekt” değil; odak yönetimi, okunurluk, performans, erişilebilirlik ve hikâye dramaturjisinin hassas dengesi.
Bu kapsamlı rehberde, Flash’ta sahneler arası geçiş tasarımını uçtan uca ele alacağız: geçişin ne işe yaradığı ve neye zarar verebileceği, 20+ geçiş kalıbı, tek baskın hareket kuralı ve easing psikolojisi, label triadı (in/idle/out) ile timeline koreografisi, durum makineleri (FSM), mask–shape–frame-by-frame tercihleri, ses–görsel senkron, erişilebilirlik, performans–bellek hijyeni, QA kontrol listesi ve HTML5/Canvas/GSAP köprüsü. Her bölüm; örnek akışlar, mini kod kalıpları ve vaka notları içerir. Amaç, yalnız bir efekt kütüphanesi değil, geçiş düşüncesi kazandırmaktır.
Gelişme
1) Geçiş Ne Zaman Gerekli, Ne Zaman Yük?
Geçiş, izleyicinin zihnini bir durumdan diğerine zarifçe taşır: bölüm değişimi, ayrıntıya yaklaşma, modal açma/kapatma… Ancak her adımda efekt kullanmak bilişsel yük yaratır.
Kural: “Geçişi haklı çıkaran sinyal var mı?” → Evet: sahne türü değişiyor, hiyerarşi sıçrıyor, bağlam farklılaşıyor. Hayır: aynı düzeyde kartlar arasında hafif fade/slide yeter.
2) Üçlü Omurga: in → idle → out (Label Triadı)
Her sahne/ekran MovieClip’inde şu etiketleri kullanın:
-
in: 200–600 ms; giriş animasyonları.
-
idle: Okunabilirlik, etkileşim.
-
out: 200–600 ms; yumuşak kapanış, temizlik.
Vaka: Triad olmadan “yarım kalan animasyon” ve mem leak sık görülür; triad ile FPS stabil, akış tutarlıdır.
3) Durum Makineleri (FSM): Geçişleri Yöneten Beyin
Aceleci gotoAndPlay
çağrıları yerine FSM kurun: STATE_HOME
, STATE_GALLERY
, STATE_DETAIL
, STATE_ABOUT
.
AS3 iskeleti:
function go(state:String):void {
if(current) { current.out(); detach(current); }
current = states[state]; // MovieClip
attach(current); current.in();
}
Fayda: Geri/ileri, bölümler arası sıçrama, “ana menü” dönüşleri temiz yönetilir.
4) Tek Baskın Hareket Kuralı
Aynı karede yalnız bir öğe baskın hareket yapar (başlık girerken CTA bekler). Bu kural; odak, profesyonel his ve performans için kritiktir.
Örnek Koreografi (Hero → Detay):
-
0–200 ms: Başlık fade-in.
-
200–480 ms: Görsel slide-in.
-
480–700 ms: CTA minik
easeOut
büyüme.
5) Easing Psikolojisi (Hızın Duygusu)
-
easeOutQuad
: CTA/ikon vurgusu (180–220 ms). -
easeInOutCubic
: Premium, pürüzsüz bölüm geçişleri. -
back
/elastic
: Eğlenceli içerik; dozajı düşük tutun.
İpucu: Easing, markanın kişiliğini taşır; kurumsal tonda overshoot kaçının.
6) 20+ Geçiş Kalıbı (Kapsamlı Seçki)
-
Çapraz Kararma (Crossfade) — En güvenlisi; tür değişimi yoksa.
-
Yönlü Kaydırma (Directional Slide) — Aynı hiyerarşi içinde sayfa→sayfa.
-
Wipe (Dik/Çapraz) — Modern, “tarama” hissi; hero→detay.
-
Parallax Kaydırma — Ön/arka plan farklı hız; derinlik.
-
Scale In/Out — Yakınlaşma/uzaklaşma dramaturjisi; 120–220 ms.
-
Flip (Y ekseni) — Kart ters yüz; kısa ve az kullanın.
-
Mask Reveal — Keskin ve performans dostu; başlık/ görsel.
-
Tilt–Pan — Kamera duygusu; küçük açı, kısa süre.
-
Zoom to Area — Harita/diagram detayına yaklaşma.
-
Depth Dissolve — Blur + fade (filtreyi çok hafif, yoksa CPU).
-
Line Sweep — İnce çizgi ardından içerik; premium his.
-
Curtain — Perde açılır gibi; etkinlik/kültür projeleri.
-
Particle Assist — Hafif kıvılcım/konfeti; çocuk/eğlence.
-
Light Pass — Specular çizgi; logo/hero.
-
Accordion — Bölüm açılıp kapanır; bilgi mimarisinde.
-
Card Stack — Kartlar üst üste gelir/ayrılır; galeri.
-
Morph Block — Renk blokları dönüşür; markalı.
-
Path Follow — Nesne yol izler; harita/tur.
-
Alpha Clip — Şekil maskesiyle opaklık animasyonu.
-
Temporal Hold — 80–120 ms “duraksama”; vurgu öncesi.
-
Audio Tick Assist — “klik/woosh” ile ritim; sessiz mod opsiyonlu.
7) Maske, Shape Tween, Frame-by-Frame Seçimi
-
Maske: En temiz ve hafif reveal; vektörle keskin.
-
Shape Tween: Basit formlar; karmaşıkta bozulur.
-
Frame-by-Frame: Sanatsal mikro hareket; dosya büyür.
Hibrid: Büyük hareket maske, mikro detay frame-by-frame.
8) Ses Senkronu: “Göz için Ses”
Geçişte ses zorunlu değil; ama kısa foley (woosh, click) ritmi tamamlar.
-
Varsayılan sessiz. Kullanıcı açarsa -18 ~ -14 LUFS.
-
Stream modu ile timeline senkronu; cue point ile vurgu anları.
9) Renk–Kontrast–Işık: Geçişte Görsel Hiyerarşi
Geçiş anında kontrast düşmemeli.
-
Koyu arka planlarda edge light veya ince gölge, elemanları zeminden ayırır.
-
Tipografik geçişlerde split headline (iki nefes) okunurluğu artırır.
10) Tipografi Geçişleri: Harf mi, Kelime mi?
Harf harf açılma, “teknik” ve uzun his verebilir. Genelde kelime/öbek bazlı wipe daha rafinedir.
İpucu: 22–28 karakterlik başlıklar; 2 satırı geçmeyin.
11) Navigasyonla Uyum: Menü–Geçiş Koreografisi
Menü seçildiğinde:
-
Mevcut sahne out → 2) Menünün aktif öğesi kısa vurgulanır → 3) Yeni sahne in.
Hata: Menü, sahneyle aynı anda büyük hareket yaparsa odak kayar.
12) İçerik Ayrımı: JSON ile Geçiş Metinlerini Esnek Tutma
Geçiş içinde görünen metin/etiketleri sahneden ayırın.
AS3:
var L:URLLoader=new URLLoader();
L.addEventListener(Event.COMPLETE, onLoad);
L.load(new URLRequest(“data/content.json”));
function onLoad(e:Event):void {
var data:Object = JSON.parse(L.data);
mcTitle.setText(data.sections[currentId].title);
}
Fayda: Dil/başlık değişikliği derlemesiz; animasyon kırılmaz.
13) Erişilebilirlik: Klavye, Kontrast, Hareketi Azalt
-
TAB sırası mantıklı;
ENTER/SPACE
tetikleyici. -
Focus ring belirgin; geçişte kaybolmasın.
-
Hareketi Azalt ayarı: süreler %30 kısa, overshoot/back kapalı, partikül azalır.
-
Mesaj yalnız renkle verilmez; ikon/şekil desteği.
14) Performans Hijyeni: FPS’i Kurtaran 6 Kural
-
Görünmeyeni sahneden kaldırın (alpha=0 yetmez).
-
Filtreleri minimum kullanın (blur/glow pahalı).
-
cacheAsBitmap: Sık değişmeyen vektörler.
-
Tek enterFrame döngüsü (merkezi GameLoop).
-
Büyük bitmap’ler için çoklu çözünürlük.
-
Geçiş bitince temizlik:
removeEventListener
, tween/Timer/stream stop.
16) Vaka: Hero → Ürün Detayı (E-Ticaret Modülü)
Senaryo: Kullanıcı hero’daki CTA’ya bastı.
-
Geçiş: Hero görseli scale-down + fade, detay paneli slide-up.
-
Süre: 380 ms; tek baskın hareket detay panelde.
-
Sonuç: İlk bakışta ürün bilgisine odak; bounce/elastic kullanılmadı → daha profesyonel his, daha hızlı algı.
17) Vaka: Galeri → Işık Kutusu (Lightbox)
Geçiş: Küçük görsel büyürken arka plan koyulaşıp gaussian yerine düz yarı saydam perde; ESC ile kapanış.
Sonuç: Hafiflik + kontrol; CPU artışı yok, kapatmada “temizlik” sayesinde bellek sızıntısı önlendi.
18) Vaka: Harita → Nokta Detayı (Zoom to Area)
Geçiş: Maskeli yakınlaşma + label fade.
Erişilebilirlik: Klavye ile odak detay başlığına atlar; Back
görünür.
Sonuç: Konum hissi kaybolmadan ayrıntıya geçiş.
19) Menü ve Breadcrumb ile Derinlik Atlamaları
Derin yapıdaysa breadcrumb tıklamasında:
-
Alt sahne out (scale+fade 220 ms),
-
Üst düzey sahne in (slide 280 ms).
İpucu: Yön duygusunu korumak için yukarı çıkış hareketini ters yönde tasarlayın.
20) Geçişlerin İçeriği “Saklamaması”
Geçiş sırasında kritik mesaj görünür kalmalı.
-
Modal kapatırken CTA’yı “uçurmak” yerine hafif fade; kullanıcı “nereye gittiğini” bilsin.
-
Sayısal değerler geçişte titrememeli; hareket sırasında text anti-alias ayarlarına dikkat.
21) Çoklu Ekran/Çözünürlük: Güvenli Alan
StageScaleMode.NO_SCALE
ile manuel yerleşim; 960×540 merkez güvenli alan. Kaydırma/süzme geniş ekranlarda farklı hissedebilir; hız sabitleyin, parametreleri yüzde değil milisaniye referansı ile ayarlayın.
22) Geçiş ve Analitik: His Değil, Veri
Etiketleyin: transition:home→detail
, duration:ms
, abort:count
.
A/B: Crossfade vs slide; sonuç → slide’lı versiyon %6 daha hızlı anlaşıldı, terk azaldı.
23) Modern Köprü: Flash/Animate → HTML5/Canvas/GSAP
-
MovieClip → Komponent/Sınıf
-
Timeline → GSAP timeline
-
enterFrame →
requestAnimationFrame
-
Mask → Canvas clipPath / SVG mask
-
SharedObject → LocalStorage
-
Sound → WebAudio
Değişmeyen prensipler: tek baskın hareket, easing ile kişilik, erişilebilirlik ve temizlik, kısa–net süreler.
24) Uygulamalı Mini Proje — “Bölüm Geçiş Kütüphanesi”
Hedef: Aynı kodla 5 geçişin kontrol edilebildiği bir yapı.
Bileşenler:
-
TransitionManager
(AS3 sınıfı;play(type:String, from:MC, to:MC)
), -
T_Crossfade
,T_Slide
,T_Wipe
,T_ZoomTo
,T_Parallax
.
Akış:
-
TransitionManager.play("slideLeft", mcA, mcB)
. -
Manager,
mcA.out()
→mcB.in()
sıralar;complete
olayı yayar. -
Hareketi Azalt aktifse otomatik crossfade’e düşer.
Kazanım: Darboğaz tekrar değil tutarlılık; tasarım dili tek elden.
Sonuç
Sahneler arası geçiş tasarımı, yalnız “geçiş efekti” değil; odak yönetimi, okunurluk, hikâye ritmi ve performans–erişilebilirlik uzlaşmasıdır. Bu yazıda; in/idle/out triadı, tek baskın hareket kuralı, easing ile duygusal ton, FSM tabanlı akış, maske/shape/frame-by-frame tercihleri, ses senkronu, kontrast–tipografi hassasiyetleri, performans–bellek hijyeni, QA/analitik ve HTML5/GSAP köprüsüyle geçişlerin nasıl tutarlı, hafif ve profesyonel kılınacağını ayrıntılı anlattık.
Özetle; başarılı bir geçiş kısadır, amaçlıdır ve yolu aydınlatır: izleyicinin “neredeyim, nereye gidiyorum?” sorularına nazikçe cevap verir. Bu omurgayı koruduğunuzda, Flash/Animate ya da HTML5 fark etmeksizin—hikâyeniz akıcı, arayüzünüz güven veren ve markanız hatırda kalan olur.