第一次使用Adobe Captivate 3来开发课程,因为缺乏经验,吃足了苦头。
而且网上也缺少这方面的资料。只找到过一份帮助的汉化文件。
因为想在调用Adobe Captivate 3的时候来改变一些参数,便尝试在Adobe Captivate 3调用的动画文件内加入了一些Action Script,没想到Adobe Captivate 3竟然提示上述内容——加入的动画文件内含root参数,可能会影响动画的播放——也就是说Adobe Captivate 3保留了调用动画文件里的Action Script功能。
经过几次反复,发现果然可以实现当初的预想。
为什么Adobe Captivate 3不能支持“插入Action Script”的功能呢?虽然号称无需编程就可制作flash动画,但是有这个功能貌似会更强大吧。
PS:Adobe Captivate 3生成文件里的Action Script是超级复杂……
elearning, flash
Action Script, Adobe Captivate 3
做了个flash的项目,要调用大量flv视频,最终发布的产品需要比较好的用户操作性。所以决定发布成可以直接运行的exe文件,免除可能插件没有的烦恼。
不过swf虽然可以直接创建播放器,但是如果通过fscommond实现全屏和屏蔽了右键,那么就没办法创建了。不得已只全屏而不屏蔽右键。
找到了一个可以打包swf为exe的软件——SWF Studio。按照这里的教程试了一下,发现虽然能实现全屏和屏蔽右键的功能,但却不能正常调用flv文件了。主要功能一览里说可以“播放Windows Media Player支持的任何多媒体格式”,flv似乎不在支持之列了。但是开发团队在这里却说:
There’s only one situation with SWF Studio I know of where FLV files won’t load properly and that’s if you’ve enabled the secure loader and then you try to load a local FLV file. I believe we correctly handle all other cases in the latest development build. If you’re a registered SWF Studio V3 user, the best thing to do is fire off a quick email to support@northcode.com with your serial number and ask for a copy of the latest dev build with all the latest, greatest fixes.
大体意思就是说,我们在最新版里处理了这个问题,只要你激活了安全的载入程序并调用一个本地flv文件,是能正常播放的。也可能是我测试的版本太低的缘故吧。eba33362
flash
flvplayback, swf studio
最近跟flash视频干上了。
先是有个三分屏的项目,原先使用串流大师做出来的东西觉得太老土,所以我们想做一个改进,全部flash话:)遇到的一个问题就是视频如何处理。
原来主要是javascript来控制wmv的播放及同步。但flash不支持wmv格式。为此不得不把视频切割后转成flv格式的。然后再结合已有的框架功能做到可以拖动,跳转。
还有个项目使用了大量的视频。开始是想用flvplayback来做的,但是发觉网上用的最多的contentPath不能实现视频的跳转,不知道是我的方法的问题还是怎么。后来用NetConnection+NetStream临时做了个demo给客户。今天正式做的时候还是用flvplayback来实现了,不知道哪天怎么搞的。
还在这发现了个可以提高flv视频质量的方法:
MovieClip(FLVPlayer.getVideoPlayer(FLVPlayer.activ eVideoPlayerIndex))._video.smoothing = true;
FLVPlayer是flvplayback的id。
——————————————————
觉得flash设计的好完全可以做到以前direct达到的效果。
最近有个光盘项目,需要实现查询功能。而flash是不支持数据库的,指的是在光盘上直接运行,客户的要求。所以不可能使用C/S架构来做。最后还是使用flash+xml实现了查询功能。
flash
flvplayback
ActionScript Code:
var thisHex:MovieClip = myMc.duplicateMovieClip("hex"+nr, nr);
thisHex._x += 50;
thisHex.onRelease = function() {
//Whatever
};
//Or loop through after thier creation:
for (i=0; i<nr; i++) {
this["hex"+i].onRelease = function() {
//Whatever
};
}
http://www.actionscript.org/forums/showthread.php3?t=158856
http://www.adobekit.com.cn/forum/showtopic-109.aspx这篇文章很多错误,误导人!
幸亏找到了这一篇http://bbs.huoren.cn/viewthread.php?tid=3018
又是同样的教训,button和movieclip的事件是不同的!!!
flash
自己属于那种需要人在后面拿着鞭子赶的老牛啊!
show show刚做的一个网站,自认为是自己做的最复杂的asp程序了,设计是朋友做的
http://www.hutchin.com/index.asp
里面的动态目录差点没把自己做死!!!
最近在做一个flash查询的项目,在网上似乎找不到查询方面的文章,难道没有用flash做查询么?就因为所以的数据库的工作都要自己来做?*^-^*
flash
最近做项目的时候遇到一个问题,客户有很多mpg的视频需要展示。如何处理呢?
在网上搜了一下,发现虽然有不同的方法可以直接调用mpg,但是总感觉不是最佳方法。
大多数人所以不用flv,一可能是服务器支持的问题,二则可能是画面质量的问题。
现在我所做的项目客户并不要求能在网络上播放,只是在光盘演示用或者在电脑上直接看,所以不用考虑flv的支持问题。
对于flv质量问题,我是在flash8直接导入mpg视频后转换成flv的,修改转换设置,经过几次摸索,发现视频编码使用On2 VP6,关键帧间隔设为2,最大数据速率设为2000Kb/秒,如此转换出来的flv大小只比原来mpg的视频大3M,但是质量损失很小,同事对比后甚至说比原来的画面看着还好。
从中还发现一个有趣的问题,当设定了关键帧间隔的时候,更改最大数据速率对输出结果的影响很小,也就是说关键帧更大决定了输出视频的大小。
flash
在flash里随便花个矩形,转化成mc和按钮,在属性里分别设标识符为“bt1”“mc2”
在第一帧加入下面代码:
_root.createEmptyMovieClip(”test”, 1);
test.attachMovie(”bt”, “bt1″, 2, {_x:20, _y:20});
test.attachMovie(”mc”, “mc2″, 3, {_x:20, _y:20});
trace(test.bt1._x);
trace(test.mc2._x);
位置竟然不一样!
attachMovie不能加在按钮么?
flash
_root 动作脚本属性指定或返回对 SWF 文件根时间轴的引用。如果 SWF 文件有多个级别,则根时间轴位于包含当前正在执行的脚本的级别上。例如,如果级别 1 中的脚本计算 _root,则返回 _level1。但是,_root 所指定的时间轴可能有所变化,具体取决于 SWF 文件是独立运行(在它自己的级别中)还是已由 loadMovie() 调用加载到影片剪辑实例中。
例如,假设名为 container.swf 的文件在其主时间轴上有一个名为 target_mc 的影片剪辑实例。container.swf 文件在其主时间轴上声明了一个名为 userName 的变量;然后相同的脚本将名为 contents.swf 的另一个文件加载到影片剪辑 target_mc 中。
// 在 container.swf 中: _root.userName = "Tim"; target_mc.loadMovie("contents.swf");
加载的 SWF 文件 contents.swf 还会在其根时间轴上声明一个名为 userName 的变量。
// 在 content.swf 中: _root.userName = "Mary";
当 contents.swf 加载到 container.swf 中的影片剪辑中时,附加到宿主 SWF 文件 (container.swf) 的根时间轴上的 userName 的值将设置为 “Mary”。这将导致 container.swf(以及 contents.swf)中的代码出现问题。
若要强制 _root 始终指定所加载的 SWF 文件的时间轴,而不是实际的根时间轴,请使用
_lockroot 属性。正在实施加载的 SWF 文件或正被加载的 SWF 文件都可以设置此属性。当 _lockroot 在影片剪辑实例上设置为 true 时,该影片剪辑将充当加载到其中的任何 SWF 文件的 _root。当 _lockroot 在 SWF 文件中设置为 true 时,该 SWF 文件将充当它自己的根,而不管加载它的其它 SWF 文件。任何影片剪辑以及任意数目的影片剪辑都可以将 _lockroot 设置为 true。默认情况下,此属性为 false。
例如,container.swf 的创作者可以将以下代码附加到 target_mc 影片剪辑:
// 附加到 target_mc 影片剪辑: onClipEvent (load) { this._lockroot = true; }
这可以确保在 contents.swf(或加载到 target_mc 的任何 SWF 文件)中对 _root 的引用将引用自己的时间轴,而不是 container.swf 的实际根时间轴。
同样,contents.swf 的创作者可以将以下代码添加到主时间轴中。
// 在 contents.swf 中: this._lockroot = true;
这可以确保无论将 contents.swf 加载到什么位置,它对 _root 的任何引用都将引用它自己的主时间轴,而不是宿主 SWF 文件的时间轴。
有关更多信息,请参见MovieClip._lockroot。
flash
最近评论