logo 广告
Loading...
 导航 所在位置:论坛首页 -> ┈┋电脑网络┋┈ -> 图象媒体技术应用 -> 在Authorware中控制Flash动画
回复
标题:在Authorware中控制Flash动画收藏 编辑 删除 楼主 | 上一篇 下一篇
love我
头像
等级:社区游民
权限:普通用户
积分:22
金钱:3919
声望:37
经验:37
发帖数:860
注册:2007年12月15日
资料 短消息2008-1-4 10:10:21
自从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表示动画每秒钟播放的帧数,通过改变它的值可以改变动画的播放速度。

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。

签名

2008-1-4 10:10:21 顶部
第1页 共页 共0个回复     <<    >>    
 快速回复
  • 支持UBB,HTML标签

  • 高级回复

  • 操作选项:评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖
      首页 | 购买指南 | 虚拟主机 | 特色介绍 | 下载中心 | 支付方式
    Copyright 2004-2008 BBSGood.com Powered By: BBSGood.Speed Version 5.0
      咨询电话:0575-85513832、0575-85513825(传真)、7*24小时咨询服务:13606552007 不良信息举报中心 浙ICP备05029817号
      业务QQ:38958768、客服QQ1:415896239、客服QQ2:343896043、MSN:jccsxx@hotmail.com