PDA

Просмотр полной версии : показывание на экране переменной


alex001
05.05.2009, 00:01
у меня есть вопрос.
вот есть у меня к примеру переменная score.
там будет храниться цифровая информация.
как сделать чтобы на экране выводилось то ,что она хранит. цифоры.
я начинающий програмист. прозьба обьяснять все поподробнее.

Stargazer
05.05.2009, 00:52
1. Воспользоваться динамическим текстом.
Разместить текстовый элемент, указать, что он dynamic text, дать ему имя (например, myVarText).

Теперь в скрипте:
myVarText.text= myVar;
Также следите за областью видимости. Например, если вы разместили myVarText на главной шкале - то пишите _root.myVarText.text= myVar;

2. Воспользоваться командой trace (выводит текст в отдельном окошке)
trace(myVar);

3. Воспользоваться отладкой.
Поставить breakpoint на том участке, где вы хотите отслеживать переменную, запустить отладку (ctrl+shift+enter), нажать play. В отладочном окне, слева, на закладке local будет список переменных. Теперь нажимайте на step или over и наблюдайте, как изменяется значение переменной при выполнении очередного оператора.

VVall
05.05.2009, 02:08
Наверняка автору темы вывод значения переменной score нужен не для отладки, а чтобы очки в игре выводить.

alekslitvinenk
05.05.2009, 02:42
скорее всего, автор просто хочет научиться что-нибудь выводить на экран :)

alex001
05.05.2009, 08:54
да, это будут очки пользователя.
а чтонибудь выводить на экран я уж умею.
мне имменно надо чтобы вправо сверху выводился ноль. пользоватьель набирает очки и число увеличиваеться.

nOobCrafter
05.05.2009, 11:06
в тот моент когда увеличивается кол-во очков происходит то то такое:
myVar++; // увеличиваем кол-во очков
myVarText.text= myVar; // присваиваем текстовому поле новое значение
надо незабывать каждый раз при изменении myVar присваивать ее значение полю, иначе оно будет содержать старое значение)

Zik.
05.05.2009, 12:40
вопрос. а зачем
myVarText.text = ...
не проще ли в текстовом поле написать score в графе "var"
и просто писать
score++
тогда и присваивать ничего не надо

Stargazer
05.05.2009, 13:27
вопрос. а зачем
myVarText.text = ...
не проще ли в текстовом поле написать score в графе "var"
и просто писать
score++
тогда и присваивать ничего не надо

Можте быть, проще, а, может быть, и нет. Часто бывает неудобно валить всё в одну кучу.

Проще всего один раз написать функцию для изменения количества очков и пользоваться ею.

alekslitvinenk
05.05.2009, 14:44
никогда никогда, ни при каких обстоятельствах не трогайте поле var у текстовых полей...
ибо одна головня боль...

Zik.
05.05.2009, 17:23
Эт с чего бы? Объясните, пожалуйста.

KiL33
05.05.2009, 17:26
Эт с чего бы? Объясните, пожалуйста.
Вам же сказали "никода, никогда", что вам ещё и третий раз повторить"никогда":D

iNils
05.05.2009, 17:30
Эт с чего бы? Объясните, пожалуйста.
Предок динозавров.

alex001
05.05.2009, 18:24
несовсем понимаю...
к чему привязывать код этот?
и это все? такой маленький код?
myVar это переменная для которой приведен там код?
я говорю я начинающий.

Stargazer
05.05.2009, 19:42
Например, на главной шкале вы разместили текст, сделали его динамическим, указали ему название myText.

Переменная score пусть тоже хранится на главной шкале. Тогда myText.text= score отобразит содержимое вашей переменной в myText (если вы его написали на той же главной шкале).

alex001
05.05.2009, 19:55
спасибо огромное!!! понял!!! разобрался!!!
теперь разработка игры пошла!
и меняеться число когда score увеличеваеться! и место легко поставить и цвет и все!
СПАСИБО!

NoCD
05.05.2009, 20:23
а вот такая схема имеет право на существование? :

var score:Number=0
var timer:Number=0

function score_inf(){
createTextField("score_i",10,300,200,100,50)
score_i.text="SCORE: "+score
}
score_inf()

this.onEnterFrame=function(){
if(timer<20){timer++}else{
score++
score_inf()
timer=0
}}

alex001
05.05.2009, 21:11
думаю имеет но больно сложная она. сейчас поразбираюсь.

Добавлено через 32 минуты
да спосибо за пример но согласись придыдущие было куда проще.
хотя и твой пример хорош. :)
и спосибо за timer а то я искал как сделать секундомер :)