PDA

Просмотр полной версии : Глубина текста.


AzagThoth
02.11.2009, 15:15
А что, правда что у текста есть глубина... А изменить её програмно невозможно? :wacko:

Это я о том, что можно программно менять глубину на которой мувиклип лежит, можно конечно и текст в мувиклип вложить, только не очень элегантно это... Просмотрел все методы и параметры TextField ничего похожего на програмное изменение нет.

Если кто знает как изменить именно глубину на которой сидит сам текст, то пожалуйста - подскажите.

fessor
02.11.2009, 16:04
только вкладывать в мувиклип, другого не знаю (

AzagThoth
02.11.2009, 16:21
Вот и я не знаю :)
Но по идее такое ну просто не может быть невозможным) Надеюсь, что кто-то кто сталкивался подскажет как замутить это.

MaskiShow
02.11.2009, 16:50
а это что: createTextField(instanceName:String, depth:Number,, ...)

AzagThoth
02.11.2009, 18:29
а это что: createTextField(instanceName:String, depth:Number,, ...) - Метод создает новое пустое текстовое поле в мувиклипе my_mc.

Мне не нужно создавать!

А изменить её програмно невозможно?

Мне нужно ИЗМЕНИТЬ глубину существуещего текстового поля. :moder:

Добавлено через 30 часов 42 минуты
Ап....

AzagThoth
06.11.2009, 06:13
Короче всё просто как апельсин :) Разобрался сам. Те кто не верит что такое возможно сделать с текстом если он уже создан программно или добавлен на таймлайн вручную - Вы не правы :)

MaskiShow
06.11.2009, 10:08
свапдепф?)

AzagThoth
06.11.2009, 10:23
50% свапдепф

elcard
06.11.2009, 13:18
свапдепф?)

Если все просто, то зачем написал сюда? Считаешь себя глупым? :)

А вообще можно было бы написать как решил вопрос.

AzagThoth
06.11.2009, 17:35
Поясню, увидев как это просто... Решил, что меня намеренно "водили" за нос и не подсказали. Потому и написал, хотел проверить своё предположение... Уж извините пожалуйста за мою склонность к подозрительности :) Собсно я и ждал этого вопроса - когда кто-то спросит - КАК? Это развеяло бы мою подозрительность, что все знают и НАМЕРЕННО мне не говорят...
Короче вот сам способ если что...
Текст.__proto__=new MovieClip;//Делаем Текст подклассом класа мувиклип...
Текст.swapDepths(i)//Меняем глубину, где i переменная которая станет новой глубиной))
Данный метод можно использовать АБСОЛЮТНО ко всему, например к кнопкам)) У кнопок тогда появится hitTest() ;)
То есть мы можем переподчинять методы объектов друг друга меняя надкласс...

ЗЫ: по прежнему висит подозрительность, что данный способ итак ВСЕ знают, просто почему-то отмалчиваются...

mooncar
06.11.2009, 17:53
Скажу больше - у определенной касты флешеров есть специальная программа, она понимает устные задания с микрофона и сама генерирует код.
Передается под большим секретом только посвященным в эту тайну. Поэтому иногда в том числе и здесь, на форуме, порою всплывает одновременно такой простой, и грамотный и хороший код - это все эта программа генерирует!
Только зря я сказал об этом - мне теперь ее точно не видать.

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

udaaff
06.11.2009, 18:01
Этот метод я, к примеру, не знал, потому что классами и нормальным ООП серьезно еще не занимался. Приперло бы, поискал бы решение.
С нормальным ООП это никак не связано.

AzagThoth
06.11.2009, 18:25
Я знаю, что у меня паранойа) К сожалению это часть моего характера :)

etc
06.11.2009, 23:20
ЗЫ: по прежнему висит подозрительность, что данный способ итак ВСЕ знают
Это грязный второсортный хак и не более того. Лучше не знать.
И до ООП ему как до Китая.

AzagThoth
07.11.2009, 04:00
Сколько ненависти к бедному __prop__ .... БРРРРР Аж страшно!

А если серьёзно, то не зачем над хорошим приёмом глумица...
Зачем относить такую интересную фичу к матерным словам в AS?
А быть может Вы и ASSetPropFlasgs и AsBroadcaster тоже к матам причисляете? :taunt:

Я полагаю что если приём позволяет решить поставленный вопрос, значит это как раз нужный приём.

---Улыбаемся и машем--- :bye: ---Улыбаемся и машем--- :boredom:

Добавлено через 3 часа 59 минут
Собсно по теме, вот только что наткнулся.. http://habrahabr.ru/blogs/flash/2949/ Критиканты)
Может я чего то ДЕЙСТВИТЕЛЬНО не понимаю.... Если есть часть языка, которая помогает то зачем от неё отказываться? Собсно если в AS3 этого нет, так я и не против, значит там не пользуемся - а тут пользуемся на здоровье...

Добавлено через 5 часов 34 минуты
Собственно перед нами плохо защищённые объекты, методы(называйте как хотите...) внутренней реализации языка, которые превращают язык в резиновый язык... Как-то так) Где же тут грех в их использовании? Хотя если Вы чистоплюй... :)

etc
07.11.2009, 12:46
AzagThoth, у нас тут один индеец-фанат уже был. Вы его заместитель? Если нет, то может мне лучше вас познакомить с ним? Общий язык найдете на ура. Только не здесь.

dimarik
07.11.2009, 19:02
Для всех инстанцируемых.
TextField.prototype = MovieClip.prototype;

Для конкретного экземпляра
textField.__proto__ = MovieClip.prototype;

silin
07.11.2009, 20:44
а вот еще , не знаю хак это или нет
_root.swapDepths.call(textField, 2);
т.е. прототипы TextField и MovieClip и без того родственны настолько, что явного переопределения и не нужно, swapDepths и так выполняется

etc
07.11.2009, 22:35
а вот еще , не знаю хак это или нет
_root.swapDepths.call(textField, 2);

Хак, но не настолько разрушительный.

AzagThoth
08.11.2009, 02:59
а вот еще , не знаю хак это или нет
_root.swapDepths.call(textField, 2);
т.е. прототипы TextField и MovieClip и без того родственны настолько, что явного переопределения и не нужно, swapDepths и так выполняется
А вот это вообще! Очень изящно!! Спасибо большое! :)