Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Композиция: обращение вверх по иерархии (http://www.flasher.ru/forum/showthread.php?t=204193)

Babylon 23.10.2013 00:22

Зачем Вы разбили детские мечты об идеальном коде?

Fogflasher 23.10.2013 00:37

Babylon,
Цитата:

Я для этих целей использую сами знаете что.
Ээ... : ) Нет, боюсь что не знаю.

Цитата:

У меня есть dict[node.@id]=class
К сожалению, мне непонятна эта запись. Хотя догадываюсь из какой это области, всякие там Dictionary, ужас-ужас.

Цитата:

Зачем Вы разбили детские мечты об идеальном коде?
Такой цели я специально не ставил, лол.

Akopalipsis 23.10.2013 00:45

Цитата:

Зачем здесь прописывать дефолтный null, это чем то лучше, чем оставить просто e:Event?
Ну если не будет нуля, то не получится вызвать метод без параметров.
Цитата:

Я понимаю его так: Создать экземпляр класса AppConfig и передать ему экземпляр класса Main.
Во первых - передаём ссылку, ссылку - на DisplayObjectContainer.
Цитата:

Ведь мы этот оператор не присваиваем никакой переменной, то есть экземпляр завис в воздухе.
А он и не нужен, его цель только передать ссылку.
Цитата:

Правильно ли я понимаю, что по сути мы сейчас добавили экземпляр класса MainView в экземпляр класса Main?
И именно для этого писали new AppConfig(this); то есть передача через конструктор обязательна. И по другому нельзя.
Во первых - передаём ссылку, ссылку - на DisplayObjectContainer.
Можно, как Вы хотите так и можно. я просто показал как делает большинство.
Цитата:

Сначала я было подумал, что мы будем юзать некий системный класс Button, потому что это слово подсвечивается.
я не знаю что такое системный класс кнопки.
Цитата:

А вот этот .id - это что за свойство, оно же не было ранее объявлено нигде.
ID- это идентификатор.
Цитата:

Применили к текущему экземпляру класса MainView метод destroy, который обратился к экземпляру класса выше
(то есть super. это ссылка на Main, ведь так?), и удалил всех его детей. Выходит, это всё равносильно записи: this.super.removeChildren();
this === текущий
super === наследуемый
Цитата:

Не понимаю, что здесь делает super(); Он вызывает конструктор системного класса Sprite, но... что это дает?
Оно так и так там есть...
Цитата:

8. Функции get и set, в связке со свойством _id, они несут какую-то функциональность в данном примере?
Так лучше.
Код AS3:

Вы проверяли этот проект на работоспособность? А то при запуске я получаю одну ошибку:

Вами исправленный код - нет!

Добавлено через 4 минуты
Fogflasher я тоже мало чего знаю, но я всегда слушаю советы,
Вам нужно Мука почитать. Вот есть у Вас вопрос - что такое super, открыли и посмотрели.
Не поняли, спросили. я тоже уже кучу книг прочёл, но пока мне не скажут, что надо так! меня сомнения гложут.

Добавлено через 6 минут
Babylon на самом деле, я Вас теперь понимаю и понимаю Ваше слова про ядро. Странно что Вас другие не понимали.

Wolsh 23.10.2013 00:59

Цитата:

я просто показал как делает большинство.
Ни разу в жизни так не делал. Испытал оправданный ужас, глядя на висящий в воздухе вызов конструктора. Аж мурашки по коже.
Цитата:

А вот этот .id - это что за свойство, оно же не было ранее объявлено нигде.
Свойство класса Button, очевидно.

Цитата:

К сожалению, мне непонятна эта запись. Хотя догадываюсь из какой это области, всякие там Dictionary, ужас-ужас.
Dictionary + XML + e4x
Цитата:

Вы проверяли этот проект на работоспособность? А то при запуске я получаю одну ошибку:
Метод removeChildren требует 11 версии плеера.
Учитывая, что на дворе уже версия 11.9, может пора перестать компилить под десятку?

Akopalipsis 23.10.2013 01:04

Цитата:

Ни разу в жизни так не делал. Испытал оправданный ужас, глядя на висящий в воздухе вызов конструктора. Аж мурашки по коже.
А возможно я и не прав, Вы про то, что конфиг не сохранён?

Wolsh 23.10.2013 01:09

Цитата:

Вы про то, что конфиг не сохранён?
Я про то, что у GC сегодня сытный ужин)

elder_Nosferatu 23.10.2013 03:39

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

Wolsh 23.10.2013 09:34

Ну так это Stage. У него нет родителя и сам он не расширяется, так что командовать им могут только дети, как ни крути.

Fogflasher 23.10.2013 09:51

Akopalipsis,
Цитата:

Fogflasher я тоже мало чего знаю, но я всегда слушаю советы...
Звучит так, словно я не слушаю советы )

Цитата:

Вам нужно Мука почитать. Вот есть у Вас вопрос - что такое super, открыли и посмотрели.
Наверное вам показалось, что я придираюсь к вашему коду и троллю...
Отнюдь нет. Просто иногда приятнее спросить, нежели ковыряться в документации. Возможно я переборщил здесь.

Цитата:

я не знаю что такое системный класс кнопки.
Я тоже не знаю. Но раз подсвечивается, значит "что-то тут нечисто". Есть еще вот такое.

Цитата:

ID- это идентификатор.
Не, ну так смысл свойства понятен, базару нет.
Я имел ввиду: это свойство системное, ну типа x, или buttonMode, или созданное рукотворно, но "на лету", без объявление где либо еще.

Цитата:

Оно так и так там есть...
Нихт ферштэйн... Ну вот если бы там не было этого super(); что бы изменилось?

Цитата:

Вами исправленный код - нет!
Да я просто гремлин какой, ломающий чужие механизмы, и обвиняющий их создателя в неработоспособности ; )

Wolsh,
Цитата:

Метод removeChildren требует 11 версии плеера.
Учитывая, что на дворе уже версия 11.9, может пора перестать компилить под десятку?
Да, наверное таки пора : ) Хотя, тут есть встречный вопрос, вот когда я пробую открыть посредством Flash CS 3 файлы .fla более высокой версии, у меня идет сообщение: "неизвестный формат". Будет ли такое наблюдатся в обратном порядке, то есть смогу ли я открыть например версией CS6, файлы CS3?
И если нет, то можно ли как-то из библиотеки мувики экспортировать/передать в более старшую версию.

udaaff 23.10.2013 10:17

Цитата:

Ну вот если бы там не было этого super(); что бы изменилось?
Можно многие вещи не писать и это не повлияет на работу программы. Но лучше писать как принятно.


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

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