30-08-2006, 00:16
|
|
|
חבר מתאריך: 08.10.04
הודעות: 559
|
|
אוקיי אז הנה פירוט מלא...
בתוך האויב - העיגול האדום, ישנו מובי קליפ שנקרא 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
עכשיו אחרי כזאת השקעה, אתם לא חושבים שמגיעה לי קצת עזרה...?
מקווה לעזרה....
|