PDA

Просмотр полной версии : Как прекрепить мувик к кнопке при отводе мышки?


Danss
11.09.2007, 04:14
Люди, я ламер во флеш.Мне нужен простой совет: как прикрепить мувик к кнопке так чтобы он срабатывал при отводе мышки?
Заранее благодарю!!!

Kikasso
11.09.2007, 04:41
Смотря что значит "срабатывал". Схема такая:
btn.onRollOut = function(){
mc.doSome();
}
где:
btn - кнопка
mc - мувик
doSome - какое-то действие

Danss
11.09.2007, 10:43
Спасибо,сейчас попробую. а "срабатывал" я имел введу чтобы кнопка анимировала. допустим при наведении срабатывает мувик на этой же кнопке и при отведе мышы другой.

Danss
11.09.2007, 10:55
попробовал повесить на кнопочку вот что вышло:

**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 1: Statement must appear within on handler
button.onRollOut = function()

прощу прощения за ламерство свое, я только учусь :)

CorC
11.09.2007, 11:24
Нужно писать в кадре а не на клипе

Kikasso
11.09.2007, 11:28
На кадр, не на кнопку.

Danss
11.09.2007, 12:17
понял, спасибо :)

Danss
11.09.2007, 12:39
Люди,знаю достал уже.. сделал как вы сказали, но когда навожу на кнопку - вообще не какой реакции :(

button.onRollOut = function()
{
mov.play();
}

etc
11.09.2007, 12:45
Danss, отредактируйте свой пост и оформите код тегами .

Danss
11.09.2007, 13:00
так, кое что получилось. Играет мувик но только если он находится на сцене... а мне нужно чтоьы он срабатывал на самой кнопке, как бы отводишь мышку и кнопка типо угасает или чтото в этом роде...куда и как ее поместить? Еще раз извеняюсь что достаю тупыми вопросами

Kikasso
11.09.2007, 13:11
Ну так вешайте код на сам мувик.

Futury
11.09.2007, 13:14
-рисуешь клип с эффектом угасания
-называешь btn1
-ставишь в этом клипе в 1 и последнем кадре stop();
-вешаешь следующий код на допутим первый кадр сцены
// анимация кнопок
btn1.onRollOut=function() {
var i=this._currentframe
this.onEnterFrame = function() {
this.gotoAndStop(i--)
}
}
btn1.onRollOver=function() {
delete (this.onEnterFrame)
this.play()
};

Danss
19.09.2007, 01:09
спасибо большое! попробую

udaaff
19.09.2007, 01:16
Под кнопкой подразумевалось -- мувик-кнопка, т.е. MovieClip, а не Button.

Wolsh
19.09.2007, 10:27
Учитесь делать клипы-кнопки. Чем раньше, тем лучше. Кнопки давно вымерли как вид.

CorC
19.09.2007, 10:44
Может как класс? :)

Wolsh
19.09.2007, 12:41
Не, как класс пока поддерживаются :)

AlliAS
19.09.2007, 15:48
Может я не совсем тебя понял (сам во флэше пока ламер):
ты хочешь чтобы при наведении на кнопку(мувик) срабатывал 1 код, а при отведении другой?
тогда советую (как ламер ламеру =)) сделай так:
Во первых вместо кнопки создай мувик например button_mc
потом создай в мувике 2 ключевых кадра (например 15й и 30й)
о обоих кадрах напиши:
stop();
и в эти 2 блока (между кейфрэймами ) делай анимацию.
а на рабочем поле (не в клипе) впиши такой код:
clip_mc.onRollOver = function(){
clip_mc.gotoAndPlay(1);
clip_mc.onRollOut = function(){
clip_mc.gotoAndPlay(15);
}
}

Danss
20.09.2007, 22:23
Я вообще сделал как: создал button и отедлно movieClip, затем movieClip втулил в кнопку на кадр over... при наведении кнопка анимирует.. а вот при отводе мыши ниче не получалось.
AlliAS, че то твой файл не открывается.
Попытался сделать как ты посоветовал но че то не работает :(
вот посмотрите как я делал во вложенном файле...

Wolsh
20.09.2007, 22:55
Учитесь делать мувиклипы-кнопки.

Danss
20.09.2007, 23:10
Большое спасибо :))

Danss
21.09.2007, 00:18
Wolsh, большое спасибо за помощь и вообще всем кто откликнулся.... Все получилось кроме одного... когда клацаю на кнопку, само по себе проиходит действие-кусок анимации... не понял из-за чего это, я прекреплю файлик, гляньте плиз! Заранее благодарю! :)

Вот файлик:

Wolsh
21.09.2007, 11:15
Дело в том что при клике происходит сначала событие _down, а в Вашей кнопке нет блока для этого события. Соотв. кнопка теряет состояние Овер и опять его получает - ну и, понятно, отрабатывает _овер из состояния _овер, а не из состояния аут(_ап), как при наезде. Это и выглядит как скачок.

Danss
21.09.2007, 11:34
Ясно, ну а как сделать чтобы как бы было событие _down, но ничего не происходило? я пытался сделать но не вышло че то..

Wolsh
21.09.2007, 11:50
Сделайте один кадр со стопом, назовите _down и в нем должно быть то же состояние кнопки, что и при _овер. Соотв. при нажатии ничего меняться не будет.

Danss
21.09.2007, 12:49
Walsh, простите меня. Ну чего то не получается.. вроде бы сделал как вы сказали.. вы не могли бы в моем файле исправить ошибку и выложить его сдесь? я буду очень признателен.

Wolsh
21.09.2007, 13:04
Есть кнопка "Изменить"
Соберите свои сообщения в одно, а то модераторы наругают

Ну короче, это уже вторая проблема - теперь происходит событие онРелиз.
А оно уже никак не может быть оформлено в клипе-кнопке. Поэтому когда Вы нажимаете, действительно ничего не происходит, но когда отпускаете - опять получается Овер.
И это никак не решить :) Потому что любая анимация наезда начинается с положения аут и заканчивается овер. Соотв. можно только смягчить, делая на _даун анимацию от овер к аут, чтобы потом при релизе нормально смотрелась анимация от _аут к _овер. Не запутались еще? :)

Так что обработку события onRelease решаем кодом.
В коде добавляем but1.onRelease = function() {this.gotoAndStop("_down");}

Danss
21.09.2007, 15:01
Все, заработало, наконец то! :) Большое спасибо! :)
Кстати,Wolsh, у вас, случайно, нет примера простого прилодера?
Хочу сделать предворительную загрузку:
Просто полоса идет от начала до конца при загрузке амин.фильма.

LevinSoft
05.10.2007, 10:33
Danss, если есть возможность, объясни как делал кнопку.
Заранее спасибо!

Wolsh
05.10.2007, 15:21
LevinSoft, Danss здесь новичок, как и Вы, и наверняка не пасется на форуме круглые сутки :) Давайте я попробую объяснить, только вопросы конкретнее задавайте. Что именно Вам непонятно?

LevinSoft
08.10.2007, 08:37
Wolsh, вот смотрите, идет покадровая анимация, доходит до определенного кадраскажем, n, к слову до n , идет графика, на определенном кадре анимация останавливается. На этом кадре я свои "рисунки" конвертирую в мувики, теперь мне надо, чтобы при наведении на мувик произведение возобновилось и дошло до кадра m, а после увода мыши с мувика, воспроизведение пошло в обратную сторону и вернулось на кадр n. К сожалению архив занимает 298 Кб, выложить свое "творение" не получается, если вы не против и есть желание посмотреть, то вышлю вам на мыло.

Заранее спасибо!

З.Ы. Получается только выложить компилированный проект:(

Wolsh
08.10.2007, 14:21
n - это когда схема нарисовалась? И дальше при наведении на другие прямоугольники в шапке, рисуются их развернутые схемы?

LevinSoft
09.10.2007, 05:53
n - это когда схема нарисовалась? И дальше при наведении на другие прямоугольники в шапке, рисуются их развернутые схемы?
нет, n это когда воспроизведение остановилось, дальше нужно чтобы при наведении на прямоугольники появлялись аннотации, я думал использовать текстовые поля, но туда текст из ворда вставить не получается, чтоб с картинками, как в оригинале оформлен был, т.е. к примеру: "Реле постоянного тока бывают...., выглядят...." ну и т.д.

З.Ы. Вообще то не сильно позорно нарисовал? А то черные квадратики на белом фоне...

LevinSoft
10.10.2007, 09:42
Подскажите пожалуйста, пытаюсь вытащить в ScrollPane картинку, однако ни ошибок, ни картинки не вижу, что неправильно делаю?
var my_sp:mx.containers.ScrollPane;

onClipEvent(mouseUp) {
sp.contentPath = "c:\1.jpg";
}
пробовал и абсолютные и относительные адреса, однако эффекта никакого