سوال: دکمه Mute با امکان fade in/out

flat_00

Member
من تو پروژم یک دکمه دارم که صدای آهنگ رو قطع میکنه
این هم کدش:
کد:
function setMute(vol){
    var sTransform:SoundTransform = new SoundTransform(1,0);
    sTransform.volume = vol;
    SoundMixer.soundTransform = sTransform;
}
var Mute:Boolean = false;
mutebutton.addEventListener (MouseEvent.CLICK,toggleMuteBtn);
function toggleMuteBtn(event:Event){
    if(Mute){
        Mute = false; setMute(1);
        mutte.gotoAndStop(1);
    }else{
        Mute = true;
        setMute(0);
        mutte.gotoAndStop(2);
    }
}
ولی من میخوام وقتی روی دکمه کلیک میشه صدا یواش یواش کم بشه و وقتی صدا قطع هست وقتی روش کلیک میشه یواش یواش زیاد بشه یعنی Fade in / Fade out بشه
به این قالب نگاه کنید تا منظورم رو بهتر متوجه بشید
کد:
http://www.templates-preview.com/free-templates/Easy-flash-templates/300076047/flash.swf
 

++Hadi++

Active Member
با TweenMax از سایت Greensock.com می تونین این کار رو انجام بدین:
PHP:
import com.greensock.TweenMax;

TweenMax.to(myTransforn,0.5,{volum:0,onUpdate:myFunction});

function myFunction():void
{
   SoundMixter.soundTransform=myTransform;
}
در واقع با tweener زمان رو بر حسب ثانیه (همون نیم یعنی در عرض نیم ثانیه) می دید تا در اون زمان مقدار مشخصه یا property هایی رو که تو کروشه می نویسید (نظم داخل کروشه مهم نیست) رو از مقادیر الانی به مقادیری که انتساب کردید برسونه و البته می تونین بهشون ease هم تعریف کنین.تو سمپلاش کامل هست.در ضمن تابع onUpdate هم در هر لحظه ای که تغییراتی رو حرکت سیستم انجام می شه ،تابعی که بهش نسبت دادین مثل یه تابع enter_frame اجرا می شه.
در نهایت soundMixer هم می تونه یه soubdChannel هم باشه.
موفق باشید..
 

flat_00

Member
ممنون آقا هادی ولی فکر کنم راه ساده تری هم باشه.
من تو این سایت رفتم خیلی سخته. هیچی متوجه نشدم.
با اکشن تنها نمیشه این کارو کرد؟
تو همه قالب های فلش دکمه قطع صدا به این شکل هست.
 

++Hadi++

Active Member
راه ساده ترش Enter_Frame هست.ولی شما از سایت greensock.com توابع رایگان Tweenmax رو برا اکشن 3 دانلود کنین .مطمئن باشید راحته.بعد با هموش روش به جواب می رسید.توابع TweenMax خیلی برا جامعه فلش کاران و فلکس کاران جهان خدمت کرده و امکانات زیادی رو در کد نویسی به شما می ده.مثلا برای اینکه شی a رو از نقطه الانی به x برابر 100 و در زمان 1 ثانیه با منحنی تغییرات Bounce ببرید کافیه بنویسید :
PHP:
import com.greensock.TweenMax;
import com.greensock.easing.*'
TweenMax.to(a,1,{x:100,ease:Bounce.easeOut});
البته باید یه فولدری به اسم com از توابع دانلود شده که داخلش یه فولدر به اسم greensock هست رو دقیقا بغل سورس فلشتون بزارید.
اگه در این به نتیجه برسید،دیگه معتاد TweenMax می شید...
موفق باشید...
 

جدیدترین ارسال ها

بالا