לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #5  
ישן 25-07-2005, 16:52
צלמית המשתמש של BugY
  BugY BugY אינו מחובר  
 
חבר מתאריך: 09.10.04
הודעות: 2,319
אמממ
בתגובה להודעה מספר 3 שנכתבה על ידי יגואר1 שמתחילה ב "אני לא מוצא."

לא נראה לי שהבנת את for.
זה לא סתם סידרה של אותיות ומספרים, יש היגיון מאחורי זה. ואני הולך להסביר לך אותו אם תרצה או לא


אוקי, הנה תבנית בסיסית של for
קוד:
for(init; condition; next) { statement(s); }


המילה הראשונה (init) מייצגת את אתחול המשתנה (כלומר הגדרת המשתנה).
בדרך כלל משתמשים במשתנה בעל אות אחת כדי לא "להכביד" על הפקודה ועלמנת להקל על הקריאה.

המילה השניה (condition) מיצגת את את התנאי שלפיו תפעל הלולאה.
תנאי הלולאה שונה במקצת מתנאי מסוג if, מכיוון שתנאי מסוג זה מתאפין בעצם בצורת ההתניה הבאה :
ציטוט:
אם מתבצע דבר כזה, פעל כך


ואילו תנאי הלולאה מתבצע בצורה כזאת :

ציטוט:
כל עוד התנאי הזה מתבצע, פעל כך


*קצת קשה להבין את זה לפני שממש משתמשים זה.

המילה האחרונה (next) מיצגת את גודל או צורת ההתקדמות של המשתנה.
כלומר בכל פעם שהלולאה מסיימת את הפעולה שבתוך הסוגריים המסולסלים היוא עוברת לקידום המשתנה(ראה תמונה)

צורת הפעולה של לולאה מוזרה ושונה.
הנה ,תמונה שתסביר לך את:
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה



  • תחילה מתבצעת בדיקת הגדרת המשתנה, הבדיקה מתבצעת פעם אחת בלבד.
  • לאחר מכן נבדק התנאי, כל עוד התנאי מתבצע הלולאה תמשיך.
  • אם התנאי אכן מתבצע (כלומר, נכון) הלולאה תבצע את הפעולה שנמצאת בסוגריים המסוסלים.(במקרה שלנו טרייס ל i, התוצאה כמובן תהיה: 1)
  • כאשר הלולאה סיימה את הפעולה היא תעבור לקידם המשתנה, במקרה שלנו קידום באחד.
  • לאחר מכן בחזרה לתנאי, אם הוא עדיין מתבצע הלולאה תמשיך ותכנס שוב לסוגריים המסולסלים. וכך עד שהתנאי יהיה שגוי, כלומר i יהיה גדול מ 10.
אני חושב שאתה יכול לנחש מה יקרה כשאר תפעיל את הלולאה הנ"ל. נכון תקבל בתיבת הoutput
דבר כזה :

קוד:
1 2 3 4 5 6 7 8 9 10



בוא נעבור לבעיה הספציפית שלך.
מה שאתה צריך לעשות זה פשוט לחבר את המספר המתקבל מהמשתנה i עם שם הMC (במקרה שלך wall)

אז הקוד שלך בעצם כמעט נכון, הבעיה היא בהתניה.
קוד:
for (h=0; h<=4; h++) { if (_root.bong.hitTest(_root["wall"+h])) _root.gotoAndPlay(1); }


עכשיו, אתה תקבל בדיקת hitTest מקיר בשם wall0 עד קיר בשם wall4.
מקווה שהבנת
בהצלחה

יוחאי.
_____________________________________
BugYתמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
Animation & ActionScriptin



נערך לאחרונה ע"י BugY בתאריך 25-07-2005 בשעה 17:00.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #15  
ישן 25-07-2005, 17:54
צלמית המשתמש של BugY
  BugY BugY אינו מחובר  
 
חבר מתאריך: 09.10.04
הודעות: 2,319
אוקיי.
בתגובה להודעה מספר 14 שנכתבה על ידי יגואר1 שמתחילה ב "תודה רבה Bugy על ההסבר, הסברת..."

אתה צריך לשים את הבדיקה ב enterframe או בפונקציה עם אינרבל, כמו שאתה עושה עם בדיקת hitTest רגילה.
הרי אתה רוצה שכל הזמן תתבצע הבדיקה על 4 הקירות.
כשאתה שם את הלולאה בלי enterframe הבדיקה מתבצעת רק פעם אחת כשהסרט נטען.

קוד:
bong.onEnterFrame=function() { for (h=1; h<=4; h++) { if (_root.bong.hitTest(_root["wall"+h])) { trace("its working"); _root.gotoAndPlay(1); } } }


עוד משהו מוזר שראיתי בFLA שלך זה ששכחת להפוך את הקירות למוביקליפים ולתת להם שמות (wall1, wall2, wall3, wall4)
ולכדור שלך שכחת לתת את השם "bong".

גם לא הבנתי את הפעולה שתתבצע כאשר מתבצעת פגיעה, gotoAndPlay(1) ?
הרי יש לך רק פריים אחד! בקיצור לא יקרה כלום
_____________________________________
BugYתמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
Animation & ActionScriptin



נערך לאחרונה ע"י BugY בתאריך 25-07-2005 בשעה 17:57.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 16:31

הדף נוצר ב 0.07 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר