E-kitap, “sayfayı dijitalleştirmek” değil; metin, görsel, etkileşim, ses ve ölçümün bir araya geldiği okuma deneyimi tasarlamaktır. Macromedia/Adobe Flash (günümüzde Animate) uzun yıllar bu deneyimin atölyesiydi: vektör çizim, timeline, MovieClip mimarisi, ActionScript 3 ile davranış programlama, TLF/Classic Text metin motorları, ses–video entegrasyonu ve XML/JSON içerik ayrıştırma… Hepsi tek bir dosyada, tek bir yapım hattında.
Bu kapsamlı rehber, Flash kullanarak e-kitap tasarımını uçtan uca sistemleştirir: editoryal mimariden tipografi ayarlarına, sayfa akışından “sayfa çevirme (page flip)” ve progressive pagination stratejilerine; görsel/medya yönetimi, not–vurgulama–yer imi (bookmark) bileşenlerinden arama–içindekiler (TOC)–glossary navigasyonuna; erişilebilirlik, performans–bellek hijyeni ve offline/AIR paketlemeye kadar. Her bölüm uygulanabilir kalıplar, AS3 iskeletleri, vaka notları ve QA kontrol listeleri içerir. Amaç “SWF’nin içinde kitap” yapmak değil; okunur, gezilebilir, etkileşimli ve kalıcı bir okuma deneyimi üretmektir.
Gelişme
1) Editoryal Omurga: Bölüm–Alt Bölüm–Sayfa Hiyerarşisi
Önce bilgi mimarisini yazılı kurun:
-
Bölüm (chapter) → alt bölüm (section) → sayfa (page).
-
Her sayfa tek amaçlıdır: anlatı, görsel pano, alıntı, alıştırma, video notu…
-
Metinler işaretlenmiş (markup) gelir: başlık, ara başlık, alıntı, not, sözlük terimi.
JSON manifest örneği:
“title”:”Örnek E-Kitap”,
“chapters”:[
{“id”:”c1″,”title”:”Giriş”,”sections”:[
{“id”:”c1s1″,”title”:”Kısa Tarihçe”,”pages”:[“c1s1p1″,”c1s1p2”]}]},
{“id”:”c2″,”title”:”Kavramlar”,”sections”:[{“id”:”c2s1″,”title”:”Model”,”pages”:[“c2s1p1”]}]}
]
}
Fayda: Son dakika değişiklikleri derlemesiz; yerelleştirme kolay.
2) Tipografi: TLF/Classic Text, Gömülü Font, Okunurluk
-
TLF Text: gelişmiş satır/sütun, paragraf stilleri, diller; ancak performansta dikkat.
-
Classic Text: hafif, basit kontrol; çoğu e-kitap için yeter.
-
Gömülü font (Latin-Ext: ı, İ, ğ, ş, ç, ö, ü):
-
TextField.embedFonts = true
-
antiAliasType = AntiAliasType.ADVANCED
-
-
Satır uzunluğu: 60–75 karakter; satır aralığı 1.4–1.6.
-
Kontrast: en az 4.5:1; projeksiyon ve tablet için bir boy büyük kuralı.
3) Sayfalama Stratejisi: Çevirme, Kaydırma, Aşamalı Yükleme
-
Page flip (kitap hissi): kısa ve sade; gölge/katlanma abartmayın.
-
Dikey kaydırma (scroll): makale/derin okuma; sabit başlık/numara.
-
Progressive pagination: metin parça parça akarken sayfalar lazy load edilir; büyük bölümlerde ilk izlenim hızlı olur.
Kural: Tek baskın hareket — sayfa çevirirken başlık/illüstrasyon aynı anda yarışmasın.
4) Navigasyon: TOC, Kenar Sekmeleri, İlerleme
-
İçindekiler (TOC): Bölüm–alt bölüm hiyerarşisi; aktif sayfa vurgulanır.
-
Kenar sekmeleri: notlar, yer imleri, sözlük, arama.
-
İlerleme çubuğu: (örn. % ya da “14/220 sayfa”).
AS3 iskeleti (FSM):
function goTo(pageId:String):void {
if(currentPage) { currentPage.out(); detach(currentPage); }
currentPage = pagePool.get(pageId); // lazy
attach(currentPage); currentPage.in();
progress.update(pageId);
}
5) İçerik–Davranış Ayrımı: XML/JSON ile Metni Sahneden Ayırmak
Metin/görsel/medya sahneden ayrı tutulur; sahne yalnız render eder.
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onData);
loader.load(new URLRequest(“data/pages/c1s1p1.json”));
function onData(e:Event):void {
var page:Object = JSON.parse(loader.data);
renderer.drawPage(page); // başlık, gövde, alıntı, görsel vb.
}
Fayda: Birden fazla çıktı (web/kiosk/AIR) aynı içeriği kullanır.
6) Görsel ve Medya: Resim, Vektör, Video/Ses
-
Vektör (şema/infografik) → keskin, hafif; yakınlaştırmada bozulmaz.
-
Bitmap (foto): çok büyük kaynaklar için çoklu çözünürlük.
-
Video/Ses: sessiz varsayılan; kullanıcı açarsa oynat, altyazı ekle.
-
Poster: Video başlamadan anlam taşıyan kare.
Lightbox: Sayfayı terk etmeden büyük görsel/video görüntüleme.
7) Etkileşim: Not, Vurgulama, Yer İmi, Paylaşma
E-kitabı “pasif PDF”ten ayıran asıl güç budur.
-
Metin vurgulama (highlight): sarı/yeşil kalem, kaydedilir.
-
Not düşme: paragraf/alıntı yanına yapışır.
-
Yer imi (bookmark): sayfa düzeyinde hızlı dönüş.
-
Paylaş: alıntı → kopyala; dış linklerde onay katmanı.
SharedObject ile yerel saklama:
8) Arama ve Sözlük (Glossary)
-
Arama: sayfa/başlık/alıntı alanlarında; sonuçları bağlamla listeleyin.
-
Sözlük: işaretlenmiş terimler hover/tap ile açıklama balonu; “daha fazla” → glossary sayfası.
İpucu: Arama sonuçlarını bölüm gruplamasıyla sunmak “nereye gideceğini” hızlandırır.
9) Sayfa Çevirme (Page Flip) Koreografisi: Hafif ve Ölçülü
-
Süre: 220–340 ms;
easeInOutCubic
. -
Gölge: %12–18 opaklık; CPU’yu yormayacak düzeyde.
-
Ses (opsiyonel): Kısa, düşük seviye “sayfa hışırtısı”.
Hata: Uzun flip + ağır gölge → okuma ritmini bozar.
10) Tipografik Bileşenler: Alıntı, Dipnot, Kod/Şiir
-
Alıntı (pull quote): Daha büyük punto + yan çizgi.
-
Dipnot: tıklanınca alt panelde belirir; “geri dön” net.
-
Kod/şiir: sabit genişlikli/monospace ya da pre bloklu dizgi.
11) Erişilebilirlik: Kontrast, Klavye, “Hareketi Azalt”
-
Kontrast (≥4.5:1), font boyu büyütme (A+/A−).
-
Klavye navigasyonu:
←/→
sayfa,Tab
etkileşim,Enter/Space
tetik. -
Ekran okuyucu ipuçları (AccessibilityProperties).
-
Hareketi Azalt: flip yerine crossfade, süreler %30 kısalır, partikül/arka plan animasyonu kapanır.
-
Renk + şekil: Vurguyu yalnız renkle değil, alt çizgi/ikonla da belirtin.
12) Performans–Bellek Hijyeni: Uzun Oturumlar İçin 8 Kural
-
Görünmeyen sayfayı sahneden kaldırın (
removeChild
). -
Sayfa havuzu (pool): Geçmiş/gelecek 1–2 sayfayı cache edin.
-
Tek döngü: merkezi
ENTER_FRAME
; fazla timer/tween kaçının. -
cacheAsBitmap: sabit süsler/çerçeveler.
-
Filtreleri (blur/glow) minimum.
-
Büyük görseller için çoklu çözünürlük + lazy load.
-
Temizlik: sayfa kapanırken event/tween/stream stop.
-
Yedek statik: medya açılamazsa anlamlı görsel/metin.
13) Ölçüm ve Analitik: Okuma Davranışı
-
Etiketler:
open:book
,view:page:id
,note:add
,highlight:add
,search:query
,video:25/50/75/100
. -
Metrikler: Ortalama okuma süresi/sayfa, tamamlanma oranı, en çok vurgulanan paragraflar.
-
A/B: Flip vs scroll; başlık ağırlığı; satır uzunluğu.
14) Yerelleştirme ve RTL Destek
-
JSON katmanında çok dil;
{name}
gibi yer tutucular. -
RTL diller: metin hizaları, ok/ikon yönleri, sayfa sırası.
-
Uzun başlık: 2 satır sınırı + ellipsis stratejisi.
15) Güvenlik ve Gizlilik
-
Dış veri: whitelist/kaçış → XSS’e karşı.
-
Kişisel veri: Not–vurgular yerel saklanır (SharedObject/AIR); senkron gerekiyorsa açık onay.
-
Harici linkler: domain kısıtları; yeni pencerede aç.
16) Sesli Okuma / Eşzamanlı Vurgu (Opsiyonel)
-
Basit TTS entegrasyonunda cümle–satır işaretleri ile karaoke vurgusu (metin alt çizgi/pulse).
-
Sessiz mod varsayılan; kullanıcı başlatır.
Dikkat: Uzun TTS okumalarda yorgunluğu azaltmak için hız/pitch ayarı.
17) İnteraktif Öğeler: Alıştırma, Mini Quiz, Hiperlinkli Harita
-
Alıştırma: doğru/yanlış anında geri bildirim.
-
Mini quiz: bölüm sonu 3–5 soru; sonuç paneli.
-
Harita/şema: değişken ipucu katmanları (hotspot).
Kural: Etkileşimler okumayı destekler; dikkati dağıtmaz.
19) Uygulamalı Mini Proje — “Akışkan E-Kitap Çekirdeği”
Hedef: 5 bölümlük bir e-kitap için yeniden kullanılabilir iskelet.
Bileşenler:
-
BookApp
(FSM + yükleyici + analitik), -
TOCPanel
,PageView
,Toolbar
(A+/A−, arama, not, vurgula), -
GlossaryPanel
,SearchPanel
,NotePanel
.
Akış:
-
BookApp
manifest’i yükler; ilk bölüme gider. -
PageView
ilgili JSON’u render’lar (başlık/gövde/alıntı/görsel/video). -
Flip/scroll tercihi ayarlardan gelir (Reduce Motion aktifse scroll/crossfade).
-
Not–vurgular
SharedObject
ile kalıcıdır; TOC ve arama bağlamlı sonuçlar verir. -
Analytics olayları gönderilir (opsiyonel).
Kazanım: Aynı iskeletle “atlas”, “öğretici”, “öykü” gibi farklı türler üretirsiniz.
20) AIR/HTML5 Köprüsü ve Dağıtım
-
AIR (desktop/tablet/kiosk): offline paket, yerel dosya erişimi, daha iyi kaynak yönetimi.
-
HTML5 Canvas/Video: Animate yayın; flip yerine CSS/Canvas geçişleri.
-
Video dışa aktarım: anlatım/okuma videoları için MP4/WEBM.
Öz: Araçlar değişebilir; taşınan şey prensiplerdir: tek baskın hareket, okunurluk, erişilebilir kontrol, temizlik ve ölçüm.
Sonuç
Flash/Animate ile bir e-kitap tasarlamak, yalnızca metni “görüntülemek” değildir; okunurluğu, yön bulmayı, kişisel bağ kurmayı ve kalıcılığı birlikte tasarlamaktır. Bu rehberde; editoryal omurgayı JSON manifest ile yönetmeyi, TLF/Classic Text seçimlerini ve gömülü font hijyenini, sayfalama (flip/scroll/progressive) kararlarını, TOC–arama–glossary navigasyonunu, not–vurgulama–bookmark gibi öğrenen merkezli etkileşimleri, medya entegrasyonunu, erişilebilirliği (kontrast, klavye, Reduce Motion), performans–bellek hijyenini ve ölçüm/analitiği adım adım kurduk.
Özetle; (1) Metni sahneden ayır, (2) tek baskın hareketle ritmi yönet, (3) tipografiyi büyüt–kontrastı güçlendir, (4) not–vurguyla kişiselleştir, (5) temizlik ve lazı yükleme ile akıcılığı koru, (6) ölç–öğren–iyileştir. Bu omurgayla üretilen e-kitap; ister sınıf içi bir kaynak, ister kurumsal bir rehber, ister popüler bir öykü serisi olsun—okuruna hafif, erişilebilir ve unutulmaz bir deneyim sunar.