|
|
|||||
Регистрация: Feb 2010
Сообщений: 102
|
Создание окна с компонентами
Собственно надо сделать такое окно:
[IMG]http://i17.***********/big/2011/0310/81/faed3e5a41997ae3a724a76ec2bd9181.jpg[/IMG] так что бы при нажатии на "_" окно уменьшалось и было видно только верхняя панелька и две кнопки. Но при написании следующего кода понятное дело всё окно со всем содержимым уменьшается пропорционально. А как сделать что бы при нажатии на эту окно уменьшалось до такой степени что бы осталась видна верхняя панелька и кнопки(что это всё не было сплюснуто). Идей у меня ноль, может кто чего подскажет? package { import caurina.transitions.Tweener; import flash.display.Sprite; import flash.events.MouseEvent; public class ConsoleForms extends Sprite { public function ConsoleForms() { //unForm - это моё окно MovieClip unForm.minimizeButton.addEventListener(MouseEvent.CLICK, minimizeWindow); } private function minimizeWindow(e:MouseEvent):void { Tweener.addTween(unForm, {height:32, time:2}); } } } |
|
|||||
Можно попробовать воспользоваться свойством scrollRect.
|
|
|||||
Или сделать show и hide (я еще к ним добавляю маленький контроллер, в котором проверяю isHide ? show() : hide() ) методы у формы, вызывать по надобности. Форму собирать из двух частей: заголовочная строчка и само окошко. Сами методы могут просто управлять свойством visible у контейнера с окном.
__________________
тут я |
|
|||||
Регистрация: Feb 2010
Сообщений: 102
|
сделал вот такую вещь:
package { import caurina.transitions.Tweener; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.geom.Rectangle; public class ConsoleForms extends Sprite { private static const WINDOW_FULL_HEIGHT:int=293; private static const WINDOW_MINIMIZED_HEIGHT:int=32; private var _r:Rectangle; private var _minimized:Boolean=false; public function ConsoleForms() { _r=new Rectangle(0, 0, unForm.width, unForm.height); unForm.minimizeButton.addEventListener(MouseEvent.CLICK, minimizeWindow); addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function minimizeWindow(e:MouseEvent):void { trace("minimize"); if(_minimized) { Tweener.addTween(_r, {height:WINDOW_FULL_HEIGHT, time:1}); unForm.minimizeButton.label="-"; } else { Tweener.addTween(_r, {height:WINDOW_MINIMIZED_HEIGHT, time:1}); unForm.minimizeButton.label="+"; } _minimized=!_minimized; } private function onEnterFrame(e:Event):void { unForm.scrollRect=_r; } } } Последний раз редактировалось metsys; 11.03.2011 в 13:22. |
|
|||||
Я не знаком с caurina, но полагаю, что каким-то образом можно узнать момент окончания tween'а. Если так, то можно подписываться на Event.ENTER_FRAME в момент нажатия кнопки и отписываться в момент завершения анимации.
|
Часовой пояс GMT +4, время: 10:29. |
|
« Предыдущая тема | Следующая тема » |
|
|