|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2010
Адрес: г. Майкоп, р. Адыгея
Сообщений: 27
|
UIComponent и его свойства width и height
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" initialize="AppInit(event);"> <fx:Script> <![CDATA[ import mx.core.UIComponent; import mx.events.FlexEvent; private var t1 :UIComponent = new UIComponent(); private function OnMouseDown( event :MouseEvent):void{ var UIC :UIComponent = UIComponent(event.target); trace("x = "+UIC.x ); //x = 50 trace("y = "+UIC.y ); //y = 50 trace("width = "+UIC.width ); //width = 0 trace("height = "+UIC.height ); //height = 0 } private function AppInit( event :FlexEvent ):void{ t1.graphics.lineStyle( 1, 0x000000 ); t1.graphics.beginFill( 0xee0000 ); t1.graphics.drawRect( 0, 0, 50, 50 ); t1.graphics.endFill(); t1.x = 50; t1.y = 50; t1.addEventListener( MouseEvent.MOUSE_DOWN, OnMouseDown ); addElement( t1 ); } ]]> </fx:Script> </s:Application> Как нибудь можно сделать так, чтобы у рисованных объектов ( Sprite, SpriteVisualElement, GraphicElement, и т.д.) была высота и ширина ? |
|
|||||
Регистрация: Jun 2010
Адрес: г. Майкоп, р. Адыгея
Сообщений: 27
|
Цитата:
А эта строка кода для чего стоит? Поясню немного код: 1) когда приходит событие initialize у Application - рисуется квадрат на t1 ( это UIComponent ) и добавляется в приложение: t1.addEventListener( MouseEvent.MOUSE_DOWN, OnMouseDown ); addElement( t1 ) 2) в обработчике события OnMouseDown я просто делаю trace x,y, width, height нарисованного квадрата. НО ЕГО ШИРИНА И ВЫСОТА = 0 Именно в этом и состоит вопрос: почему они нулевые ? |
|
|||||
Действительно, не заметил.
Цитата:
Либо наследуйтесь, и используя неймспейс mx_internal следите за $width, $heigth. graphics при подсчете width и height не учитывается. Последний раз редактировалось alatar; 26.08.2010 в 18:47. |
|
|||||
Регистрация: Jun 2010
Адрес: г. Майкоп, р. Адыгея
Сообщений: 27
|
Цитата:
И что за свойства с долларом ($width, $heigth, $x, $y, и т.д.) ? Кстати, когда приложение запускаю на дебаг, то $width = 50 и $heigth = 50. НЕ НУЛЕВЫЕ! Что мне и надо! Но как их использовать не знаю... (компилятор выдает ошибку). |
|
|||||
mx_internal внутренний неймспейс флекса (адоби используют его для прикрытия сомнительных мест), используется как и любой другой неймспейс.
Свойства с долларом нужны для задания оригинальных свойств Sprite (т.к. они переписаны). Последний раз редактировалось alatar; 27.08.2010 в 00:04. |
|
|||||
Регистрация: Jun 2010
Адрес: г. Майкоп, р. Адыгея
Сообщений: 27
|
Хорошо, понял.
Сейчас попробую ... |
Часовой пояс GMT +4, время: 12:49. |
|
« Предыдущая тема | Следующая тема » |
|
|