万卷书   首页 > 电脑书籍 > Flash > Flash Tell Traget使用实例
 

  在本教程中您将大量地使用Tell Target命令进行影片的控制,这是一个很好的考验您对Flash基本知识掌握的熟练程度的机会。由于教程中还涉及到了一些ActionScript,它也是您进一步提高技术水平的好材料

  要制作这个循环计数器,我们首先需要制作的是一个用于动态数字循环显示的MovieClip。

 

    1. 创建一个新符号(ctrl+F8),选择类型为MovieClip并命名为num1;
    2. 在num1中创建两层,分别命名为background和numbers,其中background用于放置背景图二number就是用于存放变化数字了;
    3. 以background为当前层,创建一用做背景的圆并与场景中心对齐(ctrl+k);
    4. 以background为当前层,在第11桢处创建一个空白桢(F5);
    5. 以numbers为当前层,在第1个关键桢上创建文字“零”;
    6. 以numbers为当前层,在第2到第11桢之间依次填加10个关键桢并将文字依次更改为相应数字;

  这样用于动态显示循环数字的MovieClip就制作完成了。想一想,为什么要用更改每一桢的文字来制作这个MovieClip呢?

  我们可以看到,最终作品中由七个地方使用了循环数字因此我们需要7个用于显示的MovieClip。下面我们来进行这个步骤。

  1. 打开库面板,复制num1并对新的MovieClip命名为num2;
  2. 重复第一步五次,并对新的MovieClip依次命名为num3,num4……num7;
  3. 依次打开num2,num3……num7,并在它们的第一个关键桢上填加一个停止命令(Stop)。

  好,到这里我们盖房子的材料就基本做好了。下面我们就要运用程序来进行MovieClip间的控制和调整了。

    1. 打开库面板,并将名字为num1的MovieClip从库面板上拖放到场景中的最右端;

  • 在num1的实例(Instance)上点击鼠标右键并选择属性(Properties);
  • 在属性对话框中,将num1的实例命名为num1;

    1. 对num2,num3……num7重复以上步骤,并依次将它们从右向左排列。

  好,现在是我们开始思考的时候了。当处于某一位上的数字达到9时,它应该做什么呢?当然是通知上一位数字进一并且将本位数字置零。这在程序上是怎么达到的呢?首先,位与位间的交互我们当然可以使用Tell Target命令来完成,我们已经对每一位上的MovieClip进行了命名,使用时我们就可以利用TellTarget来对进位进行控制了。而对于本位的置零操作,我想任何一个人都知道这可以由Go to 命令完成,但是你有没有进一步考虑一下这个问题吗?是每个位上的置零都是Go to and Stop(1)吗?答案是否定的!对于第一位,我们说它是一个最低循环位,因此它永远处于循环状态,置零操作应该是Go to and Play(1)。而对于第七位,它的置零还意味着计数器溢出。因此此时它还应该将所有低位全部置零。到这里,我们的问题基本分析清除了,具体的编程是相对简单的事情。因此,地板11桢的对应程序如下:

num1:

Begin Tell Target ("/num2")
Go to Next Frame
End Tell Target
Go to and Play (1)

num2……num6:

Begin Tell Target ("/num6")
Go to Next Frame
End Tell Target
Go to and Stop (1)

num7:

Comment: 全部置零
Set Variable: "count" = 1
Loop While (count<=7)
Set Variable: "Target" = "num"&count
Begin Tell Target ("/"&Target)
Go to and Stop (1)
End Tell Target
Set Variable: "count" = count+1
End Loop
Begin Tell Target ("/num1")
Play
End Tell Target
Go to and Stop (1)