Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: навигация
Flash Zone Forum > Macromedia Flash > ActionScript
Lalita
При наведении на кнопку,она начинает поворачиваться,при уходе с кнопки она перестает вращаться,но остается в кривом положении.Кнопкой у меня является Movie Clip,который назван "to1"

to1.onRollOver = function() {
this.onEnterFrame=function(){
this._rotation+=10;
};
};
to1.onRollOut=function(){
delete this.onEnterFrame;
};
to1.onDragOut=to1.onRollOut;

Как мне сделать так, чтобы при уходе с кнопки она принимала исходное положение.Какой сценарий мне применить?
Спасибо.
MustLive
Цитата
Как мне сделать так, чтобы при уходе с кнопки она принимала исходное положение.Какой сценарий мне применить?

Lalita

Можете установить _rotation = 0 для мувиклипа:
Код
to1.onRollOver = function() {
this.onEnterFrame=function(){
this._rotation += 10;
};
};
to1.onRollOut=function(){
delete this.onEnterFrame;
this._rotation = 0;
};
to1.onDragOut=to1.onRollOut;


Тогда мувик вернётся в исходное состояние. Только сделает он это резко (в зависимости от сложности объекта и его текущего положения в момент RollOut это может быть более или менее заметно). Поэтому в зависимости от объекта, данный вариант может быть приемлимым (вполне естественным), а может и не быть - и тогда начальный вариант, с остановкой в текущей позиции может оказаться более приемлимым.
Lalita
Спасибо за помощь! С вашей помощью у меня все получилось.

Есть еще одна проблема. У меня есть 4 клипа в виде 4 квадратиков.Я хочу, чтобы при наведении на 1-й квадратик остальные три приходили в исходное положение.1-й же при наведении вращается а при уходе с него вращение останавливается и 1-й остается в кривом положении до тех пор, пока я не навожу на 2-й квадратик.Какой код мне написать?
MustLive
Lalita

Нужно для каждого квадрата прописать управлением вращением всех квадратов.

Т.е. при наведении на первый - все остальные возвращаются на начальные позиции, а первый вращается и т.д. для каждого квадрата.

Код
to1.onRollOver = function() {
this.onEnterFrame=function(){
this._rotation += 10;
};
to2._rotation = 0;
to3._rotation = 0;
to4._rotation = 0;
};
to1.onRollOut=function(){
delete this.onEnterFrame;
this._rotation = 0;
};
to1.onDragOut=to1.onRollOut;


И аналогичный код для других мувиков (to2, to3, to4). Когда из to2 будут возвращатья в начало to1, to3, to4 и т.д.
Lalita
Ура! У меня все получилось!Спасибо за помощь! smile.gif

Мне необходимо с flash-страницы перейти на другой сайт.
Я делаю так

to1.onRelease = function() {
getURL("http://www.oknolux.ru", "_blank");
};

а переход на другой сайт сделать не могу.Как решить эту задачу?
tiHo
хм... да вроде бы все правильно, покрайней мери у меня все переходит. laugh.gif dry.gif
MustLive
Lalita

Как уже заметил tiHo, приведённый код вполне рабочий smile.gif

Может флеш заглючил. Периодически на форуме приходиться сталкиваться со случаями глюков в флеше (когда рабочий код у кого-то почему-то не работает).

Можно попробовать заменить Release на Press:
Код
to1.onPress = function() {
getURL("http://www.oknolux.ru", "_blank");
};


Или сделать старым флешевым способом, без назначения функций. Т.е. вручную на каждой кнопке установить её обработчик нажатия:
Код
on (release) {
getURL("http://www.oknolux.ru", "_blank");
}
Rohan
а, может, просто при выгрузке ролика оставили стоящее там по умолчанию "Access local files only" или че-то из этой серии? Тогда он по http никуда и не пустит, и даже не попытается че-то там открыть... Спасибо Адобу за его политику безопасности. Советую делать подобные вещи через fscommand, а уж жабаскриптом осуществлять навигацию куда надо.
alexart
2 Rohan: fscommand тоже "штука тонкая" - пока через апач страницу не запустил (http://localhost/... и т.п.)- не работал зарррраза!...
Хотя код 100% рабочий. Вот так вот.
2 Lalita
Советую проверить - через сервак (тот же Apache) запустить...
Русская версия IP.Board © 2001-2009 IPS, Inc.