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

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

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

Регистрация: Jan 2007
Адрес: _root
Сообщений: 47
По умолчанию Проблема с отображением числа

Задача: сделать калькулятор расчета ОД для игры. В кнопке есть следующий код:
Код 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, который не отображаетяся. Что нужно подправить?
Вложения
Тип файла: rar Action Points.rar (5.6 Кб, 20 просмотров)

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Математические операции необходимо производить с числами, а не с текстом.

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

Регистрация: Jan 2007
Адрес: _root
Сообщений: 47
Код 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.

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код AS1/AS2:
lvl = Number(lvlt.text)
и т.д.

Значение свойства text - это строка. Нужны числа.
__________________
Идите первым!

Старый 28.10.2011, 02:01
Татьяна Леус вне форума Посмотреть профиль Отправить личное сообщение для Татьяна Леус Найти все сообщения от Татьяна Леус
  № 5  
Ответить с цитированием
Татьяна Леус

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

Код AS1/AS2:
schitat.onPress = function () {
	n5.text = Number(n1.text)+1
}
Что можно сделать?

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

блогер
Регистрация: Feb 2011
Адрес: Россия, Тольятти
Сообщений: 301
Записей в блоге: 10
Вы тексту снова присваиваете текст. Поэтому у вас и не получается.
Код AS1/AS2:
schitat.onPress = function () {
	n5 = Number(n1.text)+1;
}
__________________
Надо сменить подпись...

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

Регистрация: Aug 2008
Сообщений: 17
Какая занятная вещь. Обозначила текстовое поле как "одна линия" вместо "Многострочное" И этот код
Код AS1/AS2:
schitat.onPress = function () {
	n5.text = Number(n1.text)+1
}
заработал.

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

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

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


 


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


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