Flash 通过mxml中的函数传递值?
我是MXML和Flash Builder的新手,在Flash Professional中对AS3有一定的经验。我的问题是,我目前有一个基本应用程序,其中有多个按钮,这些按钮上的“单击”事件侦听器可以激活这些功能。问题是每个按钮的功能或多或少相同;只是每个按钮加载的数据不同。如何使其能够循环使用相同的函数?在Javascript或AS3中,可以执行以下操作Flash 通过mxml中的函数传递值?,flash,actionscript-3,actionscript,mxml,Flash,Actionscript 3,Actionscript,Mxml,我是MXML和Flash Builder的新手,在Flash Professional中对AS3有一定的经验。我的问题是,我目前有一个基本应用程序,其中有多个按钮,这些按钮上的“单击”事件侦听器可以激活这些功能。问题是每个按钮的功能或多或少相同;只是每个按钮加载的数据不同。如何使其能够循环使用相同的函数?在Javascript或AS3中,可以执行以下操作 <s:Button id="btn_1" x="378" y="601" label="Button 1" click="photoSw
<s:Button id="btn_1" x="378" y="601" label="Button 1" click="photoSwap(event,"image1.jpg")"/>
<s:Button id="btn_2" x="350" y="601" label="Button 2" click="photoSwap(event,"image2.jpg")"/>
protected function photoSwap(event:MouseEvent):void
{
// TODO Auto-generated method stub
var selectedImage = evt.target;
Tweener.addTween(img, {alpha:0, time:1});
img.source="images/" + selectedImage;
Tweener.addTween(img, {alpha:1, time:2, delay:1});
}
受保护功能photoSwap(事件:MouseeEvent):无效
{
//TODO自动生成的方法存根
var selectedImage=evt.target;
addTween(img,{alpha:0,time:1});
img.source=“images/”+选择图像;
addTween(img,{alpha:1,time:2,delay:1});
}
但这显然不是它的工作原理。我试图解决这个问题,但没有找到任何东西。当我让每个按钮都有自己的功能时,它就工作了,但这看起来真的很愚蠢,不应该这样做。一个非常常见的Flash Builder新手错误 MXML标记具有以双引号(
“
)指定的属性。因此,在属性值中不允许使用”
。您只需使用单引号(”
)在MXML属性中指定字符串
受保护的功能photoSwap(事件:MouseeEvent,选择图像:字符串):void
{
addTween(img,{alpha:0,time:1});
img.source=“images/”+选择图像;
addTween(img,{alpha:1,time:2,delay:1});
}
此外,如果您引用的是高度和宽度等属性,请将该方法括在{}
<s:HGroup id="hoppers" height="40%" gap="{getAbsolutedimension(9.8, 'width')}"
...
...
</s:HGroup>
<s:HGroup id="hoppers" height="40%" gap="{getAbsolutedimension(9.8, 'width')}"
...
...
</s:HGroup>