Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как изменить width без scaleX (http://www.flasher.ru/forum/showthread.php?t=174541)

rezachez 27.01.2012 21:47

Как изменить width без scaleX
 
Код AS3:

image.width = 100;
//image.scaleX = 1;
image.width = 50;
//image.scaleX = 0.5; //тут надо чтобы осталась "1"

Я загрузил картинки разного размера. Уменьшаю. под заданный мною размер. Но потом мне нужно использовать свойство scaleX и мне надо, чтобы после уменьшения оно было "1".

mooncar 27.01.2012 21:50

rezachez, код необходимо оформлять соответственным тегами. Ознакомьтесь с правилами!

wvxvw 27.01.2012 22:04

Для картинки можно скопировать ее BitmapData и с ипользованием матрицы трансформаций уменьшить - таким образом создав новую картинку. Но в общем случае, то что вы хотите сделать невыполнимо - если вы меняете ширину, то scaleX должен отражать то, на сколько ширина отличается от изначальной.

Stitch512 27.01.2012 22:11

Можно image поместить в Sprite и переопределить метод width чтобы он менял размер содержимого,а не самого элемента, примерно так
Код AS3:

 
public class NewImage extends Sprite
{
    private var _image:DisplayObject = null;
 
    public function NewImage(image:DisplayObject)
    {
        _image = image;
    }
 
    public override set width(value:Numer):void
    {
        _image.width = value;
    }
 
    public override set height(value:Numer):void
    {
        _image.height = value;
    }
 
}

Код AS3:

var newImage:NewImage = new NewImage(image);
newImage.width = 100;
//newImage.scaleX = 1;
newImage.width = 50;
//newImage.scaleX = 1;



Часовой пояс GMT +4, время: 04:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.