在Authorware中控制Flash动画

  • 来源: 互联网 作者: 若水   2008-03-21/16:15
  • 自从Macromedia公司推出了Authorware 6.0以后,Flash动画在Authorware中的调用变得“平民化”了。但不知道大家有没有想过,在Authorware中能否实现对Flash动画的控制呢,如:播放、暂停、快进、快退等?

    在Authorware中要控制Flash动画,主要是通过“SetSpriteProperty(@"SpriteIconTitle", #property, value)”、“GetSpriteProperty(@"SpriteIconTitle", #property)”和“CallSprite(@"SpriteIconTitle", #method [, argument...])”三个函数来实现的:

    SetSpriteProperty主要是将某些属性赋予动画(如:动画的尺寸、位置等);
    GetSpriteProperty主要是获取动画的某些属性(如:旋转角度、播放速度等);
    CallSprite主要是控制动画内在的某些属性(如:播放、暂停等)。

    实例制作


    图1

    1、启动Authorware 6.0,新建一个名为“Flash播放器”的文件;选择“Modify”→“Flie”→“Properties…”(Ctrl+Shift+D)打开对话框,修改其中的设置(如图1);选择“Insert”→“Media”→“Flash…”打开Flash Accset Properties对话框,单击Browse…导入需要的Flash动画(注意Flash动画的背景最好为纯黑色,这样在Authorware中才可以进行透明),此时流程线上会自动添加一个图标,将图标后面的名字去掉重新取名为“Flash动画”,然后选中该图标单击鼠标右键选择“Calculation…”,在弹出的窗口中输入:

    ResizeWindow(320,260)——设定窗口尺寸
    Movable:=FALSE——设置动画在播放时不可移动


    图2

    2、在流程线上放置一个交互图标,再在交互图标旁边放置四个计算图标交互类型为“Button”,并分别取名为“播放”、“暂停”、“快进”、“快退”(如图2);分别在四个计算图标中输入一下语句:

    在“播放”计算图标输入:
    CallSprite(@"Flash动画", #play)——让动画从当前帧播放。

    在“暂停”计算图标输入:
    CallSprite(@"Flash动画", #stop)——暂停Flash动画。

    在“快进”计算图标输入:
    a:=GetSpriteProperty(@"Flash动画", #frame)——获取当前动画所在的帧CallSprite(@"Flash动画", #gotoFrame, a+40)——在原来的帧数上加40,这样就实现的快进。

    在“快退”计算图标输入:
    a:=GetSpriteProperty(@"Flash动画", #frame)
    CallSprite(@"Flash动画", #gotoFrame, a-40)

    最后按Ctrl+R运行程序可以测试效果。注意:如果发现有时控制失灵,这说明Flash动画当前帧是一个MovieClip对象,它本身就是一个动画,而Authorware不能控制Flash动画场景中MovieClip,所以在制作Flash动画时,尽可能的将所有的动画过程都放在主场景中,少用MovieClip。

    部分函数的用法

    1、位置控制与获取

    SetSpriteProperty(@"FlashMovie", #viewH, parameter)
    ——控制动画的横坐标的数值,其中FlashMovie表示Flash动画的图标名称, #viewH表示控制方式,parameter表示具体数值,也可以是一个变量。

    SetSpriteProperty(@"FlashMovie", #viewV,parameter )
    ——控制动画纵坐标的数值,可以实现动画的上下移动。

    Result:=GetIconProperty(@"FlashMovie", #ViewV)
    ——使变量Result的值等于动画的横坐标的值。

    Result:=GetIconProperty(@"FlashMovie", #viewH)
    ——使变量Result的值等于动画的纵坐标的值。

    2、角度控制与获取

    SetSpriteProperty(@"FlashMovie", #rotation, parameter)
    ——控制旋转角度,parameter值在0~360之间。

    Result:=GetIconProperty(@"FlashMovie", #rotation)
    ——使变量Result的值等于动画的角度值。

    通过Repeat 语句还可以实现动画的旋转:
    Repeat with x= 1 to 180
    SetSpriteProperty(@"FlashMovie", #rotation, x*2)
    End repeat

    3、缩放的控制与获取

    SetSpriteProperty(@"FlashMovie", #viewScale, parameter)——设置缩放值,parameter的值在0~100之间,他表示百分值,如10就是原来动画尺寸的10%。

    Result:=GetIconProperty(@"FlashMovie", #viewScale)
    ——使变量Result的值等于动画的缩放值。

    4、速度的控制与获取

    SetSpriteProperty(@"gizmos.swf", #playbackMode, #fixed)——设定速度模式,少了该语句下面的改变速度语句将无效。

    SetIconProperty(@"FlashMovie", #fixedRate, integer)
    ——integer表示动画每秒钟播放的帧数,通过改变它的值可以改变动画的播放速度。#p#分页标题#e#

    Result:=GetIconProperty(@"FlashMovie", #fixedRate)
    ——获取动画当前的播放速度。

    5、声音的控制

    SetIconProperty(@"FlashMovie", #sound, boolean)
    ——当Boolean的值为“False”时可以停止Flash动画中声音的播放,当值为“True”时可以播放Flash动画中的声音。

    Result:=GetIconProperty(@"FlashMovie", #sound)
    ——获取声音是否播放,通过数值来表示,为1时表示播放,为0时表示停止。

    CallSprite(@"FlashMovie", #hold)
    ——停止Flash动画中的画面,但是声音继续播放。

    6、获取Flash动画的路径及名称

    Result:=GetIconProperty(@"FlashMovie", #pathName)
    ——获取动画的路径和名称,Result值为动画的具体存盘位置和文件名。

    7、获取动画的总帧数和设置动画播放次数

    Result:=GetIconProperty(@"FlashMovie", #frameCount)
    ——这里所获取的动画总帧数,是指Flash动画主场景的总帧数。

    SetIconProperty(@"FlashMovie", #loop, boolean)
    ——通过改变boolean的值可以设置动画循环播放的次数。

    8、获取画面质量的值

    Result:=GetIconProperty(@"FlashMovie", #quality)
    ——Result的值可能为Auto-High、High、Auto-Low和Low。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多