02-06-2011, 13:27
|
|
|
|
חבר מתאריך: 21.09.05
הודעות: 5,321
|
|
אני אסביר לך מה הטעות שלך בקוד.
השורה הראשונה של הזיהוי לחיצה על מקש "1" בסדר גמור ועובדת.
יש לך טעות בשורה של השינוי טקסט בתיבת טקסט. אתה בעצם נותן פקודה של "+1" שהמחשב לא מבין.
גם אם תכתוב לו את השורה באופן הבא:
קוד:
_root.mytxt.text=+1;
הוא ירשום בהתחלה "0", אח"כ "01", אח"כ "011" וכך הלאה. הוא בעצם לא מבין שבתוך התיבה יש מספר. יש 2 אפשרויות לפתור את זה:
1. האהובה עליי והנכונה מבחינה תכנותית - להגדיר משתנה שהוא ייקרא pts (מלשון points) והוא יוגדר בתוך מספר. כל פעם שתרצה להעלות נקודות תוסיף לו +1 לערך שלו ואז תעדכן את mytext שיהיה שווב לו.
זה ייראה כך:
קוד:
var pts:Number = 0;
if (......)
{
pts = pts+1; //option a
pts += 1; //option b
pts++; //option c
_root.mytxt.text = pts;
}
2. אפשר להבהיר לו בשורה שהתיבת טקסט היא מספר. זה ייראה כך:
קוד:
_root.mytxt.text = int(_root.mytxt.text) + 1;
בשורה הבאה עשית את ה-if:
קוד:
if (_root.gp._currentframe == 20)
אתה בעצם אומר לו - אם המווי קליפ gp נמצא בפריים 20 (הכוונה בתוך במווי קליפ gp הטיימליין עומד בפריים 20. זה מצב לא אפשרי, כיוון ש-gp הוא כפתור והטיימליין שלו כולל 4 פריימים קבועים)
מה שאתה יכול לעשות -
1. לעשות מווי קליפ שבתוכו יהיה כל התזוזה של gp - כלומר שהטיימליין הראשי של הסרט שלך יהיה פריים בודד. לדוגמה נקרא למוויקליפ הזה שהמצאנו gp_includer. ואז השורה של ה-if תהיה:
קוד:
if (_root.gp_includer._currentframe == 20)
אגב, יהיה קשה לתפוס את פריים 20 במדויק. הייתי עושה בקוד "בין פריים 17 ל-20", לדוג'.
אם יש עוד שאלות אשמח לעזור,
בהצלחה,
נעם.
_____________________________________
בברכה, נעם בריקמן
|