|
|
|||||
Регистрация: Aug 2012
Сообщений: 108
|
принцип работы startDrag bounds
Здравствуйте, никто не может поделиться куском кода где описывается startDrag? Что-то я не нашел у себя во флеше. Либо интересует принцип работы bounds - как вычисляются границы за которые нельзя выходить?
Например, мой код получается несовсем рабочий, вот думаю, у них позаимствовать. Думаю, надо либо добавлять поиск по модулю, либо мин/макс значения (посмотрел в другом примере) var rect:Rectangle = getContentRegion(); var W:int = rect.bottomRight.x; var H:int = rect.bottomRight.y; var X:Number = (_content.x < rect.x) ? rect.x : (_content.x > W) ? W : _content.x; var Y:Number = (_content.y < rect.y) ? rect.y : (_content.y > H) ? H : _content.y; if (X != _content.x || Y != _content.y) { _content.x = X; _content.y = Y; } |
|
|||||
границы вы вычисляете сами, в разных случая по разному
нужно представить в голове прямоугольник который лежит на родителе, за его пределы нельзя вытащить объект вот к примеру мой текущий код: не позволяет вытаскивать объект за пределы visibleRect protected function downHandler(event:MouseEvent):void { // view.maxX / view.maxY - размер таскаемого объекта // visibleRect - видимая область экрана // Check sizes. if ( view.maxX > visibleRect.width ) { view.dragRect.x = - (view.maxX - visibleRect.width); view.dragRect.width = view.maxX - visibleRect.width; } else { view.dragRect.x = (visibleRect.width-view.maxX)/2; view.dragRect.width = 0; } if ( view.maxY > visibleRect.height ) { view.dragRect.y = - (view.maxY - visibleRect.height); view.dragRect.height = view.maxY-visibleRect.height; } else { view.dragRect.y = ( visibleRect.height - view.maxY ) / 2; view.dragRect.height = 0; } // Need to limit drag coords. view.startDrag( false, view.dragRect ); } |
Часовой пояс GMT +4, время: 21:00. |
|
« Предыдущая тема | Следующая тема » |
|
|