Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Преобразование! (http://www.flasher.ru/forum/showthread.php?t=167649)

pytachok 12.09.2011 14:16

Преобразование!
 
Добрый день!
Вообщем есть 2 переменные типа Boolean и 2 функции
Код AS3:

public function reloadweapon1():Boolean
{
    if (!_reloadBoolean1)
    {
      бла-бла-бла
        return true;
    }
    return false;
}

и 2 идентичная

Код AS3:

public function reloadweapon2():Boolean
{
    if (!_reloadBoolean2)
    {
      бла-бла-бла
        return true;
    }
    return false;
}

Не могу ни как понять как сделать преобразование чтобы не плодить лишних функций
Пытаюсь:
Код AS3:

public function reloadweapon(n:int):Boolean
{
    if (!_reloadBoolean+n) // не подходит
        // ("_reloadBoolean"+n) получаю String
      // (_reloadBoolean+"n") ошибка что неизвестен _reloadBoolean
    {
      бла-бла-бла
        return true;
    }
    return false;
}

Как можно преобразовать что бы он понял что это переменная а не String??

Genzo 12.09.2011 15:46

в массив их все или this['reloadBoolean'+n]

in4core 12.09.2011 15:47

Код AS3:

public function reloadweapon(n:String):Boolean
{
    if (!_reloadBoolean[''+n])
    {
      бла-бла-бла
        return true;
    }
    return false;
}


etc 12.09.2011 16:30

Цитата:

Сообщение от in4core (Сообщение 1030656)
Код AS3:

public function reloadweapon(n:String):Boolean
{
    if (!_reloadBoolean[''+n])
    {
      бла-бла-бла
        return true;
    }
    return false;
}


В мемориз.

BlooDHounD 12.09.2011 16:31

@in4core, ололо =) Вы превзошли себя.

pytachok 12.09.2011 18:44

Вот таков решил, все работает!

Код AS3:

public function reloadweapon(n:int):Boolean
{
    if (!this["_reloadBoolean" + n])
    {
      бла-бла-бла
        return true;
    }
    return false;
}


Zolza 12.09.2011 18:46

Просто передать параметром необходимую переменную:

Код AS3:

public function reloadWeapon(reloadBoolean:Boolean):Boolean
{
        if (!reloadBoolean)
        {
                // bla bla bla
                return true;
        }
        return false;
}


pytachok 12.09.2011 18:46

Код AS3:

_reloadBoolean[''+n]

не подходит "Обращение несуществующего свойства _reloadBoolean."

etc 12.09.2011 18:49

Предлагаю супер-вариант:

Код AS3:

public function reloadWeapon(reloadBoolean:Boolean):Boolean {
        return !reloadBoolean;
}


Psycho Tiger 12.09.2011 18:58

Мне вообще нихрена не понятно )


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

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