İçeriğin rss beslemesi kullanımda değil Soru - Cevap Bölümü / Kategori: Programlama

21/12/2004 - 07:14:29 cevap (6) Okunma : 8480 Bu yazıyı 1 kişi tuttu.

Component preloading

Selam arkadaşlar.

Bir türlü aşamadığım bir problemim var; bildiğiniz gibi mx 2004 te form application ve scene moviler ayrı şeyler.

scene movilerde preloading yapmada pek sorun yaşayan kimse olduğunu sanmıyorum ancak ben form applicationları preloading yapamıyorum.

denemediğim metod kalmadı.örneğin bir preloading br ı ilk frame atıp onun üzerinden preloading uapmak istiyorum ama olmayınca olmuyor işte :)bir preloading (application preloading) kodu yazarsanız sevinirim.

(getbytesloaded içeren her varyeteyi denedim ama yinede ümidim var :)))

adres lostchild profilini göster
lostchild 24.12.2004 10:38:01
En iyi cevap mı ?

Bu öneri çok basit olabilir, muhtemelen de düşünmüşsündür, ama : içinde, yüklenecek olan form application’ ı preload edecek bir swf yapılsa. yani :

bir swf yapıyoruz bu swf’ de leveln’ e veya boş bir klibe "form application" ı yüklüyoruz. nyüklemeyi de bu swf içinden yapıyoruz.

şu an bunu deneme şansım yok. o yüzden düşünmüşsen ya da işlemiyorsa ( ki işlemesi gerekir… ) kusura kalmayın artık (-:

iyi çalışmalar…

adres Ufuk G profilini göster
Ufuk Gün 24.12.2004 17:21:11
En iyi cevap mı ?

onu da denedim ama form application ı scene içinden çağırdığın zaman componentler iptal oluyor örneğin window componentini başka bir form üzerinden işlettiğim için çalışmıyor.

form applicationda form larda level mantığı olmadığı içinde bu yöntem işe yaramıyor

maalesef..

adres lostchild profilini göster
lostchild 25.12.2004 07:25:30
En iyi cevap mı ?

Şimdi, normalde komponentleri önyüklemek için kullandığımız yöntemi kullanabilir miyiz diye baktım. Olamıyor, çünkü ne yazık ki form ların kendileri birer component olarak görünmüyor flash içinde. Bu tabii ki ben mx2004 ile çok haşır neşir olamadığımdan dolayı bilmediğim bir şeydi.

Normal koşullarda komponetleri preload edebildiğimize göre bunları da aynı mantıkta ~ "export in 1st frame" i iptal ederek ve sınıfların export edildiği frame i 1’den farklı bir frame yaparak ~ becerebileceğimizi düşündüm.

Bu yüzden "belki yer" (-: diye şunu yaptım :

  • publish settings den classes bölümünde "1’de değil 2’de export et" dedim. Buna itiraz etmedi ama, export ederken de, tabii ki bunu dedi :
WARNING: 

The Export Frame for Classes specified in the Publish or Export settings, 
frame 2, does not exist. 
No bytecode for ActionScript 2.0 classes or interfaces was exported.

Yani Flash sanki bu fla 1 frame den oluşuyormuş gibi bir izlenim bırakıyor ( hani göya main screen de 1 frame var gibi ). Sonuçta bu bir swf olduğu için, düşündüm ki, aslında frame ler var ama flash, ortamda bize göstermiyor.

Ben de swf yi decompile ettim. koda baktığımda frame ler var.

Tek bir formun olduğu bir swf yi decompile ettiğimde 2 frame gördüm. Bu sebeplerden ötürü bir kaç screen daha ekleyerek görünen frame sayısının artıp artmadığını baktım. Artmıyor, yani gördüğüm kadarıyla ( yanılmıyorsak ) bir form application sanırım hep 2 frame den oluşuyor (_root ta ).

Sonuç olarak _root dendiğinde bu tabii ki bir "swf" olduğu için preload da yüklenme bitince "100%" görünüyor ama aradaki yüklenmeyi göremiyoruz. Problem tam olarak AS2 sınıflarının 1.frame de export edilmesini önleyememek.

Flash bunun için bize bir yol sunmamış.

Buradaki problemin flash ortamında yapılabilecek bir değişiklikle halledilebileceğini sanmıyorum. Şu yapılabilir,denenebilir :

Form.as ve Screen.as dosyalarından bu sınıflar incelenebilir, burada aslında birer MovieClip olan formlara nasıl referans verildiğine bakılabilir. Ve buna göre düşünülür taşınılır.

Bir diğeri de swf kodu üzerinde değişiklik yapıp onu yine swf ye çeviren bi program ile kodu değiştirmek Bu tabii ki biraz extrem bir çözüm

(-: Yapılabilecek olan şey de şu :

> SWF disassemble edilecek orada girişe bir empty frame konacak. oradan preload yapılacak ve böylece AS2sınıfları diğer frame e kaymış olacak.

Tabi bu bir deli işi olsa gerek çünkü normal bir swf değil uğraştığımız, ,bir form application sonuç olarak. Haliyle burada yapılacak bir değişiklik normal bir swf üzerinde yapılabilecek değişikliklerden çok farklı olacaktır muhtemelen.

Benim aklıma gelenler bunlar…

En azından problemin nereden kaynaklandığını tespit etmiş olduk sanırsam.

iyi çalışmalar…

adres Ufuk G profilini göster
Ufuk Gün 06.01.2005 04:05:24
En iyi cevap mı ?

Sorunu buldum Flash MX 2004 componentleri çok fazla bug içeriyor ve Macromedia bunu kabul ediyor.

bu yüzden preloading yaptıramamışım

yeni Flash sürümünde bu hataların giderileceğini garanti ediyorlar.

adres lostchild profilini göster
lostchild 10.01.2005 07:53:42
En iyi cevap mı ?

bu bence,( sanırım )düşündüğün anlamda bir bug değil.

Çünkü, flash form application bir template ama, normal bir fla dan oluşturamıyoruz bu template i. Bu screen olayının halt yemesi (-:. Yapısal bir problem var. Bu ana screen, bir komponent mantığında timeline da yer almıyor. Orda görülen timeline, ana screen in timeline ı. Yani adamlar ne yazık ki bu konuda çuvallamışlar.. bunu nasıl giderecekler ben gerçekten çok merak ediyorum.

biraz kod deneyerek gördüm ki ana form _level0 da yer alıyor. Yani level mantığı var, ama flash bizden level0 ı, yani ana timeline ı saklıyor. problem de bu zaten ( böyle olmasaydı, ikinci bir frame yaratır, sınıfların preloader dan sonra yüklenmelerini sağlayabilirdik )

Fakat bahsettiğimiz yapıda, flash bizi "screen" adlı kutunun içine hapsetmiş. _parent a ulaşmak mümkün değil (authoring time da ).

var timeline = this
trace(timeline) // _level0.application
trace(typeof(timeline)) // movieclip

mx 2004 ü kaldırmak zorunda kaldım dün, ama sanırım aşağıdaki kodun sonucu "_level0" çıkmalı, düşündüklerim doğruysa :-

var mainTimeline = _parent
trace(mainTimeline) //_level0

iyi çalışmalar…

adres Ufuk G profilini göster
Ufuk Gün 10.01.2005 17:03:22
En iyi cevap mı ?

level mantığı yok derken kastettiğim "daha önce denedim ancak" _level uygulamalarında form applications hata veriyor…

yani senin bahsettiğin durum…

Macromedia’nın sitesinde yada forum unda bir çözüm önerisi yok sadece yeni sürümde sorunun düzeltileceği haberi var..

aç-kapa Bu Yazıyı Tutanlar

MMIstanbul Adobe UG MMIstanbul Adobe UG

adobe user group

ColdFusion, Flex, AIR, Flash, PDF, Dreamweaver, Fireworks, Photoshop, Illustrator, INdesign, Premiere, Soundbooth, Lightroom, InCopy, JRun, LiveCycle, Acrobat, AfteEffects, Resmi Adobe Kullanıcı Grubu.

yeni üyelik | şifremi unuttum

aç-kapa Konferans 2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08

2. Ulusal Yazılım Mimarisi Konferansı - UYMK'08

2.Ulusal Yazılım Mimarisi Konferansı (UYMK’08), 11 – 12 Eylül 2008 tarihlerinde Ege Üniversitesi Bilgisayar Mühendisliği Bölümü ev sah...
Kategori: Konferans

aç-kapa Sergi İstanbul'da Bir Sürrealist: Salvador Dali

İstanbul'da Bir Sürrealist: Salvador Dali

Picasso ve Rodin’den sonra kimi görmek istersiniz deseler; Salvador Dali listenin ilk başlarında yer almaz mı? Ressam, yazar, bilim adamı, tasar...
Kategori: Sergi

aç-kapa Eğitim PAZARLAMA EĞİTİMLERİ

PAZARLAMA EĞİTİMLERİ

1-0 Eğitim Ajansı, eğitim programları Yer : Bir Sıfır Eğitim Danışmanlık Zaman Aralığı : Eylül – Ekim 2008 Adres : Çırağan Cad. Şahnisin Sok. No...
Kategori: Eğitim

aç-kapa Eğitim İLETİŞİM EĞİTİMLERİ

İLETİŞİM EĞİTİMLERİ

Kısa zamanda sektöre hızlı bir giriş yapan 1-0 Eğitim Ajansı iş hayatında kariyer yapmak isteyen katılımcılarını 1-0 öne geçirmeye devam ediyor. 1-0 ...
Kategori: Eğitim

aç-kapa Yarışma İnteraktif Pazarlama Zirvesi ve Grand Interactive Awards

İnteraktif Pazarlama Zirvesi ve Grand Interactive Awards

Türkiye’nin interaktif pazarlama projelerini değerlendiren ilk ve tek yarışması Grand Interactive Awards (GIA) için başvurular 15 Ağustos tarihi...
Kategori: Yarışma

üyeler Üyelerimizden...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 148 (2 kayıtlı, 146 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul