|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Apr 2010
Сообщений: 82
|
отслеживание изменения размеров спрайта
Здравствуйте.
Подскажите пожалуйста, можно ли отслеживать изменение размеров объектов Bitmap и Sprite, и, если да, то как? |
|
|||||
Banned
[+1 27.05.13]
Регистрация: May 2013
Сообщений: 60
|
import flash.display.Sprite; import flash.events.Event; var s:Sprite = new Sprite(); s.graphics.beginFill( 0 ); s.graphics.drawRect( -100, -100, 200, 200 ); s.x = s.y = 250; this.addChild( s ); s.addEventListener( "RESIZE", SpriteResize ); stage.addEventListener( MouseEvent.CLICK, Click ); function SpriteResize( e:Event ):void { trace( e.type, s.width ); } function Click( e:MouseEvent ):void { s.width = 200 * ( Math.sin( getTimer() / 1000 ) + 1 ); s.dispatchEvent( new Event( "RESIZE" ) ); } |
|
|||||
Регистрация: Apr 2010
Сообщений: 82
|
Только кастомное событие? другого способа отследить изменение размеров экранных объектов нет?
|
|
|||||
Я бы и пример выше использовать не стал.
Если у вас свои объекты, которые наследуются от DisplayObject, вы можете переопределить акцессоры width\height, или вам придется проверять изменения в ручную.
__________________
местонахождение |
|
|||||
Banned
[+1 27.05.13]
Регистрация: May 2013
Сообщений: 60
|
Напиши классы наследуемые от битмап и спрайтов и добавь к свойствам ширины и высоты отправку события.
package { import flash.display.Sprite; import flash.events.Event; public class MySprite extends Sprite { public function MySprite() { // constructor code } public override function set width( value:Number ):void { super.width = value; this.dispatchEvent( new Event( "RESIZE" ) ); } } } import flash.events.MouseEvent; import flash.events.Event; var s:MySprite = new MySprite(); s.graphics.beginFill( 0x000000 ); s.graphics.drawRect( 0, 0, 200, 200 ); this.addChild( s ); s.addEventListener( "RESIZE", Trace ); stage.addEventListener(MouseEvent.CLICK, Click ); function Trace( e:Event ):void { trace( s.width ); } function Click( e:MouseEvent ):void { s.width = Math.random() * 100 + 100; } |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
Придется писать свои DO и DOC, но, мне кажется, что задача у ТС намного проще и решается совсем иными способами
__________________
местонахождение |
|
|||||
[+1 25.10.13]
[+4 18.03.14] |
50% использования стандартных ui остальное override
|
Часовой пояс GMT +4, время: 09:16. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|