Dokunma girdisinin temelleri

Flash Player 10.1 ve üstü, Adobe AIR 2 ve üstü

Flash Platform dokunma girdisini destekleyen bir ortamda çalışırken, InteractiveObject örnekleri dokunma olaylarını dinleyip işleyicileri çağırabilir. Genelde dokunma, çoklu dokunma ve hareket olaylarını ActionScript’teki diğer olaylar gibi işlersiniz (ActionScript ile olay işleme hakkında temel bilgiler edinmek için bkz. Olayları işleme).

Ancak, Flash çalışma zamanının bir dokunma veya hareket yorumlaması için, çalışma zamanının dokunma veya çoklu dokunma girdisini destekleyen bir donanım ve yazılımda çalışıyor olması gerekir. Farklı dokunmatik ekran tiplerini karşılaştıran bir çizelge için bkz. Girdi türlerini keşfetme. Bunun yanında, çalışma zamanı bir kap uygulamasında (tarayıcı gibi) çalışıyorsa, bu kap girdiyi çalışma zamanına geçirir. Bazı durumlarda, geçerli donanım ve işletim sistemi ortamı çoklu dokunmayı destekler, ancak Flash çalışma zamanını içeren tarayıcı girdiyi yorumlar ve çalışma zamanına geçirmez. Ya da girdiyi bir bütün olarak yok sayabilir.

Aşağıdaki şemada girdinin kullanıcıdan çalışma zamanına akışı gösterilmektedir:

Grafiği tam boyut görüntüle
Girdinin kullanıcıdan Flash Platform çalışma zamanına akışı

Neyse ki, dokunmatik uygulamalar geliştirmeye yönelik ActionScript API’si, çalışma zamanı ortamında dokunma veya çoklu dokunma girdilerine verilen desteği belirleyecek sınıf, yöntem ve özelliklere sahiptir. Dokunma girdisi desteğini belirlemek için kullandığınız API, dokunma olayı işlemek için “keşif API’sidir".

Önemli kavramlar ve terimler

Aşağıdaki referans listesi dokunma olayı işleme uygulamaları yazmaya ilişkin önemli terimler içermektedir:

Keşif API’si
Çalışma zamanı ortamının dokunma olayları ve farklı girdi modları desteğini sınamada kullanılan yöntem ve özellikler.

Dokunma olayı
Tek temas noktası kullanarak dokunmatik bir aygıt üzerinde gerçekleştirilen girdi eylemi.

Dokunma noktası
Tek dokunma olayında temas noktası. Bir aygıt hareket girdisini desteklemese bile, aynı anda birden fazla dokunma noktasını destekleyebilir.

Dokunma dizisi
Tek bir dokunuşun ömrünü ifade eden olaylar dizisi. Bu olaylara bir başlangıç, sıfır veya daha fazla hamle ve bir son dahildir.

Çoklu dokunma olayı
Birden fazla temas noktası kullanarak (birden fazla parmak gibi) dokunmatik bir aygıt üzerinde gerçekleştirilen girdi eylemi.

Hareket olayı
Birtakım karmaşık hareketleri izleyerek dokunmatik bir aygıt üzerinde gerçekleştirilen girdi eylemi. Örneğin, bir hareket iki parmakla ekrana dokunuyor ve döndürmeyi göstermek amacıyla parmakları soyut bir çemberin çevresinde aynı anda hareket ettiriyor.

Aşamalar
Olay akışındaki belirgin zaman noktaları (başlangıç ve son gibi)

Stilus
Dokunmatik ekranla etkileşimi sağlayan bir araç. Bir stilus insan parmağından daha fazla kesinlik sağlar. Bazı aygıtlar yalnızca belli stilus tiplerinin girdilerini tanır. Stilus girdisini tanıyan aygıtlar aynı anda birden fazla temas noktasını veya parmak temasını da tanıyabilir.

Bastır-tıklat
Kullanıcının bir parmağıyla dokunmatik aygıta basıp, diğer parmağı veya işaret aygıtıyla tıklattığı özel bir çoklu dokunma girdisi türüdür. Bu hareket çoğu zaman çoklu dokunma uygulamalarındaki fare sağ tıklatmasını taklit etmek için kullanılır.

Dokunma girdisi API yapısı

ActionScript girdisi API’si, dokunma girdisi işlemenin Flash çalışma zamanı donanım ve yazılım ortamına bağlı olmasına hitap etmeyi amaçlar. Dokunma girdisi API’si öncelikli olarak üç dokunmatik uygulama geliştirme gereksinimine hitap eder: keşif, olaylar ve aşamalar. Siz uygulamayı geliştirirken hedef aygıt bilinmiyor olsa bile Bu API’leri kullanıcı için öngörülebilir ve duyarlı bir deneyim oluşturmak üzere koordine edin.

Keşif

Keşif API’si çalışma zamanındaki donanım ve yazılım ortamını test edebilme becerisini sağlar. Çalışma zamanı tarafından yerleştirilen değerler, Flash çalışma zamanının geçerli bağlamında mevcut olan dokunma girdilerini belirler. Ayrıca, keşif özellikleri ve yöntemlerinin koleksiyonunu kullanarak uygulamanızı fare olaylarına tepki verecek şekilde ayarlayın (ortamın bazı dokunma girdilerini desteklemediği durumlarda dokunma olaylarının yerine). Daha fazla bilgi edinmek için bkz. Dokunma desteği keşfi.

Olaylar

ActionScript diğer olayları olduğu gibi dokunma girdisi olaylarını da olay dinleyicileri ve olay işleyicileriyle yönetir. Ancak, dokunma girdisi olayını işlemede şunlar da hesaba katılmalıdır:
  • Bir dokunma, aygıt veya işletim sistemi tarafından dokunma dizisi veya hep beraber bir hareket olarak birçok farklı şekilde yorumlanabilir.

  • Tek dokunmalı bir dokunmatik aygıt (parmak, stilus veya işaret aygıtıyla) her zaman bir fare olayı da gönderir. Fare olayını MouseEvent sınıfındaki olay türleriyle işleyebilirsiniz. Ya da uygulamanızı yalnızca dokunma olaylarına yanıt verecek şekilde tasarlayabilirsiniz. Ya da her ikisine de yanıt veren bir uygulama tasarlayabilirsiniz.

  • Bir uygulama aynı anda birden fazla dokunma olayına yanıt verirken, her birini ayrı ayrı işler.

Tipik olarak, keşif API’sini uygulamanızın işlediği olayları şartlı olarak işlemek ve bu olayların nasıl işlendiğini görmek için kullanın. Uygulama çalışma zamanı ortamını bildiği zaman, kullanıcının uygulamayla etkileşim kurmasıyla birlikte uygun işleyiciyi çağırabilir veya doğru olay nesnesini belirleyebilir. Ya da uygulama geçerli ortamda bazı girdilerin işlenemeyeceğini belirtip, kullanıcıya bir alternatif veya bilgiler sunar. Daha fazla bilgi edinmek için bkz. Touch olayını işleme ve Gesture olayını işleme.

Aşamalar

Dokunma ve çoklu dokunma uygulamalarında, dokunma olayı nesneleri kullanıcı etkileşimi aşamalarını takip edecek özellikler içerir. Kullanıcı girdisinin başlangıç, güncelleme veya bitiş aşaması gibi aşamalarını kullanıcıya geribildirimde bulunmak üzere işleyecek ActionScript yazın. Olay aşamalarına kullanıcı, ekrana dokunduğunda ve dokunma noktasını taşıdığında görsel nesneler değişecek şekilde yanıt verin. Ya da bir hareket değişim geçirdikçe belli özelliklerini takip etmek için aşamaları kullanın.

Dokunma noktası olayları için, kullanıcının bir interaktif nesneye ne kadar uzun süre dayandığını takip edin. Bir uygulama aynı anda ayrı ayrı birden fazla dokunma noktası aşamasını takip edip, her birini uygun şekilde işleyebilir.

Bir hareket için, hareketin meydana geldiği sırada dönüştürülmesine ilişkin bilgileri yorumlayın. Temas noktası ekran üzerinde hareket ettikçe, temas noktasının (veya birden fazla) koordinatlarını izleyin.