Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 添加嵌套movieclip并将动态文本设置为3_Flash_Actionscript 3_Movieclip - Fatal编程技术网

Flash 添加嵌套movieclip并将动态文本设置为3

Flash 添加嵌套movieclip并将动态文本设置为3,flash,actionscript-3,movieclip,Flash,Actionscript 3,Movieclip,我有一张美国地图,上面有一些城市的图标(大约12个)。当用户将鼠标悬停在其中一个图标上时,图标上方会弹出一个带有两个动态文本字段的movieclip 每个城市的图标movieclip都是以其所在州命名的:state\u(缩写)ie:state\u TX 弹出文本气球的名称为:cityTag\u mc 里面有两个动态文本字段:title\u txt&subTitle\u txt 逻辑是当用户将鼠标悬停在state\u TX上时添加cityTag\u mc,并输入该状态的标题和子标题 我的主要问题是

我有一张美国地图,上面有一些城市的图标(大约12个)。当用户将鼠标悬停在其中一个图标上时,图标上方会弹出一个带有两个动态文本字段的movieclip

每个城市的图标movieclip都是以其所在州命名的:
state\u(缩写)
ie:
state\u TX

弹出文本气球的名称为:
cityTag\u mc
里面有两个动态文本字段:
title\u txt
&
subTitle\u txt

逻辑是当用户将鼠标悬停在
state\u TX
上时添加
cityTag\u mc
,并输入该状态的标题和子标题


我的主要问题是如何将文本输入到字段中(并设置气球动画)。我不知道从哪里开始。我只想为动作脚本中的每个状态设置文本。我从哪里开始?最佳做法是什么?

一旦创建了所有城市图标并将其放置在舞台上,并为其指定实例名称,然后将其放入阵列中。这只是为了让事情更容易管理

citycons.push(state\u tx)、citycons.push(state\u ca)

现在我们需要添加代码以使气球显示出来。您还提到了设置动画。将在cityTag_mc中生长的气球动画放置在文本字段下方。给它一个实例名,例如balloon\u mc

现在我们需要添加侦听器。我们将在数组上循环,因此只需编写一次

//instead of manually adding to listeners to every city icon movielip we can now
//just loop over all the items in the array
for (var i:int = 0; i < cityIcons.length;i++)
{
     var mcCity:MovieClip = cityIcons[i] as MovieClip;
     myCity.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver)
     myCity.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut)

}

function onMouseOut(e:MouseEvent):void
{
  cityTag_mc.visible = false;
  //TODO any animating of balloon, maybe you could have
  //different labels so instead of changing visible change alpha when your tweening

}

function onMouseOver(e:MouseEvent):void
{

   //move balloon to where the city icon is
   //e.target refers to the object you have added the listener to
   cityTag_mc.x = e.target.x; // move the balloons position to the city's position
   cityTag_mc.x = e.target.y; 
   //you may want to add an offset so its not directly overthe top

   cityTag_mc.visible = true;

   switch(e.target)
   {
      //testing which city instance icon we rolled over
      case:state_tx
        cityTag_mc.title_txt.text ="Texas";
        cityTag_mc.balloon_mc.play(); //don't worry about this for now
        //do remaining stuff
        break;
      case:state_ca
        //same as above

   }

}
//现在,我们不需要手动将监听器添加到每个城市图标movielip中
//只需循环数组中的所有项
对于(变量i:int=0;i

您可以将一个名为cityTag_mc的气球实例放置在舞台上,并将其设置为visible为false,或者根据需要创建和删除。这只是一个指南,不要把它当成100%,因为这只是我的想法。

我就是做不到。我花了好几个小时在这上面,却找不到任何地方。我甚至不知道从哪里开始。谢谢你的帮助,但这是没有希望的。好吧,也许暂时不要担心任何动画,试试基本的。创建一个代表城市的MovieClip图标。将其中12个放在舞台上,并给他们实例名称。现在制作一个气球的MovieClip,里面有两个动态(非静态)文本字段,确保它们和气球都有实例名。在第一帧的ActionScript中创建一个数组,并如上所述将图标推入数组。然后使用我上面的代码替换任何实例名称以匹配您的实例名称。暂时忽略play()的内容。