|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[+4 06.05.14]
|
Tyger это все и так понятно. С этим проблем у меня нет. В трейсе все как раз выводится верно. А вот на сцене изменений нет. Потому что я видимо обращаюсь НЕ к созданному экземпляру. Выше я описал ТАК как написано у меня, ну схематично конечно. Трейс там работает и причем текст в трейсе меняется, а вот на дисплее - фигу
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
in4coze, Вы создаёте 2 экземпляра, но скорее всего Вам нужен один, который унаследованный.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Насколько я понял вам надо сделать так:
Класс sub, в данном случае, вам вообще не нужен. |
|
|||||
[+4 06.05.14]
|
Да нет же блин. Все так просто это понятно.
Задача : клип с 5 текстовыми полями, в которых отображаются разные значения. Отдельно Класс занимающийся переименованием значений полей клипа. Все два класса должны включаться в Main классе. Смысл такой, что тот клип имеет глобальные настройки такие как громкость звука, язык интерфейса и т.д. Вот и нужно сделать отдельный класс который будет заниматься настройками только. Менять громкость и прочее. Пока проблем не возникло все подключил все ок. А вот текст не переименовывается через super хоть убей. Я не знаю поможет ли это, но вот код мой уже // Main public class Main extends Sprite() { var sbox; public function Main() { createSettingsBox() ; setCommunications() ; } private function createSettingsBox():void { sbox = new settingsBox(); // это наш клип addChild(sbox); } private function setCommunications() { var che:settingsChecker = new settingsChecker(settings_array) // а вот класс с настройками для клипа, где массив settings_array это кнопки, ну это думаю не важно, там проблем нет } } // SettingsBox public class settingsBox extends MovieClip { public function settingsBox():void { } public function setTrack(t1:String) { track.text = t1; } } // checker public class settingsChecker extends settingsBox{ public function settingsChecker(array:Array) { /* поехали super.setTrack('555') // trace дает все верно, на сцене эффекта 0 или просто setTrack('555') аналогично . КАК НАПИСАТЬ ТО НАДО? что никто не знает? */ } Проще поясните могу ли Я изменять свойства класса SettingsBox из последнего класса. Так как написано у меня. Если НЕТ то буду думать другую структуру. Спасибо |
|
|||||
Регистрация: Oct 2010
Адрес: PNZ
Сообщений: 20
|
alatar был прав в 14 посте, вам не надо наследоваться от settingsBox, имхо нет смысла, взаимодействуйте с текстовыми полями через sbox.setText(text); думаю другая структура - это действительно выход.
|
|
|||||
[+4 06.05.14]
|
Пришлось поменять структуру . Ну да ладно. просто нелюблю оставлять недопонятые поменты. В будущем пригодится вдруг, а нате незнаю. Не всегда же нужно искать другую структуру. В данном случае, конечно друга струтура вышла в 100% приятнее, все в одном классе поместилось. а в main его креплю и все.
|
|
|||||
Регистрация: Oct 2010
Адрес: PNZ
Сообщений: 20
|
Если сами начинаете путаться в своем коде - первый признак, что по нему плачет рефакторинг
|
|
|||||
почитайте про наследование..вы просто путаетесь в понятиях.
вызывая super.someMethod вы не вызываете метод экземпляра родителя "где-то там". вы вызываете метод экземпляра унаследованного класса, но работает по родительской логике... млин..чота я подзакипаю )
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
Часовой пояс GMT +4, время: 08:25. |
|
« Предыдущая тема | Следующая тема » |
|
|