View Single Post
ישן 19-11-05, 03:15   # 1
mot
חבר פורום
 
mot's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 36
הודעות: 151

mot לא מחובר  

מדריך - יציאה וכניסה של מוזיקה בפלאש בצורה חלקה

אין לפרסם בלי קרדיט

FLA SWF

קודם כל נסביר מה בעצם עושים-
בעת לחיצה על הכפתור השמאלי המוזיקה נעלמת באיטיות ע"י הנמכת הווליום
בעת לחיצה על הכפתור הימני המוזיקה חוזרת לווליום 100 באיטיות ע"י הגברת הווליום

קודם כל להתחלה
ייבאו לספריה (ctrl+l) סאונד (ctrl+r)
לחצו על הסאונד שלכם בספריה עם הכפתור הימני ובחרו ב linkage
סמנו את התיבה export to action script ובתיבת הטקסט מעל כתבו sound

עכשיו חזרו לבמה ולחצו עליה בכל מקום
הנה הקוד שיש לשים בבמה
PHP קוד:
snd=new Sound();
snd.attachSound("sound"); 
snd.start(0,10000);
vol=100;
c=5
עכשיו נסביר את הקוד אחד לאחד
PHP קוד:
snd=new Sound(); 
מגדירים לפלאש שהאוביקט snd הוא אוביקט סאונד
PHP קוד:
snd.attachSound("sound"); 
מכניסים לאוביקט snd את הסאונד שייבאנו לספריה
PHP קוד:
snd.start(0,10000); 
אומרים לsnd להתחיל לנגן מנקודת האפס שלו, 10000 פעמים (על מנת לשמור על לופ)
PHP קוד:
vol=100
מגדירים למשתנה vol את הערך 100, המשתנה הזה ישמש לנו כווליום של הסאונד אז להתחלה הוא יהיה 100
PHP קוד:
c=5
המשתנה C מקבל 5, נשתמש במשתנה זה כמשתנה הקפיצות בסאונד (יש לשים בו מספר שמתחלק ב100)

הנה הקוד של הכפתור השמאלי
PHP קוד:
on (release) {
    
vol _root.snd.getVolume();
    
_root.mc.onEnterFrame = function() { 
    if (
_root.snd.getVolume() > 0) {
        
vol=vol-c;
         
_root.snd.setVolume(vol);
    }
    if (
_root.snd.getVolume() == 0)
    
delete _root.mc.onenterframe();
    }

להסבר
PHP קוד:
on (release) { 
ברגע שהכפתור נלחץ ונעזב הלחצן בצע
PHP קוד:
    vol _root.snd.getVolume(); 
משתנה הווליום מקבל את הווליום הנוכחי
PHP קוד:
    _root.mc.onEnterFrame = function() { 
על מנת ליצור מחזוריות בעת כניסה לפריים במוביקליפ MC בצע
PHP קוד:
   if (_root.snd.getVolume() > 0) { 
        
vol=vol-c
         
_root.snd.setVolume(vol); 
    } 
אם הווליום הנוכחי גבוה מ-0, הפחת ממשתנה הווליום 5 (C)
אחרי ההפחתה, כוון את הווליום הנוכחי של הסאונד למספר שיש כרגע בvol
PHP קוד:
    if (_root.snd.getVolume() == 0
    
delete _root.mc.onenterframe(); 
    } 
אם הווליום הנוכחי הוא 0, הפסק לחזור על הפעולות

אותו דבר בכפתור הימני
PHP קוד:
on (release) {
    
vol _root.snd.getVolume();
    
_root.mc.onEnterFrame = function() { 
    if (
_root.snd.getVolume() < 100) {
        
vol=vol+c;
         
_root.snd.setVolume(vol);
    }
    if (
_root.snd.getVolume() == 100)
    
delete _root.mc.onenterframe();
    }

רק שכאן מגבירים את הווליום ב-5 ועושים זאת אם הווליום קטן מ-100
ואם הווליום שווה ל-100 מפסיקים את הפעולה

זה הכול
קצת חפרתי מצטער מקווה שהכל מובן
__________________
מוטי.
  Reply With Quote