![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 77
|
Привет, братцы!
![]() Такой Q: Как поставить слушателя или както по другому реализовать прослушку Boolean, то есть если оно равно True, то делаем то, а если False то другое. Знаю как можно сделать через интервал, но грузит. var MyHideBool:Boolean = new Boolean
if (MyHideBool= true) {
playback.HideBtn.onRelease = function(){
this.gotoAndStop(2)
MyHideBool= false
}
if (MyHideBool= false) {
playback.HideBtn.onRelease = function(){
this.gotoAndStop(3)
MyHideBool= true
}
P.S. сколько не смотрел хелпов, не врубаюсь как юзать EventListener и Listener и чем они отличаются, если у кого есть статейка например, если не трудно скиньте или направьте меня куда нить. |
|
|||||
|
во-первых, приведённый код даже невалиден
по проблеме: я бы сделал сеттер для булевой переменной. и диспатчил бы событие про события http://racer242.blogspot.com/2008/02...tcher-as2.html про сеттеры http://flash-ripper.com/archives/000308.php |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
1. Булево значение, лучше задавть так
а new Boolean создает объект 2. Во флеше принято с большой буквы писать только названия классов и интерфейсов, а свойства и метода с маленькой 3. Для надо использовать оператор "==", а не "=", которые является присваиванием 4. Зачем в данном коде вообще нужен слушатель? Вам нужен метод watch var myHideBool:Boolean = false;
this.watch ("myHideBool", test);
function test (prop, oldVal, newVal) {
trace (prop + " change from '" + oldVal + "' on '" + newVal + "'");
}
myHideBool = true;
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 77
|
2iNils, Спасибо, друг! Простите за такой код, я только учусь!
1.Я не понимаю немного про watch, то есть он как бы постоянно наблюдает за какой-то функцией?? я почитал в хелпе, исходя из него мы смотрим не меняется ли myHideBool, а причем тут test function? 2. Про myHideBool = !myHideBool не уловил, сорри если надоедаю, но очень интересно в чем фишка и как пишут код профессионалы. P.S. Я представляю если дать мой код одной программки профу, что он с ним сделает, у меня там 1500 строк =) |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
1. watch наблюдает за свойством объекта, а функция test выполняет какие то действия при изменении свойства, иначе заме наблюдать?
![]() 2. По сколько булева переменная может примимать только два значения, то строка myHideBool = !myHideBool инвертирует текущее значение и переприсваивает его. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 77
|
Thank you, dude! Слушь а не подскажешь как сделать например так, по щелчку мыши было одно действие а по второму щелчку другое. Я видел один раз в каком-то примере там были знаки "||"
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 77
|
Я не это имел ввиду. =) Без if и else, там по-моему еще было click. Я весь хелп перерыл, и безуспешно.
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 77
|
блин. просто тот способ который я видел был вообще простой, типа четный клик на кнопку делаем это, нечетный то. Ну ладно все равно спасибко!
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|