Форум 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)

Dukobpa3 07.11.2013 16:37

Цитата:

Я четко знаю
Код AS3:

trace(stage.mouseX == event.mouseX);
// true if statge != null
// false if stage == null

В данном контексте обращение к стейджу нарывается на кидок стула в голову.

Wolsh 07.11.2013 16:44

Ну ОК, не злись)) Видимо, мы по-разному понимаем значение слова "гибкость")) И на event.stageX все-таки поменяй)) Игры, они, знаешь ли, фризятся, а геймеры народ горячий и мышку дергают со сверхзвуковой скоростью. Может на вашем тестовом девятиядернике и не было проблем, но я тут — да, именно за твою профессиональную крутизну радею. Дьявол кроется в деталях. Не хочешь слушать меня — просто задумайся, нафига в MouseEvent эти свойства запихали, целых два лишних никому не нужных. Ведь "полюбому" объект, пославший MouseEvent, на сцене, и всегда можно было бы спросить stage.mouseX. Но увы, это лишь предположение. Не надо так. Это концептуальный хардкод. Такой же, как предположение что дизабленная кнопка должна быть полупрозрачной.

in4core 07.11.2013 16:48

Wolsh - безусловно учту слова на будущее. И мне приятно слушать *правду*, но не люблю когда слова не так трактуют очень. А вот про тестовый девтиядерник хотелось бы поподробнее причем тут это. Проверка молниеносной скорости мыши, работа на планшетах и иже с ними, слабых компах и т.п. не вызывает никаких проблем. Я пока не пойму где твой дьявол здесь.

Dukobpa3
Цитата:

// false if stage == null
Stage is never null here. Поэтому как обращаться не важно

alexcon314 07.11.2013 16:49

Видимо, in4core имел в виду, что хардкод - это стезя не знающих поражений. Действительно, если взять и нарисовать кнопку в (0,0) и потом помнить всю дорогу до конца проекта (и потом пару лет на саппорте), что двигать и удалять боже упаси ее нельзя, то координаты мыши вообще можно не вычислять через каке-то там ивенты и стейджи:кнопка же в нулях, стал быть и мышка где-то тут... все очень просто и надежно. Это тру, по-любому. И не нужно возражать со всякими там если: все соображения, начинающиеся со слов "а если кнопку того.." разбиваются наглухо об "ничего нельзя того! Работает - не трогай!".

Dukobpa3 07.11.2013 16:55

Вложений: 1
Цитата:

Stage is never null here.
Вложение 30147

Tails 07.11.2013 18:06

Цитата:

Сообщение от in4core (Сообщение 1151516)
А вот про тестовый девтиядерник хотелось бы поподробнее причем тут это. Проверка молниеносной скорости мыши, работа на планшетах и иже с ними, слабых компах и т.п. не вызывает никаких проблем. Я пока не пойму где твой дьявол здесь.

Дьявол зарыт в асинхронности. События и асинхронные вызовы на более слабых машинах, будут вызываться гораздо позднее/вести себя иначе. И если код спроектирован без учёта этого, могут всплывать самые разнообразные "прикольчики", а отладка превратиться в ад.

in4core,
А можно узнать, в каких конторах вы работали? Так сказать, что-бы не попасть на саппорт проекта, в котором:
Цитата:

Stage is never null here.
:)

Dukobpa3 07.11.2013 18:18

Цитата:

События и асинхронные вызовы на более слабых машинах
Я вот раньше принципиально держал комп селерон 1.3 с 512 оперативки для тестов.
Так вот частенько такое бывало, что при запуске документ-класс был без стейджа. Такие дела.
С тех пор всегда использую ФД шаблон дефолтный, с подпиской.
Вот уже не помню когда последний раз на эту особенность плеера напарывался. Но опыт не пропьешь B-)

in4core 07.11.2013 18:18

Tails - ни в каких, мне просто стыдно , что все такие крутые и умные, а я нет , вы меня раскрыли :)

load.(assets.swf)
///
addChild(assets);
Это инициализация программы, так сказать первое действие после запуска мейника. Если в этих assets не происходит никаких удалений и иных действий - то стейдж у элементов, которое подсосаны просто как граф элементы никогда не будет null. К примеру грузите вы топ-меню, которое всегда на виду. В котором не удаляются и не добавляются элементы

Добавлено через 1 минуту
Цитата:

Так вот частенько такое бывало, что при запуске документ-класс был без стейджа.
Ну это конечно очень смешно. У меня есть и целерон с 256 оперативки в офисе, достался как говорится от дедушки, и даже там такого не было)

Dukobpa3 07.11.2013 19:26

Код AS3:

addChild(assets);

О_о wtf?

Добавлено через 31 секунду
А че тогда уж не
Код AS3:

stage.addChild(assets);


in4core 07.11.2013 20:01

Dukobpa3 совсем не понял юмора. я структуру просто написал.
А про нет стейджа при компиляции мейна - брехня.


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

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