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

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



  #5  
ישן 24-08-2006, 02:47
  Justniv Justniv אינו מחובר  
 
חבר מתאריך: 08.10.04
הודעות: 559
בתגובה להודעה מספר 4 שנכתבה על ידי בן אור שמתחילה ב "רעיון נחמד למשחק"

-אל תדאג אני אמחוק אוייבים בשלב מאוחר יותר
-איך אני יכול לעבוד על כל אוייב בנפרד? אני עושה כמה אויביים אותו דבר, זה יהיה מיותר לכתוב את אותו קוד עבור כל אוייב בנפרד - תסביר את עצמך כי לא ממש הבנתי
-התייחסתי למה שאמרת והגדרתי num בפריים הראשון
-ואני לא מבין מה מבולגן בקוד שלי, איך אפשר לרשום יותר מסודר מזה??

אוקיי, פתרתי את רב הבעיות בכך שבמקום לרשום
קוד:
_root.enemy.enemy2._x

השתמשתי פשוט ב- parent_ , עכשיו הבעיה היחדיה שנשארה (בינתיים), זה שהגיבור יוריד חיים לאויב, וזה בגלל שאת הקוד שמתי באחד מכל ארבעת הפריימים של האנימציה שהגיבור מניף את החרב - כלומר שמתי את הקוד באנימציה של ההתקפה של הגיבור. הבעיה היא, שאני לא יודע איך להתייחס לאוייבים החדשים שנוצרו....
זה הקוד שנימצא באנימציית תקיפה של הגיבור:
קוד:
if(this.hitTest(_root.enemy)){ _root.enemy.enemy2.enemy_life_scale._xscale-=50 } if(_root.enemy.enemy2.enemy_life_scale._xscale<0){ _root.enemy.enemy2.enemy_life_scale._xscale=0 }

וזה הקוד שנימצא בכפתור שמצרף אוייבים:
קוד:
on(press){ attachMovie("enemy",_root.num,getNextHighestDepth(), {_x:200,_y:270}) _root.num++ }



תודה לעוזרים וגם לאלה שניסו לעזור וטרחו להוריד את הקובץ
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 25-08-2006, 14:59
  Costa Costa אינו מחובר  
 
חבר מתאריך: 03.07.06
הודעות: 195
אמממ נחמד, הינה אולי רעיון בשבילך
בתגובה להודעה מספר 1 שנכתבה על ידי Justniv שמתחילה ב "בעיה עם attachMovie"

אני וחברים שלי עובדים על משחק אסטרטגיה, והאוייבים שלנו דיי חכמים,
אם יש משהו שהקדשנו אליו כ"כ הרבה זמן זה האוייבים , עמלנו קשות על הAI שלהם.
והם עדיין לא הכי הכי מבריקים שיש, אני עוד שוקל לפתח אותם.
אצלי כרגע יש 2 סוגי אוייב אלה שעומדים ושומרים, ואלה שמפטרלים.
כאשר הם מבחינים בשחקן הגיבור הם פשוט מתחילים לתקוף, אבל המסובך אצלנו הוא שהאויבים
כיביכול "תלת" ממדיים, והם נעים ל8 כיוונים על צירם! ככה שכל כיוון (DIR) קורא לאנימצייה המתאימה,
אם זה בתנועה או בעמידה... קיצר כאב ראש אחד. ואצלי כרגע 2 האייבים נמצאים על הבמה,
וכל השאר משוכפלים מהם, אולי בהמשך אני אעשה את כולם כATTACH מהספרייה, לא יודע. אני עצמי
מבולבל מאוד מזה, אבל מקווה שעזרתי.
בהצלחה.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #21  
ישן 30-08-2006, 00:16
  Justniv Justniv אינו מחובר  
 
חבר מתאריך: 08.10.04
הודעות: 559
אוקיי אז הנה פירוט מלא...
בתגובה להודעה מספר 20 שנכתבה על ידי בן אור שמתחילה ב "קודם תעזור לעצמך"

בתוך האויב - העיגול האדום, ישנו מובי קליפ שנקרא enemy2, עליו שמתי את הקוד הבא:
קוד:
onClipEvent(enterFrame){ onRollOver= function(){ _root.mouse.gotoAndStop(2) } onRollOut= function(){ _root.mouse.gotoAndStop(1) } ///////////////////////// Hero Attack if(_root.hero.hero_attack_area.hitTest(_parent)){ _root.hero.hero_hand.play(); } if(this.enemy_life_scale._xscale==0){ _root.hero.hero_hand.gotoAndStop(1) } ///////////////////////// Enemy Attack if(this.hitTest(_root.hero.hero_attack_area)){ if(!_root.hero.hero_life_scale._xscale==0){ this.play(); } } ///////////////////////// Enemy Movments if(this.hitTest(_root.hero.hero_hit_area)){ if(_parent._x>_root.hero._x){ _parent._x-= _root.enemy_speed } if(_parent._x<_root.hero._x){ _parent._x+= _root.enemy_speed } if(_parent._y<_root.hero._y){ _parent._y+= _root.enemy_speed } if(_parent._y>_root.hero._y){ _parent._y-= _root.enemy_speed } } ///////////////// Vars for Dynamic text boxs enemy_x= _root.enemy._x hero_x= _root.hero._x }

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

אוקיי, נעבור MC.
עכשיו הקוד שנמצא על הגיבור (האביר):
קוד:
onClipEvent (enterFrame) { ///////// Dynamic text box vars a=_x ///////////////////////////////// /////////////// X Movements if( _root.a-_root.hero._x>5){ _root.hero._x+= _root.hero_speed this._xscale= 100 } if(_root.a-_root.hero._x<-5){ _root.hero._x-= _root.hero_speed this._xscale= -100 } /////////////// Y Movements if(_root.b-_root.hero._y<5){ _root.hero._y-= _root.hero_speed } if(_root.b-_root.hero._y>5){ _root.hero._y+= _root.hero_speed } }

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


בתוך הגיבור ישנו MC שנקרא: hero_hand, ובתוכו פריימים של האנימציה של הנפת היד לתקוף.
בפריים האחרון של התקיפה (כלומר הפריים שבו הגיבור פוגע באויב) שמתי קוד שיוריד חיים לאויב. הנה הקוד:
קוד:
if(this.hitTest(_root.enemy)){ _root.enemy.enemy2.enemy_life_scale._xscale-=50 } if(_root.enemy.enemy2.enemy_life_scale._xscale<0){ _root.enemy.enemy2.enemy_life_scale._xscale=0 }


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

הקוד על הכפתור (הכפתור הסגול הקטן):
קוד:
on(press){ attachMovie("enemy",_root.num,getNextHighestDepth(), {_x:200,_y:270}) _root.num++ }


והקוד האחרון, הקוד בפריים:
קוד:
var mouseLis:Object= new Object mouseLis.onMouseDown= function(){ var oLastCords:Object= {x:_root._xmouse,y:_root._ymouse} a= oLastCords.x b= oLastCords.y } Mouse.addListener(mouseLis) hero_speed= 5 enemy_speed= 3 num= 0





עכשיו אחרי כזאת השקעה, אתם לא חושבים שמגיעה לי קצת עזרה...?
מקווה לעזרה....
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

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

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

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