Форум 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)
-   -   Передача переменной на сл. кадр(help) (http://www.flasher.ru/forum/showthread.php?t=138522)

Klever 09.04.2010 19:40

Передача переменной на сл. кадр(help)
 
Здравствуйте =) извиняюсь если уже была подобная тема.

у меня возникла проблема помогите решить.

имеется два кадра.

На кадре первом имеется Movie Clip(предположим просто квадрат :D)
В это квадрате расположена кнопка Button, у этой кнопки имеется код
Код AS1/AS2:

_root.gotoAndStop(2);
_root.txt7.text = "БлаБлаБла";

на втором кадре тектовое поле с именем txt7

вот при нажатии на кнопку на 1-ом кадре, на 2-ой кадр переходит, а текст в поле txt7 не вставляется, кто знает как это исправить?
где я туплю)))

mooncar 09.04.2010 20:27

В первом кадре нет поля txt7. Значит при определении функции-обработчика для кнопки это поле остается неопределенным.
Т.е. какому именно полю присваивать свойство text, равное вашему "БлаБла", функция так "не уззнает".

Klever 09.04.2010 21:16

и как быть в таком случае

mooncar 09.04.2010 21:22

Включаем логику. Есть пара вариантов.
1) Ваше текстовое поле должно присутствовать уже в том же кадре, где определяется ваша функция. Если оно там будет мешать, то используйте свойство TextField._visible, делая его невидимым в первом кадре, а во втором - видимым.
2) Определяйте функцию там, где текстовое поле уже есть (во втором кадре).

AzagThoth 09.04.2010 21:47

Вариант три: свяжите с текстовым полем переменную Свойства->Параметры->Переменная и задавайте значение для этой переменной. Тогда всё может остаться во втором кадре а код будет на первом.

Klever 09.04.2010 21:57

не подскажешь как именно функцией сделать, а то я смутно представляю как это делать

mooncar 09.04.2010 22:01

Цитата:

Сообщение от AzagThoth (Сообщение 899340)
Вариант три: свяжите с текстовым полем переменную Свойства->Параметры->Переменная и задавайте значение для этой переменной. Тогда всё может остаться во втором кадре а код будет на первом.

Не учите плохому. Использовать связанную с текстовым полем переменную очень сильно не стоит.
Автор должен разобраться в правильном методе.

AzagThoth 09.04.2010 22:08

А где можно почитать почему стоит избегать использования связанных переменных? Просто по моему это определённое достоинство и почему бы его не использовать!?

mooncar 09.04.2010 22:09

Вложений: 1
Автор, см. пример.

mooncar 09.04.2010 22:12

Цитата:

Сообщение от AzagThoth (Сообщение 899349)
А где можно почитать почему стоит избегать использования связанных переменных? Просто по моему это определённое достоинство и почему бы его не использовать!?

Насчет почитать - не знаю. Возможно, где-то в обсуждениях, на форумах и т.д. Но я сам столкнулся на заре работы с флешем. В процессе разработки обнаружилось, что это очень сильно вредит, полдня как-то отлавливал баг из-за этого. Сейчас детализировать вам точно не смогу, т.к. было это у меня давно, но помню, что приводило к глюкам в работе кода, связанным с незапланированными событиями, когда поле var текстового поля использовалось, менялись его значения.
Кажется, это приводило к тому, что значение определенной переменной в коде кадра бралось не из логики работы этого кода, а из того значения, которое стояло в текстовом поле.
В общем, это такое же правило, как и не писать код на мувиках и кнопках, не использовать сцен и т.д.


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

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