Archive for the 'flash' Category

Assigning code to buttons made with duplicateMovieClip

星期四, 02月 21st, 2008
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的事件是不同的!!!

提高

星期四, 02月 21st, 2008

自己属于那种需要人在后面拿着鞭子赶的老牛啊!
show show刚做的一个网站,自认为是自己做的最复杂的asp程序了,设计是朋友做的
http://www.hutchin.com/index.asp
里面的动态目录差点没把自己做死!!!

最近在做一个flash查询的项目,在网上似乎找不到查询方面的文章,难道没有用flash做查询么?就因为所以的数据库的工作都要自己来做?*^-^*

flash如何调用mpg

星期六, 12月 29th, 2007

最近做项目的时候遇到一个问题,客户有很多mpg的视频需要展示。如何处理呢?

在网上搜了一下,发现虽然有不同的方法可以直接调用mpg,但是总感觉不是最佳方法。

大多数人所以不用flv,一可能是服务器支持的问题,二则可能是画面质量的问题。

现在我所做的项目客户并不要求能在网络上播放,只是在光盘演示用或者在电脑上直接看,所以不用考虑flv的支持问题。

对于flv质量问题,我是在flash8直接导入mpg视频后转换成flv的,修改转换设置,经过几次摸索,发现视频编码使用On2 VP6,关键帧间隔设为2,最大数据速率设为2000Kb/秒,如此转换出来的flv大小只比原来mpg的视频大3M,但是质量损失很小,同事对比后甚至说比原来的画面看着还好。

从中还发现一个有趣的问题,当设定了关键帧间隔的时候,更改最大数据速率对输出结果的影响很小,也就是说关键帧更大决定了输出视频的大小。

attachMovie的结果不同

星期三, 12月 5th, 2007

在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不能加在按钮么?

指定加载的 SWF 文件的根时间轴

星期五, 11月 23rd, 2007

_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 cs 无法测试影片

星期三, 11月 7th, 2007

Adobe CS系列出来很久了,不过一直没尝鲜。最近做项目,不得已撞上了Flash CS3。

今天在做东西的时候,突然发现不知道自己操作了什么导致flash cs无法测试影片,点了命令后不是像原先那样跳出swf窗口,新建一个文件则是好的。导出到flash8里也是好的。

不知道文件哪里出问题了。

Flash as的相加变连接了

星期日, 08月 12th, 2007

delayTime和ConfirmTime都定义为Number类型

delayTime+ConfirmTime明明是两个数值的相加求和,但是出来的结果却是字符串连接

没办法只好变通用delayTime-ConfirmTime+ConfirmTime*2来求和^&^

是不是Flash8的bug啊?

[存疑]falsh变量在FF和IE下的存储不同?

星期四, 06月 7th, 2007

需要实现的效果:falsh主文件定义了一个变量,控制调入文件的跳转。比如

if (_root._parent.strOver == 1) {
 gotoAndStop(”over1″);
} else if (_root._parent.strOver == 2) {
 gotoAndStop(”over2″);
} else if (_root._parent.strOver == 3) {
 gotoAndStop(”over3″);
}

返回按钮上的Action定义了_root._parent.strOver=1或2或3。

在IE下跳转很正常,但是到了FF下,跳转无效,返回后每次都从头开始播放,也就是说变量并没有起作用。

为什么呢?