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

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



  #1  
ישן 21-01-2005, 12:27
  Darakan Darakan אינו מחובר  
 
חבר מתאריך: 30.04.04
הודעות: 310
מה לעזאזל? בעיה ב-Script מאוד בסיסי.

זה Script מאוד בסיסי שבעבר הצלחתי לעשות אותו בעבר, אבל במקום לעבוד כשורה הוא מבצע דברים מוזרים. הוא קצת "מפורט" מידי כי חשבתי שאולי פיספסתי משהו בקוד הראשוני.

בכל מקרה, הסבר קצר. יש לי את העכבר, ויש לי MC בשם "creature" . היצור עוקב אחרי העכבר (ובו זמנית מבצע אנימציית הליכה - פריים 2 עד פריים 20) וכמובן מתהפך אם הכיוון תנועה שלו משתנה. במידה והיצור מגיע ל-X של העכבר, הוא נעצר ומתחיל לבצע אנימציה (פריים 21 של היצור).

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

הכיוון ההתחלתי הוא שמאלה, והיצור עוקב אחרי העכבר כראוי. אבל כשאני משנה כיוון ימינה, הוא מתחיל להתשגע ולהתהפך (כלומר מבצע את הפעולה מבלי להתחשב בתנאי שהצבתי). אותו דבר קורה לי עם העצירה. הוא פשוט תקוע על פריים 21 (ומשתמע מזה שהוא חוזר על הפעולה מבלי להתחשב בתנאי). בדקתי את הקוד, עבדתי עם Traces ולא הצלחתי למצוא את התקלה.

XM = _xmouse;
X = getProperty("creature", _x);
DIR = "LEFT";
if ((XM<=X+2) && (XM>=X-2)) {
ADIR = "STOP";
} else {
if (XM>X) {
setProperty("creature", _x, X+2);
ADIR = "RIGHT";
} else {
setProperty("creature", _x, X-2);
ADIR = "LEFT";
}
}
if (ADIR == DIR) {
ADIR = DIR;
} else {
if (((DIR == "LEFT") || (DIR == "RIGHT")) && (ADIR == "STOP")) {
creature.gotoAndPlay(21);
} else {
if (((DIR == "STOP") || (DIR == "LEFT")) && (ADIR == "RIGHT")) {
setProperty("creature", _xscale, -getProperty("creature", _xscale));
creature.gotoAndPlay(2);
} else {
if (((DIR == "STOP") || (DIR == "RIGHT")) && (ADIR == "LEFT")) {
setProperty("creature", _xscale, -getProperty("creature", _xscale));
creature.gotoAndPlay(2);
}
}
}
}
DIR = ADIR;



שוב, אני יודע שאפשר לפשט את הסקריפט, אבל אותה בעיה קרתה לי בדיוק כשהסקריפט היה מופשט, ולכן ניסיתי להרחיב אותו כדי שיהיו לי יותר אפשרויות לבדיקת מקור הבעיה - לא הצלחתי :\

אשמח לעזרה ולהכפשות של "וואי איזו טעות בסיסית" - אני פשוט לא מוצא אותה! ENLIGHT ME!
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 21-01-2005, 14:14
צלמית המשתמש של Rutasashi
  Rutasashi Rutasashi אינו מחובר  
 
חבר מתאריך: 20.10.04
הודעות: 1,341
לא קראתי את הקוד באופן מלא אבל מצאתי שגיאה שאמורה להביא לתוצאות שאמרת
בתגובה להודעה מספר 1 שנכתבה על ידי Darakan שמתחילה ב "מה לעזאזל? בעיה ב-Script מאוד בסיסי."

בהתחלה איתחלת את DIR ל "LEFT" אבל DIR אמור להיות הכיוון שהיה קודם (לפי מה שהבנתי) אז אתה אמול לעשות במקום הקוד הזה:
קוד:
DIR="LEFT";

לשים את זה
קוד:
if (DIR==undefined) { DIR="LEFT" }

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

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #11  
ישן 23-01-2005, 00:08
צלמית המשתמש של Rutasashi
  Rutasashi Rutasashi אינו מחובר  
 
חבר מתאריך: 20.10.04
הודעות: 1,341
CLASSים
בתגובה להודעה מספר 10 שנכתבה על ידי Darakan שמתחילה ב "אוי נו איזה אהבל אני :) בטח..."

CLASSים זה תיכנות יותר מתקדם בAS, ובAS המנגנון של בנייה ושימוש בכלאסים לא כזה נוח כמו בשפות אחרות, למרות שיש מקומות שזה יכול לעזור לך הרבה.

CLASSים זה הגדרה של משתנה חדש שאתה בונה, אבל לא סתם משתנה, משתנה מורכב, כמו לדוגמא MC, MC זה משתנה מורכב, יש לו PROPERTIES יש לו מטודות (פונקציות שלו) אפשר להצמיד לו פונקציות על EVENTים כמו onEnterFrame וכו'
אתה יכול לבנות כזה CLASS בעצמך, נגיד אתה רוצה לבנות CLASS שהוא יהיה יריות אז אתה שם בCLASS משתנה שיהיה נגיד כמות יריות שנותרה, פונקצייה שיורה יריה (היא גם מורידה אחד מהמשתנה של הכמות יריות נותרת ובודקת אם יש מספיק יריות בשביל לירות וגם מעתיקה למסך את היריה למקום שאתה מגדיר, אתה יכול להוסיף לו עוד רשימה של דברים שהוא יכול לפגוע בהם ולהצמיד פונקצייה למה יקרה כשהוא פוגע במשהו וכו' וכו'

יש לזה הרבה יותר שימושים בשפות תיכנות אחרות אבל גם בAS כדאי להשתמש בהם

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

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

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

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

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