מה עושה הקוד הבא

jehenam

New member
מה עושה הקוד הבא

for (var i:int = 0; i < 20; i++) {
var pickFruit = fruitArray[int(Math.random() * fruitArray.length)];
var fruit:MovieClip = new pickFruit();
addChild(fruit);
}


השאלה שלי היא אם אני יוצר משתנה בשם pickFruit אז מה זה אומר new pickFruit() - הרי pickFruit הוא לא class.
 

nimrod117

New member
צריך לראות את שאר הקוד אבל כנראה

כנראה שבתוך המערך fruitArray יש כל מיני classes של MC. לדוגמא אם יש לי את המחלקות:
banana
apple
orange
אז המערך fruitArray יהיה (banana,apple,orange). אחר כך ב-pickFruit הוא בעצם מגריל אחת מהמחלקות ואז הוא יכול לקבל או banana או apple או orange.
ו
 

jehenam

New member
השאלה שלי היתה לגבי זה שמתשמשים ב-new על משתנ

השאלה שלי היתה לגבי החלק הזה:
var fruit:MovieClip = new pickFruit();


מה זה אומר פקדות new על משתנה?
 

nimrod117

New member
זה מה שהתכוונתי

אם יש לך MC כלשהו שה-class שלו היא banana למשל אז:
var fruit = new banana();

יבעצם יוצר MC חדש במשתנה fruit. אח"כ ניתן להוסיף אותו לבמה:
addChild(fruit);

ולשנות לו ערכים לדוגמה:
fruit.x = 200;
 

jehenam

New member
הבנתי, תודה.

מעט הניסיון התכנותי שיש לי הוא של C++ ולא הכרתי מושג כזה של מערך של קלאסים.
 

nimrod117

New member
זה לא נפוץ

זה לא נפוץ ובד"כ לא עושים את זה בדרך הזאת אבל זה אפשרי
 
למעלה