![]() |
Как обратиться к свойству объекта TextField из класса кнопки
Вложений: 1
На объекте главной формы(mainForm.as) лежит объект кнопка (myButton.as) и экземпляр динамического текста (txt)
Вложение 25311 Как из класса myButton.as(при событии клик по кнопке) изменить свойство text экземпляра txt??? txt - в свою очередь создается в mainForm.as, оператором new В Actionscript 2.0 я обращался через _рут.. В делфи подключается в uses и все свойства становятся доступными.. ну подскажите, пожалуйста, как обращаться к сторонним объектам в АС 3.0 всю документацию перерыл нету ничего, помогите господа. |
Я бы сделал так:
Код AS3:
|
Спасибо за ответ, но это не совсем то. В одном файле обращаться у меня получается, а вот когда в разных... У меня есть класс кнопки(отдельный файл *.ас) в котором определены функции и листерны и отдельный файл мэйнФорм.ас в котором вызывается конструктор этой кнопки, и конструктор тхт. Можно ли в такой ситуации обратиться из класса кнопки к свойству текста? Или нужно именно что бы кнопка обрабатывала листерны для текста в одном файле ?
|
Я, конечно, могу ошибаться, но если вы не преследуете какой-то определенной цели данным требованием, то лучше все-таки назначать обработчик действий на месте. По вашему вопросу - можно в кнопку передавать ссылку на текстовое поле и в кнопке изменять текст, можно при нажатии на кнопку высылать кастомное событие, в котором передавать необходимый текст, ловить его в вашей форме и в ней менять текст, можно передавать функцию главной формы в кнопку, которая будет вызываться при нажатии на нее... можно придумать еще 100 и один способ, но зачем? :) listeners в классе вашей кнопки нужны скорее для того, чтобы менять графическое ее состояние при нажатии, или обрабатывать какие-то специфические функции, присущие этой кнопке. Если вы тесно свяжете кнопку с текстовым полем - то будет весьма проблематично использовать ее повторно для других целей.
|
Спасибо огромное, я просто новичок в АС 3.0 наверное вы правы.
|
Советую почитать что-нибудь про ООП. Некоторые вещи сложны при первом знакомстве, но есть очень полезные концепции, помогающие связно думать и строить проект, прежде всего взаимодействия. Кратко так - у каждого объекта должна быть своя простая миссия. Кнопка просто нажимается, поле просто выводит текст, в основном классе - логика. Когда кнопка инкапсулирована, ей не надо ничего вообще знать о том, что происходит вовне. Она просто нажимается и посылает событие что ее нажали, всё. Такую кнопку Вы можете использовать где угодно и как угодно, а проект превращается в подобие конструктора, собираясь из отдельных деталек. Основному классу не обязательно знать об оверСтейте кнопки, ему нужны только события кнопки. Кнопке не надо знать, что произойдет когда ее кликнут, а тем более - что где-то есть какое-то поле, в которое надо передать какой-то текст... Это же просто кнопка! Зачем пихать в нее логику самого приложения?)))
|
Вложений: 1
Вдохновившись сообщением от Wolsh, сваял вот такой примерчик
Main Код AS3:
Код AS3:
Код AS3:
Код AS3:
Код AS3:
Код AS3:
..и конечно же Почаще слушайте человека с ником Wolsh, плохого никогда не посоветует :) |
| Часовой пояс GMT +4, время: 06:27. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.