Пока нет доступных элементов управления с сенсорным интерфейсом, поэтому вам нужно реализовать их самостоятельно. Вот немного кода, который может помочь вам начать. Я написал это на временной шкале, чтобы я мог проверить это быстро. Вам нужно будет внести пару изменений, если вы используете его в классе.
Переменная content
- это мувиклип, который находится на сцене. Если она больше высоты сцены, вы сможете прокрутить ее, перетаскивая ее мышью (или пальцем по сенсорному экрану). Если он меньше высоты сцены, он вообще не будет прокручиваться, потому что в этом нет необходимости.
var maxY:Number = 0;
var minY:Number = Math.min(0, stage.stageHeight - content.height);
var _startY:Number;
var _startMouseY:Number;
addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent):void
{
_startY = content.y;
_startMouseY = mouseY;
stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_mouseUpHandler, false, 0, true);
}
function stage_mouseMoveHandler(event:MouseEvent):void
{
var offsetY:Number = mouseY - _startMouseY;
content.y = Math.max(Math.min(maxY, _startY + offsetY), minY);
}
function stage_mouseUpHandler(event:MouseEvent):void
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler);
stage.removeEventListener(MouseEvent.MOUSE_UP, stage_mouseUpHandler);
}
Кроме того, вы можете использовать свойство scrollRect
. Это очень приятно, потому что он замаскирует контент в прямоугольную область для вас. Если вы просто измените y
, как в приведенном выше коде, вы можете нарисовать другие экранные объекты поверх прокручиваемого содержимого, чтобы имитировать маскирование. Это быстрее, чем scrollRect
тоже.