前言:我正在使用导入的图像制作美国50个州的地图。
我正在使用一段XML将图像路径导入Loaders,然后使用Loaders填充多个影片剪辑(这样可以正常工作)。我发现自己现在需要以每个美国州的形状导入SWF作为50个按钮的hitTestState。有人建议我使用一个单独的类来定义新的按钮状态,但我担心我的编程技巧还没有发展到足以让我理解我的能力:
一个。将包含SWF路径的XMLList信息传递给新类 湾使用for循环
填充50个按钮的hitTestState(s)这是我用来将图像填充到各个按钮中的功能。我想我会使用相同的函数生成或填充一个按钮,我可以将SWF作为hitTestState发送到该按钮。
private function populateButtonImages(): void {
//var hoverState:StateBut = new StateBut();//
for(var i:int = 0; i <= total; i++){
offLoader = new Loader();
hoverLoader = new Loader();
//hitLoader = new Loader();
var offName:String = pathage + _activeImage[i].toString();
var hoverName:String = pathage + _hoverImage[i].toString();
//var hitName:String = pathage + _hitState[i].toString();
offLoader.load(new URLRequest(offName));
hoverLoader.load(new URLRequest(hoverName));
//hitLoader.load(new URLRequest(hitName));
this["button" + i].offImage.addChild(offLoader);
this["button" + i].hoverImage.addChild(hoverLoader);
//this["button" + i].hitButton.addChild(hitLoader);
//this["button" + i].hitButton = new StateBut();//
this["button" + i].hoverImage.mouseEnabled = false;
//this["button" + i].buttonMode = true;
//moves hover image to more appropriate location over button
this["button" + i].hoverImage.x = _hoverOffsetX[i];
this["button" + i].hoverImage.y = _hoverOffsetY[i];
}
addMapButtonListeners();
}
我已经注释了我最初尝试将SWF作为hitStates添加到剪辑的行。
在一个完美的世界中,我想制作50个按钮,填充按钮的up,over和hitStates,而不必担心在MovieClip上执行hitTests以及到目前为止我已经解决的各种其他问题
帮助?建议是受欢迎的。知识就是力量。
答案 0 :(得分:0)
如果你有hitareas作为矢量和每个状态的图形,那么在Flash IDE中手动创建按钮可能更容易?然后,您可以在每个按钮上“导出for Actionscript”并导出为一个SWF。
在您的主项目中,您可以加载SWF并可以访问所有工作按钮。