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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.05.2014, 00:04
Youngflasher вне форума Посмотреть профиль Отправить личное сообщение для Youngflasher Найти все сообщения от Youngflasher
  № 11  
Ответить с цитированием
Youngflasher

Регистрация: Jan 2014
Сообщений: 27
Код AS3:
var hand: Array = new Array (hand_01, hand_02, hand_03);  // у меня есть 3 объекта
var button: Array = new Array (button_01, button_02, button_03); // и 3 кнопки
var Fun:Array = [fun1, fun2, fun3]; // и 3 функции соответственно
 
function fun1(e:MouseEvent):void{
        this.hand[0].visible = true; // нужно чтоб при нажатии на кнопку появлялся нужный объект
        //следующие 2 функции идентичны
}
 
for(i = 0; i < 3; i++)
{
	Hand[i].addEventListener(MouseEvent.MOUSE_UP, Fun[i]); 
}
Вот и все.
Проблема в том, что ООП я пока не изучал (недавно учу программирование), и решаю нужные мне задачи как умею в данный момент.
Спасибо большое за отзывчивость!

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

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Вот написал вам простой пример:

Код AS3:
import flash.display.Sprite;
import flash.events.MouseEvent;
 
var hand:Array = new Array (hand_01, hand_02, hand_03);  
var button:Array = new Array (button_01, button_02, button_03); 
 
// В цыкле вешаем слушатель на все кнопки
var i:int;
for (i = 0; i<button.length; i++) {
	var btn:Sprite = button[i];
		btn.addEventListener(MouseEvent.CLICK, clickBtnHandler);
}
 
function clickBtnHandler(e:MouseEvent):void {
	// Определяем какая кнопка была нажата
	switch (e.currentTarget) {
		case button_01: hand_01.visible = true;
		break;
		case button_02: hand_02.visible = true;
		break;
		case button_03: hand_03.visible = true;
		break;
	}
}

Старый 25.05.2014, 00:45
LifeIsRhythm вне форума Посмотреть профиль Отправить личное сообщение для LifeIsRhythm Найти все сообщения от LifeIsRhythm
  № 13  
Ответить с цитированием
LifeIsRhythm
[+1 22.07.14]
[+4 12.08.14]
[+1 09.02.15]

Регистрация: May 2014
Сообщений: 182
Как вариант:
Код AS3:
import flash.utils.Dictionary;
import flash.display.MovieClip;
import flash.events.MouseEvent;
 
var dictionary:Dictionary = new Dictionary();
 
this.install(button_1, object_1);
this.install(button_2, object_2);
this.install(button_3, object_3);
 
function install(button:Button, object:MovieClip):void
{
	object.visible = false;
	dictionary[button] = object;
	button.addEventListener(MouseEvent.CLICK, button_clickHandler);
}
 
function button_clickHandler(event:MouseEvent):void
{
	for each(var object:MovieClip in dictionary)
		if(object.visible == true)
			object.visible = false;
 
	var button:Button = event.target as Button;
	dictionary[button].visible = true;
}
Добавлено через 5 минут
Код AS3:
import flash.utils.Dictionary;
import flash.display.MovieClip;
import flash.events.MouseEvent;
 
var dictionary:Dictionary = new Dictionary();
var buttons:Array = [button_1, button_2, button_3];
var objects:Array = [object_1, object_2, object_3];
 
var length:int = buttons.length;
 
if(length != objects.length)
	throw new Error("ERROR");
 
for(var i:int = 0; i < length; i++)
	this.install(buttons[i], objects[i]);
 
function install(button:Button, object:MovieClip):void
{
	object.visible = false;
	dictionary[button] = object;
	button.addEventListener(MouseEvent.CLICK, button_clickHandler);
}
 
function button_clickHandler(event:MouseEvent):void
{
	for each(var object:MovieClip in dictionary)
		if(object.visible == true)
			object.visible = false;
 
	var button:Button = event.target as Button;
	dictionary[button].visible = true;
}

Старый 25.05.2014, 01:56
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 14  
Ответить с цитированием
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
* Создайте себе массив со всеми кнопками.
* Повешайте на каждую кнопку обработчик нажантия.
* В обработчике получите кнопк, которая была нажата (event.target).
* Обойдите весь массив кнопок и сделайте что нужно со всеми кнопками, кроме полученой в обработчике.

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

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

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


 


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


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