21-07-2005, 18:59
|
|
|
|
חבר מתאריך: 10.10.04
הודעות: 2,319
|
|
אוקיי, הנה הדוגמה שהכנתי...
צריך לזכור שאין כלום על הבמה, רק מוביקליפ אחד בסיפרייה עם לינקייג'...
קוד:
_root.createEmptyMovieClip("container",0)
function randomNum(min,max)
{
rndNum=Math.round(Math.random()*(max-min)+min)
return rndNum
}
var mcNum=0
function createMC()
{
var speed=randomNum(10,20)
var rotation=randomNum(10,20)
snowflakeMC=container.attachMovie("snowflake","snowflake"+mcNum,mcNum)
var halfMc=snowflakeMC._width/2
snowflakeMC._x=randomNum(0+halfMc,550-halfMc)
snowflakeMC.onEnterFrame=function()
{
this._y+=speed
this._rotation+=rotation
}
mcNum++
if(mcNum>=100)
{
mcNum=0
}
}
x=setInterval(createMC,1000)
נלך דבר, דבר...
בהתחלה יצרתי מוביקליפ שיכיל את כל המוביקיליפים שנוצרים. אחרת הם היו "גונבים" עומקים של מוביקליפים אחרים שנמצאים בבמה הראשית ומחליפים אותם.
קראתי לו "container" ונתתי לו את העומק הכי גבוהה:
קוד:
_root.createEmptyMovieClip("container",getNextHighestDepth())
לאחר מכן יצרתי פונקציה בשם randomNum שתגריל ותחזיר לי מספר רנדומלי בין שני מספרים שאני אשלח לה (נשתמש בה מאוחר יותר)
בהמשך אתה יכול לראות שהגדרתי משתנה בשם mcNum.
המשתנה הזה יעזור לי בהמשך לתת שמות ועומקים יחודיים למוביקליפים שנוצרים.
אחריו אתה יכול לראות פונקציה נוספת, הפעם בשם createMC, מה שהפונקציה הזאת עושה זה פשוט ליצור את המוביקליפ ולתת לו את כל התכונות שלו, במקרה שלנו, סיבוב ומהירות.
זאת הפונקציה המרכזית.
בתוכה אתה יכול לראות שהגדרתי שני משתנים, speed וrotation, עם ערכים רנדומלים, אותם הגדרתי בעזרת הפונקציה randomNum. פשוט קראתי לפונקציה עם שני גבולות כדי שתגריל לי מספר בניהם ותכניס אותו לתוך המשתנים.
אחרי המשתנים נמצאת הפקודה attachMovie, הפקודה בעצם מעתיקה מוביקליפ מהסיפריה ומדביקה אותו במיקום שאגדיר לו. אתה יכול לראות איך השתמשתי במשתנה mcNum כדי לתת שם ועומק למוביקליפ החדש.
מכיוון שאסור שיהיו שני מוביקליפים עם אותו שם או עומק אני חייב להשתמש במשתנה שמתקדם בכל פעם, לצרף אותו לשם (snowFlake + mcNum) ולשים אותו בתור עומק...
לאחר מכן הגדרתי משתנה בשם halfMC.
לתוך המשתנה הכנסתי חצי מהרוחב של המוביקליפ כדי שאוכל להגדיר את איקס רנדומלי למוביקליפ בלי שיצא מגבולות המסך.
הבא בתור הוא ה enterframe שאותו הצמדתי למוביקליפ החדש.
אתה יכול לראות איך הוא מקדם את הY והrotation במשתנים שהגדרתי בהתחלה (speed וrotation)
אחריו בא הקידום של המשתנה mcNum והפעלת הפונקציה בכל שניה בעזרת הפקודה setInterval...
הנה מה שיצא :
https://2005-uploaded.fresh.co.il/2...21/59448329.swf
והנה קובץ המקור :
https://2005-uploaded.fresh.co.il/2...21/48055826.fla
בעיקרון את הrotation עשיתי לך בתור דוגמה שאפשר לשים עוד תכונות, אפילו שבמשחק שלך אתה לא צריך את זה...
_____________________________________
BugY
Animation & ActionScriptin
|