HTML5 Canvas'a yönelik özel bileşenler oluşturmayı öğrenmek için bu makaleden yararlanın.

Animate CC, bir dizi varsayılan bileşen ile gelir. Ancak, bunlar projeniz için yeterli değildir. Bu başlık, Animate CC için özel HTML5 Bileşenleri oluşturmayı öğrenmenize yardımcı olur.

Bileşen tanımı, üç ana bölümden oluşur:

  • Meta Veriler: Görüntülenen ad, sürüm, yapılandırılabilir özellikler kümesi, simge vb. gibi bileşenler ile ilgili bilgi sağlar. Bunlar, components.js adlı bir dosyada tutulur. Bileşenleri bir kategori altında gruplandırabilirsiniz ve bu dosya, bir kategorideki tüm bileşenlere yönelik meta verileri sağlamanıza olanak tanır.
  • Kaynak: Gerçek bileşen kaynağı ile ilgili bilgi sağlar. Bu, bileşenler kullanan bir filmi önizlediğiniz veya yayınladığınız çalışma zamanında gömülür.
  • Varlıklar: JavaScript kütüphanesi veya CSS ya da çalışma zamanı varlıkları ve simgeleri gibi herhangi bir çalışma zamanı bağımlılığı ile ilgili bilgi sağlar. Varlıklar, Animate geliştirme ortamında kullanılabilir.

Not:

Bileşen tanımı, yerelleştirme ile ilgili kaynaklar da içerir.

componentsJS
Özel bileşen kategorisi için örnek klasör yapılandırması

Animate CC, özel HTML5 Bileşenleri için aşağıdaki klasörleri kontrol eder ve bunları, başlatırken yükler:

• Windows:

<AppData>/Local/Adobe/Adobe Animate CC 2017/en_US/Configuration/HTML5Components

 

• MAC:

 

~/Library/Application Support/Adobe/Animate CC 2017/en_US/Configuration/HTML5Components/

Not:

Yukarıdaki klasör yolu, ABD İngilizcesi için geçerlidir. Animate uygulamasını başka bir dilde kullanıyorsanız en_US yerine o dile özel klasör adına bakın.

Animate CC, "components.js" dosyasının bulunduğu konumdaki her bir klasör için bir kategori oluşturur ve tüm bileşenleri içine yükler.

Bileşen Meta Verileri

Bileşen meta verileri, components.js adlı bir dosyada tutulur; bu dosya, HTML5Components dizini içinde ayrı bir klasöre yerleştirilir. 

metadata-code
Video bileşeni için örnek meta veriler.

Components.js

Components.js

aşağıdaki bölümleri içeren bir JSON dosyasıdır:

  • Kategori: Bu bileşenler kümesi için Bileşenler Paneli'ndeki addır ve yerelleştirilebilir.
  • Bileşenler: Her bir girişin bir bileşen ile ilgili meta veriler içerdiği dizidir. Yukarıdaki örnekte, dizide yalnızca bir öğe bulunmaktadır. Meta veriler, aşağıdaki bölümleri içerir:

Ad

Gerekli

Açıklama

ClassName

Evet

Bileşenin kaynak dosyada belirtilen sınıf adıdır. Sınıf adı, bir ad alanları düzeyini destekler. Örneğin, Video.

 

Sürüm

Hayır

Bileşenin sürüm numarasıdır. Gelecekteki bileşen yükseltmeleri için kullanılır. Ancak, akış bu noktada tanımlanmaz.

Kaynak

Evet

Bileşene ait ana kaynak dosyasının ilgili yoludur. Kaynağın içeriği ile ilgili daha fazla bilgi, sonraki bölümde açıklanmaktadır.

Simge

Hayır

Bileşen simgesinin ilgili yoludur. Bu simge, adı ile birlikte bileşen için herhangi bir örnek oluşturulduğunda bileşenler panelinde ve sahne alanında kullanılır. Hiçbiri sağlanmazsa varsayılan bir simge kullanılacaktır.

Yüklenecek simgenin png adını belirtebilirsiniz (tipik olarak 32x32). Açık renkli kullanıcı arabirimi ve koyu renkli kullanıcı arabirimi için farklı simgeleri desteklemek istiyorsanız aşağıdaki adlandırma kuralına sahip iki .png sağlayın:

 

custom_icon_N.png – Koyu renkli kullanıcı arabirimi simgesi

custom_icon_D.png – Açık renkli kullanıcı arabirimi simgesi

 

ve bu alana yönelik değer olarak yalnızca "custom_icon" adını belirtin. Son ekler, geçerli kullanıcı ayarına göre otomatik olarak eklenir.

Boyutlar

Hayır

Bileşen örneklerinin varsayılan boyutudur. Kullanıcının bir bileşeni Bileşen panelinden sahne alanına her sürükleyip bırakışında yeni bir örnek oluşturulur. Bu alan, bileşen örneği için varsayılan ilk boyutu belirtir. Değer, bir dizi [genişlik, yükseklik] olmalıdır. Değer belirtilmemişse Animate varsayılan bir boyut seçer. Ayrıca Animate, boyutu [2,2] ila [1000, 1000] aralığında olacak şekilde kısıtlar.

Bağımlılıklar

Hayır

Bileşene yönelik bağımlılıklar kümesidir. Bu, her bir girişin yerel bir kaynak (anahtar = "src" ile) için ilgili yolu ve CDN yolunu (anahtar = "cdn" ile) sağladığı bir dizidir. CDN yolu zorunlu değildir. Bu yol, yayınlama ayarlarında kütüphaneler barındırdığınızda kullanılır. Aksi takdirde, önizleme yaparken veya yayınlarken yerel kaynak kullanılacaktır.

 

Yukarıdaki örnekte (video) kullanılan ilgili yola dikkat edin. Bir düzey yukarıdaki bağımlılıkları yükler; bu da, bazı bağımlılıkları birden fazla bileşen kümesinde paylaşmamıza imkan verir.

 

Özellikler

Evet

Bu bir özellikler dizisidir. Sahne alanında bu bileşenin bir örneğini oluşturduğunuzda burada yapılandırılan özellikler kümesi, Özellik Denetçisi'nde otomatik olarak gösterilecektir. Bu bileşenin kullanıcıları, Animate CC'de söz konusu özellikleri yapılandırabilir ve yapılandırılan özellikler, bileşenin çalışma zamanında örnek oluşturma işlemi sırasında kullanılabilir hale gelir.

 

Her bir özellik girişi, aşağıdaki anahtarları içerir:

  1. ad: Bu özellik için Özellik Denetçisi'nde gösterilen addır. Bu, kullanıcı dostu bir ad olmalıdır. Yerelleştirilebilir.
  2. değişken: Bu özellik için kullanılan dahili addır. Yapılandırılan değerler, çalışma zamanında bu değişken adı ile kullanılacaktır. Bununla ilgili daha fazla bilgiye sonraki bölümlerde yer verilmiştir.
  3. Tür: Özelliğin türünü belirtir. Animate CC, şu türlere izin verir:
    1. Boolean  - Özellik Denetçisi'nde onay kutusu
    2. Sayı  - Özellik Denetçisi'nde sayısal kutu
    3. Dize    - Özellik Denetçisi'nde metin kutusu
    4. Liste        - Kullanıcının bir değerler dizisini yapılandırmasına izin verir.
    5. Koleksiyon- Kullanıcıların bir <key, value> çiftleri listesini yapılandırmasına izin verir. (Bkz. aşağı açılır kutu)
    6. Dosya Yolu  - Kullanıcının bir yerel dosyaya gözatmasına ve bunu seçmesine izin verir. Dize değeri çalışma zamanında sağlanır. Dosya, "assets" (varlıklar) klasöründe yayınlanan çıktıya otomatik olarak kopyalanır ve ilgili yol, çalışma zamanında kullanılabilir hale gelir.
    7. Görüntü Yolu - Kullanıcının bir görüntüye gözatmasına ve bunu seçmesine izin verir. Dosya, yapılandırılan görüntüler klasöründe yayınlanan çıktıya otomatik olarak kopyalanır ve ilgili yol, çalışma zamanında kullanılabilir hale gelir.
    8. Video İçerik Yolu – Kullanıcının web biçimli bir video kaynağına (mp4, ogg, ogv, webm) gözatmasına ve bunu seçmesine izin verir. Yapılandırılan varlık, yayınlanan çıktıda "videos" (videolar) klasörüne kopyalanır.
    9. Renk - Özellik Denetçisi'nde Renk Seçici

4.       Varsayılan: Özelliğin varsayılan değeridir. Varsayılan, özelliğin türü ile aynı türde olmalıdır.

Bileşen Kaynağı

Her bir bileşen, aşağıdakileri işleyecek kodu sağlayan ilişkili bir kaynak dosyaya sahip olmalıdır:

  • Yapılandırılmış özellik kümesi değerleriyle çalışma zamanında bileşen örneği oluşturma
  • DOM'ye ekleme ve DOM'den ayırma.
  • Her karede özellik güncellemeleri

Özel bileşenlerin daha kolay bir şekilde geliştirilmesi için bir temel sınıf ve anwidget.js dosyasında bir yardımcı program işlevi sağlanır. Bu arabirim gelecekte geliştirilecektir ancak geçmişe dönük şekilde uyumlu olmayacaktır. Şu anda yalnızca DOM tabanlı bileşenler desteklenmektedir ancak Canvas tabanlı bileşenlere yönelik desteği kapsayacak şekilde genişletilecektir. Şu anda yalnızca gereçler desteklenmektedir ancak çerçeve, ekleme davranışlarını (kullanıcı arabirimi olmayan bileşenler) destekleyecek şekilde genişletilecektir.

anwidget.js dosyası, first run klasörünüzdeki HTML5Components/sdk klasöründe bulunmaktadır. Özel bileşenler için bir AnWidget temel sınıfı ve özel bileşeni kaydetmek için bir $.anwidget(<className>, {Nesne Prototipi}) yardımcı program yöntemi sağlar. Geçerli uygulama jQuery'yi kullanır; bu nedenle, bir gereç tarafından sağlanan hizmetleri her kullanışınızda jQuery daima bir bağımlılık olarak eklenir. Bununla birlikte, jQuery'ye örtük bir bağımlılık eklemek istemiyorsanız bir Gereç ile aynı arabirimi sağlayan jQuery olmaksızın bir Bileşen sınıfı uygulamanız gerekebilir.

 

AnWidget
HTML şablonu

Html, bu bölümleri (önyükleyici div hariç) varsayılan olarak içerir:

animation_container
Varsayılan HTML bölümleri (önyükleyici div hariç)

Önceki şekil, öğelerin DOM'de eklenme sırasını göstermektedir. Bu nedenle, dom_overlay_container div, tuvalin üzerinde gösterilir.

Not:

İlk sürümümüzdeki dom_overlay_container div kimliğini değiştirmeyin; bu kimliğe bağımlı olan, kod parçacıkları gibi birkaç özellik mevcuttur.

Önceki illüstrasyonda gösterildiği gibi dom_overlay_container div, bir kaplama olarak tuvalin üzerinde gösterilir. Fare olaylarının temel alınan tuvale doğru şekilde yayıldığından emin olmak üzere bu div için CSS özelliğini {işaretçi olayları: yok} kullanırız; böylece, fare olayları temel alınan tuvale doğru şekilde yayılır. Projeniz kapsamında Animate CC'de yapılandırılan tüm bileşen örnekleri, bu dom_overlay_container div'nin bir alt öğesi olarak oluşturulur ve eklenir. Bileşen örneklerinin ilgili sıralaması, çalışma zamanında korunur ancak şu anda tüm bileşen örnekleri daima bir kaplama olarak gösterilir. Fare olaylarını da alabilmeleri için çalışma zamanında tüm bileşen örneklerine yönelik olarak şu ayarı yaparız: {işaretçi olayları: tümü}.

Bileşen yaşam döngüsü

component_lifecycle
Bileşen yaşam döngüsü

  1. Kapsayıcı için DOM oluşturulurken bileşen örneği oluşturulur.

  2. Daha sonra örnek, oynatma kafası bileşen örneğinin kullanıldığı kareye ulaştığında DOM'ye eklenir. Ardından, çalışma zamanında her onayda (tick) çağrılan bir güncelleme işleyicisi ekler. Bileşen aynı zamanda, bu noktada {id: id_of_the_instance} olay verileriyle üst öğeye bir "attached" (ekleme) olayı da tetikler.

  3. Özellikler, her güncelleme geri çağrısında güncellenir. Tüm özellik güncellemeleri, bir onay işleyici sırasında ön belleğe alınır ve bir kez uygulanır. Şu anda özel özellik araları desteklenmemektedir. Yalnızca dönüştürme ve görünürlük gibi temel özellikler güncellenir.

  4. Oynatma kafası bileşen örneğinin kaldırıldığı kareye ulaştığında onu DOM'den ayırırız. Bu noktada üst öğede bir "detached" (ayırma) olayı tetiklenir.

Temel sınıf $.AnWidget olarak adlandırılır ve aşağıdaki geçersiz kılmaları sağlar:

Ad

Zorunlu

Açıklama

getCreateOptions()

Hayır

Bileşenin bileşen örneği oluşturma sırasında uygulanmasını istediği seçenekleri döndürür. Tipik bir geçersiz kılma işleminde, _widgetID global değişkenini kullanarak her örneğe benzersiz bir kimlik atamak için genellikle bu kullanılır. Sonraki bölümde verilen örnek, bu kullanıma ilişkin daha ayrıntılı açıklama sağlayacaktır.

getCreateString()

Evet

DOM örneği oluşturmaya yönelik dizeyi döndürür. Bu dize, daha sonra temel DOM'ye eklenen gerçek DOM öğesini oluşturmak için jQuery'ye geçirilir.

 

Örneğin, bir görüntü bileşeni için şunu döndürmelidir: "<image>"

 

Çalışma zamanında öğe oluşturulur ve jQuery sarıcısına yönelik başvuru, bileşen örneğinde aşağıdaki gibi depolanır:

 

this._element =  $(this.getCreateElement())

 

// this._element – jQuery sarıcısı (oluşturulan temel alınmış DOM öğesi için).

 

Ayrıca, bileşik öğeler de oluşturabiliriz; ayrıntılar, örnekler bölümünde ele alınacaktır.

getProperties()

Hayır

Yapılandırılabilir CSS özellik adları dizisini döndürür. Bu tipik olarak, components.json içinde yapılandırdığınız tüm özelliklerle eşleşir

 

Örneğin, video bileşeni için bu dizi aşağıdaki girişleri içerir:

 

["sol", "üst", "genişlik", "yükseklik", "konum", "kaynağı dönüştür", "dönüştür"]

getAttributes()

Hayır

Yapılandırılabilir nitelikler dizisini döndürür. Bu tipik olarak, components.json içinde yapılandırmaya izin verdiğiniz tüm niteliklerle eşleşir

 

Örneğin, video bileşeni için bu dizi aşağıdaki girişleri içerir:

 

["kimlik", "src", "kontroller", "otomatik oynat", "döngü", "sınıf"]

attach(parent)

Hayır

Bu işlev, bileşen örneği "üst" DOM öğesine eklenmek üzereyken çağrılır.

 

Varsayılan uygulama aşağıdakileri (ve birkaç başka işlemi) gerçekleştirir:

 

// Öğeyi üst DOM'ye ekler

$(parent).append(this._element);

 

//Başvuruyu şurada depolar: this._$this

this._$this = $(this._element);

 

//Tüm özellikleri güncellemek için güncelleme dayatması çağırır

this.update(true);

this._attached = true;

 

//Üst öğede attached (ekleme) olayını tetikler

$(parent).trigger("attached", this.getEventData("attached"))

 

Bu işlevi geçersiz kılmanıza gerek yoktur. Ancak, bileşik öğeler için geçersiz kılmamız gerekebilir. Örnekler bölümünde daha fazla bilgi verilecektir.

 

Not: Bir geçersiz kılmadan herhangi bir temel sınıf yöntemi çağırmak için şunu kullanabilirsiniz: this._superApply(arguments)

detach()

Hayır

Bu işlev, bileşen örneği DOM'den kaldırılmak üzereyken çağırılır. Varsayılan uygulama aşağıdakileri gerçekleştirir:

 

//Öğeyi DOM'den kaldırır

this._$this.remove();

//Üst öğede detached (ayırma) olayını tetikler

$(parent).trigger("detached", this.getEventData("detached"));

setProperty(k,v)

Hayır

Bu işlev, örnek için bir özellik ayarlamak amacıyla kullanılır. Bu değişiklikler, kirlenen her özellik için her bir kareyi güncelleme çağrısı sırasında ön belleğe alınır ve tek seferde uygulanır.

update(force)

Hayır

Bu işlev, bileşenin DOM'nin bir parçası olduğu ve görünür olduğu durumlarda her kare için çağrılır. Varsayılan uygulama, force parametresinin true olması durumunda veya değiştirilen tüm CSS özellikleri ve nitelikleri için geçerlidir.

show()

Hayır

Öğe örneğini gösterir. Tipik olarak bunu geçersiz kılmanız gerekmese de bileşik öğeler için geçersiz kılınması gerekebilir.

hide()

Hayır

Öğe örneğini gizler. Tipik olarak bunu geçersiz kılmanız gerekmese de bileşik öğeler için geçersiz kılınması gerekebilir.

getEventData(e)

Hayır

"e" adlı olay için tüm özel verileri döndürür. Varsayılan uygulama, attached (ekleme) ve detached (ayırma) olayları için {id: instance_id} verilerini geçirir.

destroy()

Hayır

Bileşen örneği DOM'den ayrıldığında belleği boşaltır. Tipik olarak bunu geçersiz kılmanız gerekmez.

applyProperties(e)

Hayır

CSS özelliklerini jQuery sarıcısı e'ye uygulamak için yardımcı API.

applyAttributes(e)

Hayır

Nitelikleri jQuery sarıcısı e'ye uygulamak için yardımcı API.

Yerelleştirme

Kategori dizesi, bileşen görüntülenen adı ve özellik adı yerelleştirilebilir. Bileşenler klasörü altında locale adlı bir klasör içinde strings.json adında bir dosya oluşturun. Yerelleştirilecek tüm dizeler için anahtar-değer çiftlerini sağlayın ve components.js içindeki anahtarı kullanın. Diğer yerel ayarlar için dizeleri, locale klasörü altında karşılık gelen klasörler içinde sağlamalısınız.

localization
.json string dizesi

Özel HTML5 bileşenlerini paketleme ve dağıtma

Animate geliştiricileri veya tasarımcıları, kullanıma hazır paketlenmiş bileşenler sağlayarak animasyoncuların kodlama yapmadan bileşenleri yüklemesine ve kullanmasına olanak sağlayabilir. Önceden, animasyoncuların dosya yapılarını öğrenmesi, programlama yapması ve HTML5 uzantılarını etkinleştirmek için dosyaları belirli klasörlere manuel olarak taşıması gerekirdi.

Ön koşullar

Bileşeni paketlemeden önce bileşenin kaynak ve hedef yolunun meta verilerini içeren bir MXI dosyası oluşturun. Örneğin;

<file source="jquery-ui-1.12.0" destination="$FLASH\HTML5Components\jQueryUI\" file-type="ordinary" />

Bu kaynak ve hedef dosyası bilgileri bileşeninizin doğru yüklenmesi için uzantı yardımcı programının etkinleştirilmesini gerektirir.

Bileşenleri paketleme

HTML5 özel bileşenlerini paketlemek için şu adımları uygulayın: 

  1. MXI dosyası oluşturmak için metin düzenleyiciyi kullanarak örnek abc.mxi dosyasına benzer bir içerik girin ve MXI uzantısı ile kaydedin.

    Download

    İndir

  2. MXI bileşen dosyanızı ve diğer ilgili dosyaları klasöre ekleyin.

    Add-MXI-file-to-component
  3. CC Extensions imzalama aracını (ZXPSignCmd.exe) kullanarak bir ZXP uzantısı zip dosyası oluşturun.  ZXP dosyası oluşturmak için ZXP Sign Command aracında aşağıdaki talimatları uygulayın:

    1. -selfSignedCert seçeneğini kullanarak kendinden imzalı sertifika oluşturun.

    Zaten sertifikanız varsa bu adımı atlayabilirsiniz.

    Self-signature
    ZXPSignCmd -selfSignedCert US NY MyCompany MyCommonName password FileName.p12

    FileName.p12 dosyası, geçerli klasörde oluşturulur.

    2. Şu komutu kullanarak uzantıyı imzalayın: 

    Create-ZXP-file
    ZXPSignCmd -sign projectName projectName.zxp FileName.p12 password

    projectName, Uzantı Projesinin adıdır. Geçerli klasörde, projectName.zxp adlı bir dosya oluşturulur.

Bileşenleri dağıtma

Bu paketlenen projectName.zxp bileşen dosyasını tüm Animate kullanıcılarına dağıtabilirsiniz.

Not:

Adobe, ürünlerinizi Adobe Add-ons web sitesinde dağıtmanızı önerir. Eklentileri herkese açık (ücretli veya ücretsiz) ya da özel (belirli kullanıcılara ücretsiz) olarak dağıtabilirsiniz. Ürünleri özel olarak paylaşma hakkında daha fazla bilgi edinin.

Dağıtılan bileşenleri yükleme

Animate tasarımcıları veya geliştiricileri, Uzantıları Yönet yardımcı programını kullanarak, dağıtılan ZXP dosya bileşenini yükleyebilir.

Daha fazla bilgi için bkz. Dağıtılan bileşenleri yükleme

Bu çalışma Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License kapsamında lisanslanmıştır  Creative Commons şartları, Twitter™ ve Facebook sitelerinde paylaşılanları kapsamaz.

Yasal Uyarılar   |   Çevrimiçi Gizlilik İlkesi