我在Flash CS5中创建了一个9比例的背景,它在Flash CS5中工作得很好
但当我在Flex中将其作为嵌入图形导入,并在运行时更改尺寸时,9-scalling不起作用。
这是我的代码。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
[Embed(source='mgraphic.swf', symbol='Bck')]
[Bindable]
public var imgCls:Class;
protected function button1_clickHandler(event:MouseEvent):void
{
nineScalled.width = 100 + (this.width - 100) * Math.random();
nineScalled.height = 100 + (this.height - 100) * Math.random();
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout verticalAlign="middle" horizontalAlign="center"/>
</s:layout>
<s:Button label="change" click="button1_clickHandler(event)"/>
<s:BorderContainer id="nineScalled" backgroundImage="{imgCls}" backgroundImageFillMode="scale" width="469" height="187"/>
</s:Application>这是我的9个缩放文件http://rapidshare.com/files/405441500/9scalledgraphic.fla的fla文件
谢谢
发布于 2011-03-16 01:55:49
如果你有一个精灵/电影剪辑,它使用9切片缩放,并且你直接缩放它,它工作得很好。如果这个东西是另一个精灵/电影剪辑/其他东西的孩子,而你缩放了那个,那么你孩子的9切片缩放就不再起作用了。
一种解决方法通常是编写函数,该函数接受大小更改请求,然后直接调整使用9Slice-scaling的子级的大小,而不是调整自身的大小。
https://stackoverflow.com/questions/3219068
复制相似问题