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

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

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

Регистрация: Feb 2015
Сообщений: 4
Attention Объединение трёх функций в одну

Всем привет, в JavaScript я не так давно, прошу прощение если задаю 'глуповатый' вопрос.

Перейду сразу к сабжу. Есть три функций, т.е. три кнопки. Одни абсолютно идентичны.
Хочу объединить три функций в одну, т.к. это будет более логично

Код AS3:
/* Массив */
var rishat_array:Array = new Array;
this.rishat_array[0]=[b,j,f]
this.rishat_array[1]=[0.5,1]
this.rishat_array[2]=["верно","неверно"]
this.rishat_array[3]=["sss","ss","s"]
 
/* Кнопка 1 */
function sss(event:MouseEvent):void
{
    if (this.rishat_array[0][0].alpha==this.rishat_array[1][1])
    {
        this.rishat_array[0][0].alpha=this.rishat_array[1][0];
    }
    else if(this.rishat_array[0][0].alpha==this.rishat_array[1][0])
    {
        this.rishat_array[0][0].alpha=this.rishat_array[1][1];
    }
}
 
/* Кнопка 2 */
function ss(event:MouseEvent):void
{
    if (this.rishat_array[0][1].alpha==this.rishat_array[1][1])
    {
        this.rishat_array[0][1].alpha=this.rishat_array[1][0];
    }
    else if(this.rishat_array[0][1].alpha==this.rishat_array[1][0])
    {
        this.rishat_array[0][1].alpha=this.rishat_array[1][1];
    }
}
 
/* Кнопка 3 */
function s(event:MouseEvent):void
{
    if (this.rishat_array[0][2].alpha==this.rishat_array[1][1])
    {
        this.rishat_array[0][2].alpha=this.rishat_array[1][0];
    }
    else if(this.rishat_array[0][2].alpha==this.rishat_array[1][0])
    {
        this.rishat_array[0][2].alpha=this.rishat_array[1][1];
    }
}
Думал, может такой вариант прокатит, но увы

Код AS3:
function s_(event:MouseEvent, idx):void
{
    if (this.rishat_array[0][idx].alpha==this.rishat_array[1][1])
    {
        this.rishat_array[0][idx].alpha=this.rishat_array[1][0];
    }
    else if(this.rishat_array[0][idx].alpha==this.rishat_array[1][0])
    {
        this.rishat_array[0][idx].alpha=this.rishat_array[1][1];
    }
}

Старый 20.02.2015, 19:59
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 2  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Вопрос в чем, собссна?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Вопрос, видимо, такой: "как передать параметр в слушатель". Он, кстати, ищется поиском по форуму и даже есть в блогах.

Ответ:
Код AS3:
function s_(event:MouseEvent):void
{
    var index:int = -1;
 
    if (event.currentTarget == button_1)
    {
        index = 1;
    }
    else if (event.currentTarget == button_2)
    {
        index = 2;
    }
    else if (event.currentTarget == button_3)
    {
        index = 1;
    }
    else
    {
        throw new Error('Кто-то не тот подписался на клик! ');
    }
 
    // Ваш код здесь
}
__________________
...вселенская грусть

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Всем привет, в JavaScript я не так давно
Для начала неплохо хотя бы знать, что это не JavaScript

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

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

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


 


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


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