我需要一些从组件发送信息的帮助。我不知道该怎么办。
我正在使用Alex Uhlmann的翻转卡类(失真效果)。我有一张有三张脸的卡片。当用户单击该按钮时,它会触发更改事件,并且在主应用程序中,更改事件会调用一个翻转卡片的函数flipTo。该组件如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Panel
xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
width="500"
height="400">
<mx:Metadata>
[Event("change", type="mx.events.Event")]
</mx:Metadata>
<mx:Script>
<![CDATA[
[Bindable]
public var backCaption:String;
]]>
</mx:Script>
<mx:Text id="myAnswer" htmlText="{backCaption}" width="100%" />
<mx:ControlBar height="40" width="100%" >
<mx:Button
x="20" y="400"
label="Flip"
click="dispatchEvent( new Event( Event.CHANGE ) );" />
</mx:ControlBar>
</mx:Panel>
主要应用程序如下:
<mx:Canvas id="homeStack" >
<mx:ViewStack id="flipViewStack2" x="200" y="150" >
<sides:FlipFace
id="frontFace2"
title="Newport"
change="flipTo(frontFace2, backFace2, DistortionConstants.LEFT, DistortionConstants.RIGHT);" />
<sides:FlipReverse
id="backFace2"
title="Newport: Answer"
change="flipTo(backFace2, anotherFace2, DistortionConstants.LEFT, DistortionConstants.LEFT);" />
<sides:FlipAnotherSide
id="anotherFace2"
title="Other Stuff"
change="flipTo(anotherFace2, frontFace2, DistortionConstants.RIGHT, DistortionConstants.LEFT);"/>
</mx:ViewStack>
</mx:Canvas>
<mx:Canvas id="OtherStack" >
(more code)
</mx:Canvas>
主应用程序中的flipTo函数有4个参数:起始侧,结束侧,然后是两个决定翻转方向的参数。
一切都很好。如果我按下按钮,我可以翻转所有侧面。但是,我想添加一个组合框,以便用户可以直接翻转到他们想要的一侧,而不必循环遍历所有方面。 (这很重要,因为我打算增加更多的方面)。
在主要应用程序中,请注意侧面的ID为2。例如,frontFace2。我有多组卡,每个卡都有不同的编号,frontFace3,frontFace4等。这个数字决定从数据库中提取哪些数据。 (为简洁起见,我简化了代码。)
如何在组件中添加一个组合框,使卡片翻转到选定的一侧?
我需要自定义活动吗? (不幸的是,我对自定义事件一无所知)。有没有办法让comboBox设置一个公共变量,然后在主应用程序中以某种方式访问该变量并使用comboBox选择的方面调用flipTo?其他可能性?
有什么建议吗?
谢谢。
-Laxmidi
答案 0 :(得分:0)
在你的情况下,事情要简单一些,但你需要看看用户选择的“面子”并转向它。
步骤 1.创建自定义事件(从事件继承) 2.将var添加到名为face的事件类中 3.当用户从组合中选择值时,使用值填充face var并分派事件 4.听取应用程序级别的事件,然后翻转相关的面部。