17-09-2005, 16:59
|
|
|
חבר מתאריך: 03.09.05
הודעות: 2,857
|
|
הנה חלק ממדריך מקיף לסאונד שכבתי פעם.
(הכנסתי את הפקודות לתגי code כדי להקל על הקריאה)
אני מזהיר מראש, המדריך עוד לא עבר ליטוש (), הניסוח עוד לא ממש ברור אבל... תנסה
הגדרת הסליידר.
דבר ראשון ציירו את הסליידר, מלבן ארוך יספיק, הפכו אותו למוביקליפ, ודאו שנקודת הרג'יסטריישן שלו ממוקמת בקצהו התחתון והיכנסו למצב העריכה שלו,
שם צרו את כפתור הגרירה שלכם, אשר באמצעותו תוכלו לשלוט על הווליום, הפכו גם אותו למוביקליפ, מקמו גם את נקודת הרג'יסטריישן שלו בקצהו התחתון ושימו אותו בחלק התחתון של הסליידר.
לכפתור תתנו את האינסטס "btn_mc" ולסליידר slider_mc.
הגדרת כפתור הגרירה
.
נעשה זאת בעזרת הפקודה startDrag.
בחרו בפריים הראשון של הבמה הראשית, פתחו את פאנל האקשן (F9) וכתבו את הקוד הבא :
קוד:
_root.slider_mc.btn_mc.onPress=function()
{
startDrag(this,false,0,(-_parent.slider_mc._height+this._height),0,0);
}
הסבר:
דבר ראשון הגדרתי לו פונקציה המתבצעת בלחיצה.
בפונקציה מתבצעת פקודת startDrag.אני אסביר את פעולתה :
(משמאל לימין, הערכים מופרדים בפסיקים)
תחילה הגדרתי לפקודה את האובייקט הנגרר, הגדרתי this מפני שהפקודה נמצאת בתוך פונקציה המתייחסת לכפתור.
לאחר מכן הגדרתי false , מפני שאנו רוצים שלא משנה היכן נלחץ על הכפתור, שם ישאר העכבר.
אז אני נגדיר את הקורדינטות המגבילות את תנועת הכפתור.
בתנועה לשמאל הגדרתי 0, בתנועה כלפי מעלה הגדרתי את אורך הסליידר פחות אורך הכפתור בכדי שהוא לא יצא בקצה. בתנועה לימין 0, ובתנועה למטה גם 0.
מתחת לקוד הזה הוסיפו עוד פונקציה הקובעות שבעזיבת העכבר הכפתור ישתחרר:
קוד:
_root.slider_mc.btn_mc.onRelease=_root.slider_mc.b tn_mc.onReleaseOutside=function()
{
stopDrag()
}
בדקו את הסרט, אם עבדת נכון הכפתור אמור להיגרר בצורה כזאת (מתוך אימונים ישנים שלי) :http://planet.nana.co.il/foxybrain/soundcontrolMX2.swf
לא עובד? תחזור אחורה ותנסה שוב. עובד? בוא נמשיך.
הגדרת הווליום
הפקודה setVolume מקבלת ערכים בין 0 ל100 ולכן נצטרך להמיר גם את הערכים המתקבלים מהY של הכפתור לאחוזים.
אז מתחת לסקריפטים הקודמים הגדירו את המשתנה אשר יקבל את האחוזים:
ומתחתיו כתבו את הפונקציה הבאה :
קוד:
_root.slider_mc.onEnterFrame=function()
{
_volume = Math.abs(Math.round(_root.slider_mc.btn_mc._y/(_root.slider_mc._height-_root.slider_mc.btn_mc._height)*100));
_root.mySoundVar.setVolume(_volume);
}
הסבר :
הפונקציה בודקת בכל זמן נתון את האחוז ששווה הy של הכפתור מתוך אורך הסליידר ומכניסה אותו אלתוך משתנה הווליום.
לאחר מכן משתמשים בפקודה setVolume על משתנה הסאונד עם הערכים המתקבלים ממשתנה הווליום.
זה הכל בעצם.
_____________________________________
|