Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Проблема с Муви Клипами :(
Flash Zone Forum > Macromedia Flash > Общие вопросы
HaWK
Я привязал Муви Клип к курсору путём кода:
Код
startDrag("mc1",true);

Также я создал другой муви клип (Пусть Первый МК будет называться "Муви Клип 1", а второй "Муви Клип 2").
Я захотел сделать так, чтобы когда Первый Муви Клип, привязанный к курсору касался второго, в первом МК включился
определённый кадр. НО ЭТОГО НЕ ПРОИСХОДИТ, что не так?
Вот Код:
Код
if (mc1.hitTest(mc2)) {
    mc1.gotoAndPlay(2);
}

Помогите пожаоуйста, я уже не знаю что делать! MUSTLIVE!!!! SOS!!
MustLive
Цитата
Помогите пожаоуйста, я уже не знаю что делать! MUSTLIVE!!!! SOS!!

HaWK

Код с hitTest-ом у тебя правильный. Только вот где ты его установил (блок if), вот в чём вопрос - исходя из этого он и будет работать. Тебе нужно его установить таким образом, чтобы проверка срабатывала постоянно, например с частотой смены кадров, что делается путём использования onEnterFrame (о чём уже многократно писалось на форуме).

Т.е. если ты просто указал данный код в кадре, то он лишь раз сработает (выполнится проверка) и всё. И в дальнейшем, когда произойдёт само действие, код проверки уже не выполниться. А если поставить его на onEnterFrame, то проверка будет выполнятся постоянно (с частотой fps флешки).
HaWK
MustLive, я сёдня целый день бился над этим! Ни чё не понимаю! Куда этот чёртов onEnterFrame вставлять? Я его и перед if ставил, и за место if...
Вообщем полный ступор! В Коде ошибок нет, но всё равно не срабатывает! MustLive пожалуйста выложи правильный код, буду очень благодарен.
MustLive
Цитата
MustLive, я сёдня целый день бился над этим! Ни чё не понимаю! Куда этот чёртов onEnterFrame вставлять?

HaWK

Я специально не стал сразу тебе код писать, чтобы ты с одной стороны попытался сам разобраться (название метода onEnterFrame у тебя есть, осталось лишь в хелпе о нём почитать). А с другой стороны, если самому разобраться не получилось, чтобы ты не поленился на форуме поискать, т.к. тема использование onEnterFrame уже рассматривалась.

Вставлять код с onEnterFrame нужно в кадр.

AS код будет следующим:
Код
_root.onEnterFrame = function () {
    if (mc1.hitTest(mc2)) {
        mc1.gotoAndPlay(2);
    }
}


Но замечу, что тебе, во-первых, нужно остановить изначально mc1 (чтобы он не мигал различными кадрами). Во-вторых, тебе нужно перейти на второй кадр mc1 и остановится (чтобы он не начал мигать). А в-третьих, стоит сделать возвращение к первому кадру, когда mc1 больше не пересекается с mc2 (если это соответствует задаче).

Вот итоговый код:
Код
_root.mc1.stop();
startDrag("mc1",true);
_root.onEnterFrame = function () {
    if (mc1.hitTest(mc2)) {
        mc1.gotoAndStop(2);
    }
    else {
        mc1.gotoAndStop(1);
    }
}
skynet007
Цитата(HaWK @ 10.07.2009 - 21:06) *
Я привязал Муви Клип к курсору путём кода:
Код
startDrag("mc1",true);

Также я создал другой муви клип (Пусть Первый МК будет называться "Муви Клип 1", а второй "Муви Клип 2").
Я захотел сделать так, чтобы когда Первый Муви Клип, привязанный к курсору касался второго, в первом МК включился
определённый кадр. НО ЭТОГО НЕ ПРОИСХОДИТ, что не так?
Вот Код:
Код
if (mc1.hitTest(mc2)) {
    mc1.gotoAndPlay(2);
}

Помогите пожаоуйста, я уже не знаю что делать! MUSTLIVE!!!! SOS!!

Вот работающий код:
Код
startDrag("mc1",true);
_root.onEnterFrane=function() {
if(mc1.hitTest(mc2)) {
mc1.gotoAndPlay(2);
}
}
HaWK
У МЕНЯ ПОЛУЧИЛОСЬ! ЭТОТ ЧЁРТОВ HIT TEST ВМЕСТЕ С МУВИ КЛИПАМИ СДАЛСЯ!
СПАСИБО ТЕБЕ MUSTLIVE ОГРОМНОЕ!
ВЕДЬ ЕСТЬ ЖЕ ЛЮДИ БЕСКОРЫСТНЫЕ!

Также спасибо за Отзыв. Очень благодарен. laugh.gif
MustLive
HaWK, всегда пожалуйста.

P.S.

skynet007, непонятно, зачем тебе нужно было писать код, когда я ранее уже ответил HaWK-у и привёл требуемый пример кода. Так что повторами не увлекайся wink.gif.
skynet007
Цитата(MustLive @ 12.07.2009 - 19:37) *
HaWK, всегда пожалуйста.

P.S.

skynet007, непонятно, зачем тебе нужно было писать код, когда я ранее уже ответил HaWK-у и привёл требуемый пример кода. Так что повторами не увлекайся wink.gif.

Извини MusLive я просто не заметил твой ответ.Апотом когда увидел то исам подумал также как и ты.
MustLive
skynet007

Ничего страшного, просто будь внимательнее smile.gif.

Если хочешь помочь участникам форума задающим свои вопросы, то пройдись по разделами форума и присмотрись к темам, где нет ответов или их мало (всего 1 или несколько ответов, в частности где нет моих ответов). Вот в таких темах ты спокойно можешь ответить. У нас на форуме задают вопросы разного уровня сложности, так что ты вполне сможешь найти вопросы, на которые с лёгкостью сможешь ответить.
HaWK
Цитата
У нас на форуме задают вопросы разного уровня сложности, так что ты вполне сможешь найти вопросы, на которые с лёгкостью сможешь ответить.

Раздел "Начинающим" я думаю подойдёт. Я и сам там отвечаю и тебе skynet007 советую.
Русская версия IP.Board © 2001-2014 IPS, Inc.