Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.06.2008, 18:10
Musatoff вне форума Посмотреть профиль Отправить личное сообщение для Musatoff Найти все сообщения от Musatoff
  № 1  
Ответить с цитированием
Musatoff

Регистрация: Jun 2006
Сообщений: 77
По умолчанию работа с Boolean

Привет, братцы!
Такой 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
}
Здесь срабатывает только первое, то есть не ставиться false на мою Boolean.
P.S. сколько не смотрел хелпов, не врубаюсь как юзать EventListener и Listener и чем они отличаются, если у кого есть статейка например, если не трудно скиньте или направьте меня куда нить.

Старый 17.06.2008, 18:24
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 2  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
во-первых, приведённый код даже невалиден

по проблеме:
я бы сделал сеттер для булевой переменной. и диспатчил бы событие
про события http://racer242.blogspot.com/2008/02...tcher-as2.html
про сеттеры http://flash-ripper.com/archives/000308.php

Старый 17.06.2008, 18:26
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
1. Булево значение, лучше задавть так
Код:
var myHideBool:Boolean = false;
а new Boolean создает объект
Код:
var myHideBool:Boolean = new Boolean ();
trace (typeof myHideBool); //object
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;
5. Вообще, ваш код выглядит весьма странно, если я правильно понял смысл затеи, то должно быть так:
Код:
var myHideBool:Boolean = false;
playback.HideBtn.onRelease = function () {
	if (myHideBool) {
		this.gotoAndStop (2);
	} else {
		this.gotoAndStop (3);
	}
	myHideBool = !myHideBool;
};
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 17.06.2008, 18:38
Musatoff вне форума Посмотреть профиль Отправить личное сообщение для Musatoff Найти все сообщения от Musatoff
  № 4  
Ответить с цитированием
Musatoff

Регистрация: Jun 2006
Сообщений: 77
2iNils, Спасибо, друг! Простите за такой код, я только учусь!
1.Я не понимаю немного про watch, то есть он как бы постоянно наблюдает за какой-то функцией?? я почитал в хелпе, исходя из него мы смотрим не меняется ли myHideBool, а причем тут test function?
2. Про myHideBool = !myHideBool не уловил, сорри если надоедаю, но очень интересно в чем фишка и как пишут код профессионалы.
P.S. Я представляю если дать мой код одной программки профу, что он с ним сделает, у меня там 1500 строк =)

Старый 17.06.2008, 18:46
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
1. watch наблюдает за свойством объекта, а функция test выполняет какие то действия при изменении свойства, иначе заме наблюдать?
2. По сколько булева переменная может примимать только два значения, то строка myHideBool = !myHideBool инвертирует текущее значение и переприсваивает его.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 18.06.2008, 11:08
Musatoff вне форума Посмотреть профиль Отправить личное сообщение для Musatoff Найти все сообщения от Musatoff
  № 6  
Ответить с цитированием
Musatoff

Регистрация: Jun 2006
Сообщений: 77
Thank you, dude! Слушь а не подскажешь как сделать например так, по щелчку мыши было одно действие а по второму щелчку другое. Я видел один раз в каком-то примере там были знаки "||"

Старый 18.06.2008, 11:17
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
См. пример в посте номер 3, код в пункте 5.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 18.06.2008, 11:22
Musatoff вне форума Посмотреть профиль Отправить личное сообщение для Musatoff Найти все сообщения от Musatoff
  № 8  
Ответить с цитированием
Musatoff

Регистрация: Jun 2006
Сообщений: 77
Я не это имел ввиду. =) Без if и else, там по-моему еще было click. Я весь хелп перерыл, и безуспешно.

Старый 18.06.2008, 11:26
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Можно найти 100 и 1 способ без if и else и потратить на это годы, только вот вопрос - зачем, когда все делается с банальным if и else? Они собственно для этого и предназначены.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 18.06.2008, 12:11
Musatoff вне форума Посмотреть профиль Отправить личное сообщение для Musatoff Найти все сообщения от Musatoff
  № 10  
Ответить с цитированием
Musatoff

Регистрация: Jun 2006
Сообщений: 77
блин. просто тот способ который я видел был вообще простой, типа четный клик на кнопку делаем это, нечетный то. Ну ладно все равно спасибко!

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:34.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.