Apache flex 在运行时更改图像源
我想在单击事件时更改图像。我在单击时更改图像的来源,但它不会在触发任何其他事件时立即反映出来。为什么会这样,而且任何人都有解决方案???调用Apache flex 在运行时更改图像源,apache-flex,Apache Flex,我想在单击事件时更改图像。我在单击时更改图像的来源,但它不会在触发任何其他事件时立即反映出来。为什么会这样,而且任何人都有解决方案???调用image.validateNow()在设置源后立即强制更改。如果将源设置为url(例如image.source=“/assets/myimage.jpg”),则可能需要1+帧才能加载图像,因为它正在发出异步url请求,因此不会立即注册更改。在这种情况下,调用validateNow()没有帮助 如果需要立即加载,可以嵌入图像(如果图像足够小),或者一次加载几
image.validateNow()
在设置源后
立即强制更改。如果将源设置为url(例如image.source=“/assets/myimage.jpg”
),则可能需要1+帧才能加载图像,因为它正在发出异步url请求,因此不会立即注册更改。在这种情况下,调用validateNow()
没有帮助
如果需要立即加载,可以嵌入图像(如果图像足够小),或者一次加载几个图像并将其存储在某个位置,然后将图像源设置为位图(类似于image.source=myImageCache.getBitmap(0);
)
希望有帮助,
兰斯试试简单的把戏。只需添加两个图像组件,一个为真,另一个为假。单击事件后,只需更改图像组件的可见性。你会得到想要的结果 这是演示,希望你会喜欢
<fx:Script>
<![CDATA[
private var isPause:Boolean=false;
protected function music_control1(event:MouseEvent):void
{
if(!isPause)
{
pos =_channel.position;
isPause=true;
SoundMixer.stopAll();
music2.visible=true;
music.visible=false;
}
else
{
music.enabled=true;
_channel=_sound.play();
isPause=false;
music2.visible=false;
music.visible=true;
}
}
]]>
</fx:Script>
<s:Image id="music" x="200" y="245" click="music_control1(event)"
source="@Embed('assets/pause.png')"/>
<s:Image id="music2" x="200" y="245" click="music_control1(event)" visible="false"
source="@Embed('assets/play.png')"/>