Soru - Cevap Bölümü
/ Kategori: Animasyon
Merhabalar.
ActionScript ile bir butona tanımlama yapıp tıklandığında belirlediğim mc nin fade değeri ile oynamak istiyorum. Fade değeride easing ile motion olacak. (İnanılmaz derecede Türkçe karşıtı bir cümle oldu çok özür dilerim)
Yani butona tıklandığı zaman mc1 moviclibinin alfası 20 den 100 e artarak çıkacak.
Bir çok forumda kirupada baktım fakat bir türlü çözemedim.
Şimdiden teşekkürler.
Cevaplar
( Faydalı Cevapları Göster )
merhaba Arman
Comment ile kapattığın alanıda hesaba katarsak zaten yapmışsın istediğin şeyi. Sadece olayları birbirine nasıl bağlayacağın kalmış geriye. Yapmak istediğin sanırım şu :
1. buton üzerine gelinirse 2. onEnterFrame i başlat 3. onEnterFrame başlarsa mc in alpha değerini arttır yada azalt 4. onEnterFrame i denetle ve bitir. (pc kaynaklarını verimli kullanma standardı)
Sen onEnterFrame yi bir olay sonucuna bağlamadan ilk açılışta tetiklemişsin.
fadeIn ve fadeOut fonksiyonlarına onEnterFrame eklemen yeterli.
function fadeIn():Void
{
this.onEnterFrame = function() {
this._alpha += fadeAmount;
if(this._alpha==90)
{
this._alpha = 90;
delete this.onEnterFrame;
}
}
}
function fadeOut():Void
{
this.onEnterFrame = function() {
this._alpha -= fadeAmount;
if(this._alpha<=0)
{
this.gotoAndStop(this.newFrame);
this._alpha = 0;
this.onEnterFrame = fadeIn;
}
}
}
Bende sorun gözükmedi. Ama şunu söyleyeceğim. Script animasyonlarında mümkün olduğunca tween sınıflarını öneririm. Çünkü onEnterFrame ile durum kontrolü yapmak bazen çok güçleşiyor. Mesela
if(this._alpha==90)
kontrolü amount değerinin 10 olduğu durumlarda geçerli. Peki 11 olduğun ne olacak. E doğal olarak if(this._alpha>=90) kullanabilirsin ama bazen çok keskin durma noktaları yapmak isteyebilirsin. Bir de tween class ları ile değişik efekte animasyonlar yapabilirsin.
Web deki tween class ları :
Selamlar
Cevabınız için çok teşekkür ederim. Kod ile biraz oynayıp tam olarak istediğim şeyi elde ettim.
var fadeAmount:Number = 20;
mc1._alpha = 20;
mc2._alpha = 20;
mc3._alpha = 20;
mc4._alpha = 20;
mc1.onRollOver = fadeIn;
mc2.onRollOver = fadeIn;
mc3.onRollOver = fadeIn;
mc4.onRollOver = fadeIn;
mc1.onRollOut = fadeOut;
mc2.onRollOut = fadeOut;
mc3.onRollOut = fadeOut;
mc4.onRollOut = fadeOut;
function moveFrame():Void
{
var dir:Number = (Number(this._name=="fwd_btn")*2)-1;
var targetFrame:Number = mc._currentframe+dir;
if(targetFrame>0 && targetFrame<=mc._totalframes && mc._alpha==100)
{
mc.newFrame = targetFrame;
mc.onEnterFrame = fadeOut;
}
}
function fadeIn():Void
{
this.onEnterFrame = function() {
this._alpha += fadeAmount;
if(this._alpha==100)
{
this._alpha = 100;
delete this.onEnterFrame;
}
}
}
function fadeOut():Void
{
this.onEnterFrame = function() {
this._alpha -= fadeAmount;
if(this._alpha<=0)
{
this.gotoAndStop(this.newFrame);
this._alpha = 20;
}
}
}
Sahnede mc1 adında bir movieclip b1 b2 adındada 2 adet buton oldunu varsayalım biraz basit oldu ama geliştirile bilir.Umarım bahsettiğiniz şey böle bişey.
var alphahedef:Number = 20;
onEnterFrame = function(){
var alphadeger:Number = (alphahedef - mc1._alpha)*.3;
mc1._alpha += alphadeger;
}
b1.onPress = function(){
alphahedef = 100;
}
b2.onPress = function(){
alphahedef = 20;
}
Etkinlikler
Yarışma
5.İstanbul Animasyon ve Görsel Efekt Kısa Film Yarışması
5.İstanbul Animasyon ve Görsel Efekt Kısa Film Yarışması
5.İstanbul Uluslararası Animasyon Festivali, 24-30 Kasım 2008 tarihleri arasında gerçekleştirilecektir. Festival dahilinde gerçekleşen 5. İstanbul Ani...
Kategori:
Yarışma
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 608 (1 kayıtlı, 607 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız








Faydalı cevap
Problemimi bir nebzede olsun çözdüm. Fakat şu anki aşağıdaki kodlarda şöyle bir problem yaşıyorum. Oda alpha yı 10+10 olarak üzerine her gidişinde arttırabiliyorum. Yani istediğim motion olmadı.
Fakat eğer yukarıda kapattığım
tagları açarsam onEnterFrame olduğu için otomatik artıyor. Fakat benim istedğim butonda rollOver olması. Bunu nasıl çözebilirim?