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

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

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

Регистрация: Jan 2012
Сообщений: 6
По умолчанию Вопрос по _visible

Здравствуйте уважаемые Форумчане! Может я слепой, облазил всё, но так и не нашёл ответ на свой вопрос...

У меня есть ПЕРВЫЙ кадр ("Home"), на нём много кнопок (b1, b2 ..., b50). При нажатии на кнопку осуществляется переход на определённый кадр. С каждого из этих кадров с помощью кнопки [on (release) { gotoAndStop("Home"); setProperty("b1", _visible, "0"); } ] можно вернуться на первый кадр и кнопка, по которой я с него уходил("b1") становится невидимой (Всё хорошо, так и нужно...)

Далее я с первого кадра("Home") перехожу по другой кнопке("b2") на соответствующий ей кадр, и когда возвращаюсь обратно, то уже кнопка ("b2") на первом кадре ("Home") стала невидимой. А вот кнопка b1 уже стала видимой, а мне это не нужно. Нужно чтобы она(они) так и оставались _visible, "0".

Если у кого-нибудь есть мысли по этому поводу, очень прошу помочь мне...

Старый 21.01.2012, 16:20
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 2  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Вам нужен массив с данными о том, какие кнопки были нажаты а какие ещё нет. Затем при возвращений к кадру с кнопками проявлять или прятать их. Например так:

Код AS1/AS2:
// в первом кадре:
if(!firstPlay){
	// Эта часть кода до else выполниться 1 раз в начале:
	firstPlay = true; 
 
	var totalButton:Number 	= 50; 		// сколько всего кнопок
	var buttonArray:Array   = new Array();	// масси с информацией кто был нажат а кто нет
 
	// заполняем масив
	// по умолчанию все кнопки ещё небыли нажаты:
    for(i=1; i<=totalButton; i++){
		buttonArray[i] = true;
	}
}else{
	// Эта часть выполняеться всегда при возвращений в 1 кадр:
 
	// проверям кто был нажат а кто нет, и соотвественно делаем видимыми/невидимыми кнопки:
    for(i=1; i<=totalButton; i++){
		myBytton = this['button'+i]; // ссылка для обращения кнопки. Предположим что они на основной сцене с именами button1, button2, button3 ...
		myBytton._visible = buttonArray[i];
	}
}
Массив buttonArray содержит информацию о том, какая кнопка была нажата а какая нет. Например buttonArray[1] = true - говорит о том, что первая кнопка ещё не была нажата
buttonArray[3] = false - говорит о том, что третья кнопка уже была нажата

При нажатий на кнопку, она должна менять соответствующий ей индекс в массиве на false.
Например, при нажатий на кнопку 10, она должна поменять buttonArray[10] = false; Это добавите сами.
пс. код на ошибки не проверял.
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 21.01.2012 в 16:22.
Старый 21.01.2012, 23:32
softamore вне форума Посмотреть профиль Отправить личное сообщение для softamore Найти все сообщения от softamore
  № 3  
Ответить с цитированием
softamore

Регистрация: Jan 2012
Сообщений: 6
Эх, чёт не работает...(((

Добавлено через 23 часа 52 минуты
Цитата:
Сообщение от Tails Посмотреть сообщение
При нажатий на кнопку, она должна менять соответствующий ей индекс в массиве на false. Например, при нажатий на кнопку 10, она должна поменять buttonArray[10] = false; Это добавите сами.
Вот этот момент не могу дотумкать как описать...

Старый 23.01.2012, 00:04
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 4  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Код AS1/AS2:
stop();
// в первом кадре:
if(!firstPlay){
	// Эта часть кода до else выполниться 1 раз в начале:
	firstPlay = true; 
 
	var totalButton:Number 	= 11; 		// сколько всего кнопок
	var buttonArray:Array   = new Array();	// масси с информацией кто был нажат а кто нет
 
	// заполняем масив
	// по умолчанию все кнопки ещё небыли нажаты:
    for(i=1; i<=totalButton; i++){
		buttonArray[i] = true;
 
		// програмируем кнопки
		programmingButton(i);
	}
}else{
	trace(buttonArray);
	// Эта часть выполняеться всегда при возвращений в 1 кадр:
 
	// проверям кто был нажат а кто нет, и соотвественно делаем видимыми/невидимыми кнопки:
    for(i=1; i<=totalButton; i++){
		myBytton = this['Button'+i]; // ссылка для обращения кнопки. Предположим что они на основной сцене с именами button1, button2, button3 ...
		myBytton._visible = buttonArray[i];
 
		// снова програмируем кнопки, так-как из-за переходов по кадрам, их обработчики спадают:
		programmingButton(i);
	}
}
 
// Программирование кнопок:
function programmingButton(value:Number):Void{
	link 			= this['Button'+value];  // ссылка на кнопуку
	link.myNumber 	= value;			// переменная внутри кнопки, о её номере
 
	// Обработчик нажатия для кнопок:
	link.onPress = function(){
		// То, что написано тут, будет срабатывать при нажатий на кнопки
		trace(this.myNumber); // так можно получить номер нажатой кнопки
 
 
		buttonArray[this.myNumber] = false;	// массиву говорим, что мы были нажаты
		gotoAndStop(2);					// переходим в кадр 2
	}
}
+ исходник
Вложения
Тип файла: rar 11_Buttons.rar (74.4 Кб, 21 просмотров)
__________________
Дети не должны знать о своих родителях

Старый 23.01.2012, 00:19
softamore вне форума Посмотреть профиль Отправить личное сообщение для softamore Найти все сообщения от softamore
  № 5  
Ответить с цитированием
softamore

Регистрация: Jan 2012
Сообщений: 6
Всё работает! Ура!!! Спасибо тебе огромное добрый человек!!!

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

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

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


 


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


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