Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема с отображением числа (http://www.flasher.ru/forum/showthread.php?t=148136)

Andrey12 22.12.2010 15:55

Проблема с отображением числа
 
Вложений: 1
Задача: сделать калькулятор расчета ОД для игры. В кнопке есть следующий код:
Код AS1/AS2:

on (release) {
        _root.ap1 = 10+(lvlt.text*0.06)+(strt.text*0.05)+(dext.text*0.2)+(vitt.text+0.05);
        _root.ap2 = 1-(0.5*weit.text/mweit.text);
        apt.text = _root.ap1*_root.ap2;
}

При этом apt.text показывает вместо числа NaN (но по отдельности показывает и _root.ap1, и _root.ap2).
По вертикали в мувик вводятся следующие значения: 36, 11, 17, 11, 9492, 87400). В этом случае _root.ap1=16.11110.05, а _root.ap2=0.945697940503432. Собственно, эти числа должны дать ожидаемый результат 15,75532769, который не отображаетяся. Что нужно подправить?

udaaff 22.12.2010 16:19

Математические операции необходимо производить с числами, а не с текстом.

Andrey12 22.12.2010 16:45

Код AS1/AS2:

on (release) {
        lvl = lvlt.text;
        str = strt.text;
        dex = dext.text;
        vit = vitt.text;
        wei = weit.text;
        mwei = mweit.text;
        ap1 = 10+(lvl*0.06)+(str*0.05)+(dex*0.2)+(vit+0.05);
        ap2 = 1-(0.5*wei/mwei);
        ap = ap1*ap2;
        apt.text = ap;
}

Это по прежнему не дало требуемого конечного результата, только промежуточные: ap1 и ap2.

mooncar 22.12.2010 17:00

Код AS1/AS2:

lvl = Number(lvlt.text)

и т.д.

Значение свойства text - это строка. Нужны числа.

Татьяна Леус 28.10.2011 02:01

Здравствуйте!
У меня такая же проблема, как у автора темы, только Number не помогает. Пробовала в разных вариантах, везде получаю NaN. Например:

Код AS1/AS2:

schitat.onPress = function () {
        n5.text = Number(n1.text)+1
}

Что можно сделать?

EndoCrinologist 28.10.2011 10:12

Вы тексту снова присваиваете текст. Поэтому у вас и не получается.
Код AS1/AS2:

schitat.onPress = function () {
        n5 = Number(n1.text)+1;
}


Татьяна Леус 28.10.2011 14:56

Какая занятная вещь. Обозначила текстовое поле как "одна линия" вместо "Многострочное" И этот код
Код AS1/AS2:

schitat.onPress = function () {
        n5.text = Number(n1.text)+1
}

заработал.


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

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