Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 As3更改对象的宽度/高度,然后将新的尺寸比例设置为1_Actionscript 3_Actionscript_Scale - Fatal编程技术网

Actionscript 3 As3更改对象的宽度/高度,然后将新的尺寸比例设置为1

Actionscript 3 As3更改对象的宽度/高度,然后将新的尺寸比例设置为1,actionscript-3,actionscript,scale,Actionscript 3,Actionscript,Scale,我有一个对象操纵函数,它(现在)操纵数组中对象的比例,以实时改变彼此之间的大小 我想知道的是,是否有办法更改对象的宽度/高度(以适应屏幕大小,因为它是移动应用程序),然后重置比例,使新的宽度/高度的scaleX/scaleY值为1。宽度/高度是直接影响DisplayObject比例的属性。不能在不影响比例的情况下调整其大小 但是,您可以: 将图像绘制为位图 如果是原语,就重画 把它放在一个支架里 每个解决方案都有一点: 通过创建BitmapData并使用draw()调用,可以绘制Displa

我有一个对象操纵函数,它(现在)操纵数组中对象的比例,以实时改变彼此之间的大小


我想知道的是,是否有办法更改对象的宽度/高度(以适应屏幕大小,因为它是移动应用程序),然后重置比例,使新的宽度/高度的scaleX/scaleY值为1。

宽度/高度是直接影响DisplayObject比例的属性。不能在不影响比例的情况下调整其大小

但是,您可以:

  • 将图像绘制为位图
  • 如果是原语,就重画
  • 把它放在一个支架里
每个解决方案都有一点:

通过创建BitmapData并使用draw()调用,可以绘制DisplayObject(或任何IBitMapTable)。好的一面是,它将是一个位图,从而节省一些渲染时间。缺点是,如果它是一个大的图像,它将占用内存(对于移动设备来说可能是至关重要的),并且它不会具有交互性/动画,除非您制作一个脚本来读取动画

如果您正在通过图形类的API绘制元素,您可能只需要创建一个类似resize()的方法,在窗口调整大小/翻转方向时调用该方法。只需使用Graphics对象的clear()方法并重新绘制整个图形

最后,可能是你最好的选择。调整对象的大小。创建一个新的精灵(我选择精灵是因为它是交互式的,您可能希望这样),并将调整大小的对象添加到新创建的精灵中,而精灵只是添加到显示列表中,就像您之前添加了调整大小的对象一样。如果很难理解,这里有一些代码:

myResizeableObject.width = newWidth;
myResizeableObject.scaleY = newScaleY;

var holderSprite:Sprite = new Sprite();
myResizeableObject.parent.addChild(holderSprite); // if you don't have a specific place to add the myResizeableObject, don't use myResizeableObject.parent - it's ugly
holderSprite.addChild(myResizeableObject);

希望对你有帮助

一个可能的想法是将对象放在某个容器对象中并缩放容器。然后对象将保留scaleX/Y值1。我宁愿避免创建不必要的容器对象,但如果无法将对象比例重置为新的宽度/高度,则这是最佳解决方案。谢谢。重新绘制对象,特别是如果它只是一个基本体(矩形等)。