我是新手使用闪光灯,很抱歉,如果这是一个常见的问题 - 但我无法弄清楚要搜索什么。
我创建了一个非常基本的电影 - 它使用一个组合框在一些图像之间切换。 See Here
问题是当您单击第一个选项(“性别”)到另一个选项然后返回到Gender时,组合框中的选项列表会重复。
我想知道是否有办法阻止这种情况发生? 我在浏览器和Flash Professional CS5.5中都遇到此问题
我目前的动作代码是;
import flash.events.Event;
stop();
combobox.addItem( { label: "Gender" } );
combobox.addItem( { label: "Ethnicity" } );
combobox.addItem( { label: "Religion" } );
combobox.addEventListener(Event.CHANGE, changeimage);
function changeimage (event:Event):void{
if (combobox.selectedItem.label == "Gender") gotoAndStop(1);
if (combobox.selectedItem.label == "Ethnicity") gotoAndStop(2);
if (combobox.selectedItem.label == "Religion") gotoAndStop(3);
}
感谢。
答案 0 :(得分:1)
您可以在ComboBox
中创建Main Class
。做文件>新> ActionScript文件,并将以下代码复制/粘贴到此新文件中。将其命名为:Main
。
<强> Main.as 强>
package
{
import flash.display.MovieClip;
import flash.events.Event;
import fl.controls.ComboBox;
public class Main extends MovieClip
{
private var cb:ComboBox;
public function Main()
{
cb = new ComboBox();
cb.addItem({label:'Gender', data:1});
cb.addItem({label:'Ethnicity', data:2});
cb.addItem({label:'Religion', data:3});
cb.move(120, 160);
cb.addEventListener(Event.CHANGE, labelSelected);
addChild(cb);
}
private function labelSelected(e:Event):void
{
gotoAndStop(cb.selectedItem.data);
}
}
}
在您的Flash文档中,执行:文件&gt; ActionsScript设置&gt; Documment Class:Main
。
否则,您可以使用ComboBox
窗口在Properties
出现在舞台上的标签中创建标签。
您只需使用Component
Properties
面板中的ComboBox
菜单即可。您可以选择属性DataProvider
前面的铅笔。它将打开一个窗口Values
...
...您可以使用按钮plus
添加标签。
答案 1 :(得分:0)
您可以将addItem封装在一个函数中:
import flash.events.Event;
stop();
function initializeComboBox(){
combobox.addItem( { label: "Gender" } );
combobox.addItem( { label: "Ethnicity" } );
combobox.addItem( { label: "Religion" } );
combobox.addEventListener(Event.CHANGE, changeimage);
}
function changeimage (event:Event):void{
if (combobox.selectedItem.label == "Gender") gotoAndStop(1);
if (combobox.selectedItem.label == "Ethnicity") gotoAndStop(2);
if (combobox.selectedItem.label == "Religion") gotoAndStop(3);
}
在触发initialize事件时调用此函数。 我希望我足够清楚。