TransformGestureEvent увеличить изображение, но сохранить размер изображения Flex - PullRequest
2 голосов
/ 30 марта 2012

У меня проблемы с поиском точного ответа, который я ищу.Я создаю приложение, которое в настоящее время позволяет масштабировать изображение.Это встроено в Flash Builder 4.5.Что я хочу конкретно, так это сохранить изображение одинакового размера при увеличении и уменьшении.Таким образом, изображение все еще увеличивается и уменьшается, но остается в невидимой рамке.

Имеет ли это объяснение смысл?

Прямо сейчас я могу увеличивать и уменьшать масштаб, но он меняет размер изображения и охватывает другой контент.Со временем будут добавлены другие функции, включая панорамирование и поворот.Изображение станет трехмерной моделью рта.

Если будут предоставлены учебные пособия или источники, это было бы здорово.

Вот мой код для жеста масштабирования, который использует TransformGestureEvent:

import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.TransformGestureEvent;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;

private function init():void
{
    img.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom);
}

private function onZoom(event:TransformGestureEvent):void
{
    var mySprite:Sprite = img as Sprite;
    if(mySprite.scaleY.valueOf() >= 1)
    {
        mySprite.scaleX *= event.scaleX;
        mySprite.scaleY *= event.scaleY;
    }
    else
    {
        mySprite.scaleX= 1;
        mySprite.scaleY = 1;
    }
}

1 Ответ

0 голосов
/ 10 июня 2012

Если я правильно понимаю ваш вопрос.Я думаю, что вы можете захотеть взглянуть на scrollRect http://gskinner.com/blog/archives/2006/11/understanding_d.html

DisplayObject.scrollRect позволяет вам указать объект Rectangle, который определяет область DisplayObject (Sprite, MovieClip и т. Д.) Для отображения.Маскированная область всегда отображается в начале экранного объекта, что позволяет прокручивать область, изменяя свойства x и y прямоугольника.

...