Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package screens
- {
- import com.greensock.transform.Crop;
- import com.greensock.transform.TransformItem;
- import com.greensock.transform.TransformManager;
- import flash.display.Bitmap;
- import flash.display.MovieClip;
- import flash.display.Shape;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import controls.Slider;
- import screens.events.ScreenEvent;
- public class SettingsScreen extends BaseScreen
- {
- [Embed(source = "../../assets/Jake.jpg")]
- private var JakeImg:Class;
- private static const BORDER_WIDTH:int = 363;
- private static const BORDER_HEIGHT:int = 453;
- private var _image:Sprite;
- private var _imageBorder:Sprite;
- private var _imageContainer:Sprite;
- private var _backButton:SimpleButton;
- private var _nextButton:SimpleButton;
- private var _visual:Sprite;
- private var _scaleSlider:Slider;
- private var _rotationSlider:Slider;
- private var _item:TransformItem;
- private var _manager:TransformManager;
- private var _crop:Crop;
- public function SettingsScreen(visual:Sprite)
- {
- super(visual);
- _visual = visual;
- _nextButton = _visual.getChildByName("nextButton") as SimpleButton;
- _nextButton.addEventListener(MouseEvent.CLICK, buttonClickHandler);
- _backButton = _visual.getChildByName("backButton") as SimpleButton;
- _backButton.addEventListener(MouseEvent.CLICK, buttonClickHandler);
- makeImageBorder();
- makeSliders();
- }
- private function buttonClickHandler(event:MouseEvent):void
- {
- switch(event.currentTarget)
- {
- case _nextButton:
- cropImage();
- //dispatchEvent(new ScreenEvent(ScreenEvent.CHANGE, NameCartoonScreen));
- break;
- case _backButton:
- dispatchEvent(new ScreenEvent(ScreenEvent.CHANGE, ChooseImageScreen));
- break;
- }
- }
- private function makeImageBorder():void
- {
- _imageContainer = new Sprite();
- _visual.addChild(_imageContainer);
- _imageBorder = _visual.getChildByName("imageBorder") as MovieClip;
- var bitmap:Bitmap = new JakeImg();
- _image = new Sprite();
- _image.addChild(bitmap);
- _imageContainer.addChild(_image);
- _manager = new TransformManager();
- _manager.addItem(_image);
- _manager.lineThickness = 0;
- _manager.arrowKeysMove = true;
- _manager.constrainScale = true;
- _manager.scaleFromCenter = true;
- _manager.handleSize = 0;
- _manager.hideCenterHandle = true;
- var blankShape:Shape = new Shape();
- TransformManager.customizeMoveCursor(blankShape, false);
- TransformManager.customizeRotationCursor(blankShape, false);
- _item = _manager.getItem(_image);
- _item.minScale = 0.2;
- _item.maxScale = 2;
- _manager.selectItem(_item, true);
- var borderMask:Shape = new Shape();
- borderMask.graphics.beginFill(0x00FF00);
- borderMask.graphics.drawRect(0, 0, 329.8, 353.95);
- borderMask.x = 144.55;
- borderMask.y = 140.65;
- _imageContainer.mask = borderMask;
- _visual.addChild(borderMask);
- _imageBorder.addChildAt(_imageContainer, 0);
- }
- private function makeSliders():void
- {
- _scaleSlider = new Slider(_visual, 670, 220);
- _scaleSlider.minimum = _item.minScaleX;
- _scaleSlider.maximum = _item.maxScaleX;
- _scaleSlider.value = (_scaleSlider.maximum + _scaleSlider.minimum) / 2;
- _item.scale(_scaleSlider.value, _scaleSlider.value);
- _imageContainer.x = BORDER_WIDTH / 2 - (_imageContainer.width / 2);
- _imageContainer.y = (BORDER_HEIGHT) / 2 - (_imageContainer.height / 2);
- _scaleSlider.addEventListener(Event.CHANGE, scaleSliderChangeHandler);
- _rotationSlider = new Slider(_visual, 670, 320);
- _rotationSlider.minimum = -180;
- _rotationSlider.maximum = 180;
- _rotationSlider.value = 0;
- _item.rotate(_rotationSlider.value);
- _rotationSlider.addEventListener(Event.CHANGE, rotationSliderChangeHandler);
- }
- private function scaleSliderChangeHandler(event:Event):void
- {
- _item.scaleX = _scaleSlider.value;
- _item.scaleY = _scaleSlider.value;
- }
- private function rotationSliderChangeHandler(event:Event):void
- {
- _item.rotation = _rotationSlider.value;
- }
- private function cropImage():void
- {
- var faceArea:FaceArea_mc = new FaceArea_mc();
- _crop = new Crop(_image, _manager);
- /* _crop.x = 128 + 36.70;
- _crop.y = 90.95 + 20.80;
- _crop.width = faceArea.width;
- _crop.height = faceArea.height;*/
- _crop.configureCropMode(true, 0.1, 0x0000FF, true);
- _crop.cropMode = true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement