Просмотр полной версии : Проблема с кнопкой!
Здрасте! У меня такая проблема: имеется мувик, который я использую как кнопку, при наведении курсора мувик увеличивается(допустим), при ввыде курсора с его области он уменьшается, но я никак не могу понять как сделать так чтобы при нажатии и последующем ввыде курсора он у меня, например, переворачивался...
Вот мой код на мувике:
on (rollOver) {
this.gotoAndPlay (2);
}
on (rollOut) {
this.gotoAndPlay (16);
}
on (release) {
this.gotoAndPlay (31);
}
при выводе курсора из области мувика у меня происходит rollOut.
Вообщем я знаю что этот код не правильный, но подскажите пожалуйста как бы это можно было бы исправить... :umnik2:
DarkLight
14.08.2006, 19:08
А отпускание кнопки мыши должно быть на мувике или вне его?
Есле вне его, то releaseOutside, если на нем, то в release ставим переменную, а на rollOut проверяем ее значение...
Кстати, лучше вместо конструкций с on писать весь код на основной шкале...
Спасибо за совет.
Отпускание должно быть на нем, как я понял код такой
on (rollOver) {
this.gotoAndPlay (2);
}
on (rollOut) {
if (x==1) {
this.gotoAndPlay (31);
}else{
this.gotoAndPlay (16);
}
}
on (release) {
this.gotoAndPlay (31);
var x
x=1;
}
При нажатии мувик начинает играть со своего 31 кадра(все верно), но при выводе мышки он опять проигрывает мувик с 31 кадрв получается некое дергание :(
Ааааа все я понял, код такой:
on (rollOver) {
this.gotoAndPlay (2);
}
on (rollOut) {
if (x==1) {
}else{
this.gotoAndPlay (16);
}
}
on (release) {
this.gotoAndPlay (31);
var x
x=1;
}
и все впорядке, почти, дальше я сам :mosking:
DarkLight
14.08.2006, 19:33
Дерганье? А что должно было быть? Плавный переход?
Все впорядке как плавный переход сделать я сообразил, но вот проблемка еще одна возникла, вот код:
on (rollOver) {
if (x==1) {
}else{
this.gotoAndPlay (2);
}
}
on (rollOut) {
if (x==1) {
}else{
this.gotoAndPlay (16);
}
}
on (release) {
var x
x=1;
this.gotoAndPlay (31);
}
все пашет,если я нажимаю на мувик он совершает дальнейшие действия, но если я повторно нажимаю на него то он начинает проигрывать их снова, а мне нужно чтобы был некий блок на повторный release.. как его сделать? :umnik2:
DarkLight
14.08.2006, 19:46
Пусть клип называется clip:
(код на основной шкале)
clip.onRollOver = function() {
if (x == 1) {
} else {
this.gotoAndPlay(2);
}
};
clip.onRollOut = function() {
if (x == 1) {
} else {
this.gotoAndPlay(16);
}
};
clip.onRelease = function() {
var x;
x = 1;
this.gotoAndPlay(31);
delete clip.onRelease;
};
Спасибо огромное, а ты мог бы сказать почему код лучше писать на гл.вр.шкале?
DarkLight
14.08.2006, 19:55
1. Когда кнопок становится много, замучаешься искать код
2. В ActionScript 3 on/onClipEvent не поддерживается - легче будет переносить проект при случае
3. Просто удобнее
Кстати, кое-что подправил в коде:
clip.onRollOver = function():Void {
(x == 1) ? 1 : clip.gotoAndPlay(2);
};
clip.onRollOut = function():Void {
(x == 1) ? 1 : clip.gotoAndPlay(16);
};
clip.onRelease = function():Void {
var x:Number = 1;
clip.gotoAndPlay(31);
delete clip.onRelease;
};
что то не то, когда release все впорядке, но когда после нажатия выводишь мышку идет rollout и повторно нажать нельзя(т.к. delete был)
DarkLight
14.08.2006, 20:17
а...надо было чтобы только переворот отключался, а нажатие срабатывало? Тогда вместо delete делаем новый онРелиз...
DarkLight
ты чегото замудрил гыгыгыгыг =))
Salut
если на кнопку резко нажать и резко отодвинуть получается дёрг. используй nextFrame(); и prevFrame();
Если честно, то я совсем запутался что делать да как..... :wacko:
DarkLight
14.08.2006, 21:10
Я тоже...
Обьясни для чего нужна кнопка - вот она меняется, а что дальше?
Что именно значит "блок" на повторный Релиз? Больше нельзя нажимать вообще или нажимать можно, но уже без анимации?
вот исходник , в нем при повторном нажатии на мувик, он начинает играть с 31 кадра, а мне нужно чтобы он был на месте. (чтобы нажимать больше нельзя было пока не нажмется другая кнопка)
DarkLight
14.08.2006, 21:30
что то не то, когда release все впорядке, но когда после нажатия выводишь мышку идет rollout и повторно нажать нельзя(т.к. delete был)
в нем при повторном нажатии на мувик, он начинает играть с 31 кадра, а мне нужно чтобы он был на месте. (чтобы нажимать больше нельзя было пока не нажмется другая кнопка)
Я както не могу эти 2 фразы вместе увязать...
Если надо чтобы больше нажимать было нельзя, удаляем онРелиз
Если надо, чтобы можно было еще нажимать, то в чем вопрос?
Если надо, чтобы можно было нажимать, но на других условиях - вместо удаления онРелиза задаем новый
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.