Pergunta

Estou usando o Flash CS 5 e o Flex 4, ambos para criar um aplicativo de ar para Android. Eu gostaria de saber como permitir que o usuário mova o conteúdo (imagem ou texto) para cima e para baixo (como um mapa, neste caso apenas verticalmente).

Foi útil?

Solução

Ainda não há controles de interface do usuário disponíveis, então você precisa implementá -lo sozinho. Aqui está um pouco de código que pode ajudar você a começar. Eu escrevi na linha do tempo para poder testá -lo rapidamente. Você precisará fazer alguns ajustes se estiver usando em uma aula.

A variável content é um movimento que está no palco. Se for maior que a altura do palco, você poderá rolá -lo arrastando -o com o mouse (ou com o dedo em uma tela de toque). Se for menor que a altura do palco, não rolará, porque não precisa.

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);
}

Como alternativa, você pode usar o scrollRect propriedade. Esse é muito bom porque mascarará o conteúdo de uma região retangular para você. Se você apenas mudar y Como no código acima, você pode desenhar outros objetos de exibição na parte superior do conteúdo de rolagem para simular o mascaramento. É mais rápido que scrollRect também.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top