PDA

Просмотр полной версии : Двухпозиционная кнопка


ward.03
18.06.2006, 00:00
Как создать двухпозиционную кнопку (фактически вкл/выкл) и как выглядит привязка к ней событий (нажал - ченить появилось; еще раз нажал - оно исчезло). зарание спс.

Ion
18.06.2006, 00:18
Есть компонент Button

Nidl
18.06.2006, 00:25
_root.zzz = 1;
_root.button.onPress = function() {
_root.zzz = -_root.zzz;
};
_root.onEnterFrame = function() {
if (_root.zzz == -1) {
_root.button.gotoAndStop(2);
}
if (_root.zzz == 1) {
_root.button.gotoAndStop(1);
}
};

PSoWP
18.06.2006, 01:42
Лучше чуть соптимизировать:
var a:Boolean = true

_root.butt.onRelease = function(){
if(a){
_root.button.gotoAndStop(2)
a = false
} else {
_root.button.gotoAndStop(1)
a = true
}
}

Но помойму не надо менять кадр прямо в мувике кнопки лучше отдельный мувик сунут то что меняется...

ward.03
18.06.2006, 09:23
а какие еще строки должны быть вписаны, чтоб это все заработало(всякие там OnClipEvent)???

etc
18.06.2006, 12:02
PSoWP, ты извини, конечно, но если это "оптимизированный код", то я чукотский летчик. Особенно использование абсолютных путей и вообще _root и названий переменных, не несущих смысловой нагрузки. Впрочем, пишите как хотите, но я бы все же осторожнее относился к упоминанию "оптимизированный" код.

Homo Sapiens
18.06.2006, 13:09
2 PSoWP: Маленькое извращение с твоим "оптимизированным" кодом
var a:Boolean = true;
_root.onEnterFrame = function()
{
_root.button.gotoAndStop(a + 1);
}

Хотя мне малопонятно, зачем вообще этот бред может быть нужен.
Да, и тебе не кажется, что писать в стили a la Basic немножко по-детски?

PSoWP
18.06.2006, 14:57
Я сказал чуть оптимизированый, а не полностью оптимизированый...

2Ward.03
Никаких, создай мувиклип с именем батон, в первом кадре stop(), и в главную временую шкалу поставь этот код. Я его подправил чуть щас полностью работает. И создай мувик батт и там можешь ничего не писать.
И при нажатии на мув бат мув батон будет переключатся.

2__etc
Мой код был с ошибкой а вы даже не заметили(я говорил по телефону и ещё на меня мама орала вот и ошибся), и даже в том виде он был более оптимизированым чем первый. Потому что если ифке ставишь элз вместо ещё одной ифки оптимизация этого участка кода в 1.5 раза.
А код Гомо Сапиенса конечно оптимизированней моего только выйгрыш в милисекундах почти нулевой, а проигрыш возможных добавлений в будущем большой, потому что потом если надо чтонить добавить надо опять переходить к моему коду. Поэтому извращаться над кодом надо когда уже все закончено и больше ничего добавлятся не будет. А мне кажется что на кнопке флэшка не закончится... Так что такая оптимизация тут не умесна и вобще извращатся над кодом каждый должен сам чтоб потом разобраться в нем самому.

Nirth
18.06.2006, 15:08
2PSoWP

Мой код был с ошибкой а вы даже не заметили(я говорил по телефону и ещё на меня мама орала вот и ошибся),

Когда вы помогаете людям, будьте добры не ошибаться, если вы считаете что можете ошибиться, то подождите, успокойтесь и найдите время когда обстановка будет распологать помощи, оправдываться, мамой папой, бабушкой и дедушкой, по меньшей мере смешно и не серьезно.

Homo Sapiens
18.06.2006, 15:10
Ой да ладно тебе :) "чуть оптимизированный, выиграш почти нулевой".

Ты бы подумал про то что такой код нельзя вешать на onEnterFrame в принципе.
И не стоит выёживаться с a = false
a = true

По нормальному пишется a = !a; один раз и не забывай про ;

etc
18.06.2006, 15:27
Мама - не аргумент :)
надо маму слушать.

_pkiller_
19.06.2006, 09:08
вы еще подеритесь) горячие финские парни)