Димчик
12.04.2010, 17:59
Доброго времени суток
зная Ваш авторитет в области программирования во Flash, хочу задать один вопрос. У меня всегда синтаксис хромал ((
В общем, вот какое дело. На главном поле главный герой, перемещается мышью. Кроме того, есть, допустим, 11 клипов, при соприкосновении с которыми перемещается в определенный кадр.
Все эти клипы назову hit1,hit2,...,hit11. А инстанс нэйм главного героя неважно (обращаемся ко всему из его клипа).
В чем проблема. Все работает отлично, т.е. и hitTest, и перемещение, и другие-другие задумки. Но хотелось бы, ввиду значительного сокращения программы, один раз написать код, и чтобы для всех клипов работал. Допустим, я пишу:
onClipEvent (enterFrame) {
if (this.hitTest(_root.hit1)) {
_root.gotoAndPlay('konec'); //konec - имя кадра.
}
this._x = _root._xmouse;
this._y = _root._ymouse;
}
Этот код идеально работает для соприкосновения героя и клипа hit1. НО! Т.к. есть hit2,hit3, ... , hit 11, то придется писать этот же код для каждого из них. Что не хотелось бы.
Попробовал написать так:
onClipEvent (load) {
i =1; i <= 11;
}
onClipEvent (enterFrame) {
if (this.hitTest(_root.['hit'+i])) {
_root.gotoAndPlay('konec'); //konec - имя кадра.
}
this._x = _root._xmouse;
this._y = _root._ymouse;
}
При проверке выводит, что он не знает, что за хрень после _root ( в if (this.hitTest(_root.['hit'+i])) )
Помогите, пожалуйста, как нужно написать. Заранее благодарен.
зная Ваш авторитет в области программирования во Flash, хочу задать один вопрос. У меня всегда синтаксис хромал ((
В общем, вот какое дело. На главном поле главный герой, перемещается мышью. Кроме того, есть, допустим, 11 клипов, при соприкосновении с которыми перемещается в определенный кадр.
Все эти клипы назову hit1,hit2,...,hit11. А инстанс нэйм главного героя неважно (обращаемся ко всему из его клипа).
В чем проблема. Все работает отлично, т.е. и hitTest, и перемещение, и другие-другие задумки. Но хотелось бы, ввиду значительного сокращения программы, один раз написать код, и чтобы для всех клипов работал. Допустим, я пишу:
onClipEvent (enterFrame) {
if (this.hitTest(_root.hit1)) {
_root.gotoAndPlay('konec'); //konec - имя кадра.
}
this._x = _root._xmouse;
this._y = _root._ymouse;
}
Этот код идеально работает для соприкосновения героя и клипа hit1. НО! Т.к. есть hit2,hit3, ... , hit 11, то придется писать этот же код для каждого из них. Что не хотелось бы.
Попробовал написать так:
onClipEvent (load) {
i =1; i <= 11;
}
onClipEvent (enterFrame) {
if (this.hitTest(_root.['hit'+i])) {
_root.gotoAndPlay('konec'); //konec - имя кадра.
}
this._x = _root._xmouse;
this._y = _root._ymouse;
}
При проверке выводит, что он не знает, что за хрень после _root ( в if (this.hitTest(_root.['hit'+i])) )
Помогите, пожалуйста, как нужно написать. Заранее благодарен.