Как масштабировать заливку, но не обводку в Actionscript? - PullRequest
2 голосов
/ 28 июня 2011

Допустим, у меня есть коробка. Заливка является градиентом, а обводка имеет толщину 1 пиксель. Как бы я изменил размер заливки, но сохранил бы толщину обводки?

private function resizeMovieClip(newWidth:Number, newHeight:Number):void 
{
   this.movieClip.width = newWidth;
   this.movieClip.height = newHeight;
}

По сути, я хотел бы подражать Javascript изменению размера элементов DOM. В JS изменение размера поля никогда не изменит его границы.

Ответы [ 4 ]

5 голосов
/ 28 июня 2011

установите масштабный режим lineStyle () на LineScaleMode.NONE

var sh:Shape = new Shape();
sh.graphics.lineStyle(1.0, 0x000000, 1.0, false, LineScaleMode.NONE);
sh.graphics.beginFill(0xFF0000, 1.0);
sh.graphics.drawRect(0, 0, 100, 100);
sh.graphics.endFill();

addChild(sh);

sh.scaleX = sh.scaleY = 4.0;
2 голосов
/ 28 июня 2011
0 голосов
/ 03 июня 2017

Для потомков, как упоминалось в OP, этот параметр можно изменить непосредственно в IDE.

Scale dropdown in Flash

Вы заметите, что масштабирование изменилосьпотому что линия может стать тоньше.Если этого не происходит, нажмите на что-нибудь еще, а затем вернитесь к строке, которую вы изменяете.Масштабирование могло бы вернуться к нормальному.Похоже, что иногда изменение масштаба не работает.Если сначала выполнить масштабирование по горизонтали или вертикали, а затем изменить его на «Нет», оно должно работать.

0 голосов
/ 28 июня 2011

Не знаю, как нарисован ваш MC, но я бы перерисовывал обводку каждый раз, когда он был изменен:

private function resizeMovieClip(newWidth:Number, newHeight:Number):void 
{
    this.graphics.clear();

    this.movieClip.width = newWidth;
    this.movieClip.height = newHeight;   

    this.graphics.lineStyle(1,0x000000);
    this.graphics.lineTo(this.width,0);
    this.graphics.lineTo(this.width,this.height);
    this.graphics.lineTo(0,this.height);
    this.graphics.lineTo(0,0);
}

Отказ от ответственности: Конечно, это очистит все, что нарисовано с графикойAPI на нем до перерисовки границы, и он может не работать в зависимости от того, как нарисован ваш MC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...