31-08-2005, 10:08
|
|
|
|
חבר מתאריך: 10.10.04
הודעות: 2,319
|
|
אוקיי, כמה דברים :)
בתגובה להודעה מספר 1 שנכתבה על ידי avivrf שמתחילה ב "בעיה בכפתור הפעל/בטל מוסיקה המלווה באנימציית אקוולייזר - דחוף!"
הבעיה הספציפית שלך היא ככל הנראה בפקודה הידועה לשמצה stopAllSounds
הפקודה הזאת מאוד קיצונית, כלומר, ברגע הפעלת אותה, עד שלא תגדירי זאת מחדש, לא יהיה סאונד בקובץ ה SWF הזה.
ובדרך שבה את טוענת את הסאונד שלך אין לך דרך להגדיר לסאונדים להתנגן שוב...
עוד טעות שמתי לב אליה בקובץ היא שאת טענת בכל לחיצה על on את הswf מחדש, מה שלא נכון לעשות, מכיוון שברשת, לSWF יקח זמן להטען.
יש קלאס שלם של סאונד המאפשר לבצע פעולות, ביניהם טעינת קבצי MP3 מבחוץ.
זה הולך ככה:
תחילה, הגדירי משתנה סאונד, אליו יטען קובץ הסאונד.
קוד:
var mySound = new Sound()
הקוד הולך לפריים הראשון
לאחר מכן, בצעי את פעולת הטעינה, בפעולה משתמשים בפקודה loadSound() עלמנת לטעון את הסאונד אלתוך המשתנה שהגדרנו קודם לכן.
קוד:
mySound.loadSound("sound.mp3")
sound.mp3, וודאי הבנת, מייצג את שם קובץ הסאונד שאת מתכוונת לטעון...
גם הקוד הזה הולך לפריים הראשון
לכפתורים את בסך הכל צריכה, פקודה שמפעילה את משתנה הסאונד ופקודה שמפסיקה אותו.
אך זה לא הכל, את צריכה גם לדעת מתי הסאונד מתנגן ומתי הוא מופסק עלמנת שתוכלי לדאוג שהפקודות לא תתבצע אחת על גבי השניה.
למשל, אם הסאונד כבר מתנגן, ואת לוחצת שוב על on, הסאונד יפעל מחדש.
לכן, מה שאת צריכה זה בסך הכל משתנה aשיכיל את המידע הזה...
אז הוסיפי את הגדרת המשתנה הזאת גם כן לפריים הראשון :
בכפתור ה on שימי את הקוד הבא:
קוד:
on(press)
{
if(_root.playing==false)
{
_root.mySound.start(0,9999)
_root.playing=true
}
}
עכשיו, שימי לב לכמה דברים :
if, זה משפט תנאי, ומה שני שואל כאן זה : אם המשתנה playing שווה לfalse
נגן את הסאונד והגדר את המשתנה כ true.
כך אני יודע שהסאונד אכן מתנגן עכשיו ולכן לא תתאפשר לחיצה נוספת (שיניתי את ערך המשתנה לכן שהתנאי כבר לא נכון והוא לא יתבצע).
אם תשימי לב גם, בכל התחלת "משפט" יש את הביטוי root_, זה בעצם מאפשר לקוד לדעת שהמשתנים מוגדרים בבמה הראשית (בפריים הראשון) ולא הכפתור עצמו.
דבר אחרון, שימי לב למספר 9999, זה נועד כדי להגדיר לסאונד להתנגן 9999 פעמים (כלומר "אינסוף")
לכפתור הoff תני את הקוד הזה, הקוד הוא בעצם הפוך מהקוד הראשון :
קוד:
on(press)
{
if(_root.playing==true)
{
_root.mySound.stop()
_root.playing=false
}
}
זהו בעצם...
_____________________________________
BugY
Animation & ActionScriptin
נערך לאחרונה ע"י BugY בתאריך 31-08-2005 בשעה 10:11.
|