![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
дело в том, что вообще не получается сложить 2 числа. Поясню. Делаю поле ввода и обзываю его x, затем делаю поле вывода и называю его y, далее делаю кнопку и на ней делаю скрипт:
в итоге выводит NaN пробовал и так уже неделю не могу вывести в динамическое поле результат простейшего вычисления... все хелпы наизусть знаю... Что я не так делаю? Подскажите, пожалуйста, а то уже мозг взрывается... Последний раз редактировалось Scorpio29; 27.05.2011 в 01:17. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
|
|||||
|
что-то вообще не понял где что... не ужели просто нельзя 2+2 сложить во флэшке?
|
|
|||||
|
Модрон-ветеринар
|
Если вы "обозвали" поле "x", то нужно получить строку, в нем содержащуюся:
У поля кроме этого свойства (text) есть еще целая куча. Кроме того, надеюсь, что вы понимаете, что для именования поля нужно вводить желаемое инстанс-имя в соотв. поле его свойств. А потом преобразовать строку в число, чтобы его можно было было использовать в математических вычислениях. Ну и все вместе, и вывод результата: Код записываете в кадре, а не на кнопке. К чему кнопка, если у вас желаемое действие должно производиться по нажатию на ENTER? PS. На объектах код писать вообще не надо под страхом иметь кучу проблем и вообще отстать от жизни.
__________________
Идите первым! Последний раз редактировалось mooncar; 27.05.2011 в 18:48. |
|
|||||
|
огромное спасибо за пояснения!!! до сих пор не могу найти нормальную книгу по описанию AS, так что я уже отстал от жизни ))))
И все равно не работает... и первый скрипт и второй. Первый скрипт (y=поле вывода, x=поле ввода) var b:Number = 30;
Key.addListener(this);
function onKeyDown():Void
{
if (Key.isDown(Key.ENTER))
y.text = parseInt(y.text) + b;
}
второй же скрипт уж извините, но не очень силен в AS и не знаю как прописать его в кадре правильно. Пришлось вешать на кнопку. Результат тот же - ничего не отображается в поле Y ps сделал трассеровку типа переменных x и y и трассеровку значений и вот это показывает в окне трассеровки: Последний раз редактировалось Scorpio29; 28.05.2011 в 13:31. |
|
|||||
|
Модрон-ветеринар
|
1. Уберите вообще кнопку на проекте и не пишите на ней ничего, она и не нужна.
2. Почему не работает, скорее всего, судя по вашей последней трассировке. Похоже вы не задали имена полям. Вы задали переменные в поле var, связанные с полем. Удалите там x и y в полях и не используйте это поле никогда. Нужно задать имя поля на сцене, найдите в свойствах поля строку Instance Name, и введите там ваши x и y. Это и будут имена полей. И да, - это не "второй скрипт", это составная часть целого: var b:Number = 30; Key.addListener(this); function onKeyDown():Void { if (Key.isDown(Key.ENTER)) y.text = parseInt(x.text) + b; } Назовите поля так же, использовать x и y не хорошо.
__________________
Идите первым! Последний раз редактировалось mooncar; 28.05.2011 в 16:02. |
|
|||||
|
mooncar, еще раз большое спасибо за терпение... бьюсь головой об стенку просто... я действительно поставил название поля в var вместо instance, давно за флэхой не сидел. УРА УРА - все получилось. Но к почему-то только 1 раз могу ввести значение. А по задумке нужно вводить в это поле разные числа и видеть результат сразу. Формула будет сложнее.. просто хотелось разобраться с выводом результата. Но я уже понял откуда ошибка идет, поэтому последняя просьба, не подскажите какую-нибудь обучалку AS?
В итоге все-таки реализовал кнопку. Задача была такая, что бы пользователь введя свою цифру получил результат по формуле число_пользователя*31 + 25% на кнопку повесил скрипт on (release, keyPress "<Enter>") {
a=31;
b=0.25;
c = parseFloat(x.text)*a;
d = parseFloat(x.text)*a*b;
y.text = c+d;
}
В этом случае можно считать в одном остановленном кадре разные пользовательские числа Я понимаю что кривовато реализовано, но работает!!! Единственный косяк - если пишется значение с запятой, а не с точкой - 2,99 - то после запятой все отсекается... а после точки норма... Всем огромное спасибо за помощь и тычки в нужном направлении. Последний раз редактировалось Scorpio29; 29.05.2011 в 02:05. |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|