PDA

Просмотр полной версии : вопрос по циклу N2


igrik
28.12.2003, 14:50
Вопрос: если есть три клипа (main, clip1, clip2), то чтобы main понял, с кем он столкнулся, то :

onClipEvent(enterFrame){
for (i=1; i<4; i++) {
if (this.hitTest(_root["clip"+i])) {
trace("x");
}
}
}

А чтобы, например, clip1 понял с кем он столкнулся этот скрипт не поможет(он поймёт строку if (this.hitTest(_root["clip"+i])) { не правильно, ведь получается, что clip1 сталкивается с clip1). Как мне быть? :confused:

opex
28.12.2003, 15:11
if (main.hitTest(_root["clip"+i])) {

igrik
28.12.2003, 15:20
opex, ты не понял. Как сделать, чтобы main понял с кем он столкнулся я знаю. А clip1 с clip2?

WD`
28.12.2003, 17:40
вариант как можно сравнивать имена.
наведи на квадрат и посмотри что будет трейситься.

Штрек
28.12.2003, 19:39
onClipEvent (enterFrame) {
for (i=1; i<3; i++) {
if (this.hitTest(_root["clip"+i])) {
trace(_root["clip"+i]._name);
}
}
}
ЗЫ.Если клипа - два, то почему цикл для трёх?
Вставь напр. в клип main вот это
onClipEvent (mouseDown) {
this.startDrag();
}
onClipEvent (mouseUp) {
this.stopDrag();
}
onClipEvent (enterFrame) {
for (i=1; i<3; i++) {
if (this.hitTest(_root["clip"+i])) {
_root["clip"+i]._alpha-=2;
}
}
}
И глянь на результат.
Дальше в том же духе, доработаешь до того
чего тебе надо.

igrik
28.12.2003, 20:41
ЗЫ.Если клипа - два, то почему цикл для трёх?
i<3 -- цикл для двух! Если бы i<4 или i<=3, то три

Штрек
28.12.2003, 22:31
Оригинал написал(а) igrik

i<3 -- цикл для двух! Если бы i<4 или i<=3, то три
Ну спасибо поправил.
Я и сделал цикл для двух, а наверху для трёх. :rolleyes:

igrik
28.12.2003, 23:50
for (i=1; i<4; i++) {
if (this.hitTest(_root["clip"+i] and _root["clip"+i]._name!=_name)) {
trace("yj");
}
}
Вот пришлось самому догадаться, а то народ видимо не понял меня... :( НО всё в порядке, всем спасибо за помощь. :p

WD`
29.12.2003, 00:06
народ тебя понял, а вот понял ли ты его?
смотри мой ответ и ответ Штрек'a ;)