
虽然下过好几次雪了,不过地上能有积雪还是第一次,不过还是拍晚了,今天上午一下雨,很多雪都化了,真奇怪,昨天下雪,今天居然下雨。但愿下周别下了,不然回家都困难了。唉
(more…)
1、如何在子影片剪辑里调用在父影片剪辑定义的函数?
在影片剪辑MC1里定义了函数test(),MC1中有一个影片剪辑MC2,如何在MC2里调用MC1的test()函数
使用this.parent["test"]()
2、为什么NetStream.bytesTotal获取不了值?
只有当NetStream.bytesLoaded的值大于0时,NetStream.bytesTotal的值才是视频文件的真实大小,否则,它的值是4G。
3、trace出stage对象的所有属性、方法和事件(均要求附带数据类型)
AS Code
var xml:XML = describeType(this.stage); trace('[Property]\n' + parse(xml.accessor, 'name', 'type')); trace('[Method]\n' + parse(xml.method, 'name', 'returnType')); trace('[Event]\n' + parse(getEventFormat(xml.metadata.(@name == 'Event')), 'eventName', 'eventType')); function getEventFormat ($list:XMLList):XMLList { for each (var i:XML in $list) { i.@eventName = i.arg.(@key == 'name').@value; i.@eventType = i.arg.(@key == 'type').@value; } return $list; } function parse ($list:XMLList, $name:String, $type:String):String { var str:String = ''; for each (var i:XML in $list) str += i.attribute($name) + ' : ' + i.attribute($type).match(/[^:.]+$/) + '\n'; return str; }
4、强制垃圾回收
AS Code
try { new LocalConnection.connect('foo'); new LocalConnection.connect('foo'); } catch (e:*) { }
无聊,非常的无聊!整天浑浑噩噩的,跟死了一般!,公司里天天关着窗户,憋死了。越到年关,工作越忙,每年都希望有个好的收获,而事情总是不尽如人意。明年要怎么办?还是个问题。不管怎么说,努力才是有意义生活的唯一途径。
这一年过得非常不舒服。找不到志同道合的人,找不到喜欢的大环境,郁闷!在匆匆而过的时光里,我只是在等待,在观望,在期盼,而没有主动努力,这是多么愚蠢和幼稚啊。放弃了一个有一个的瞬间,结果就是放弃了一年!
为了明天更好,今天一定要努力做些事情,哪怕是很小的事情,也一定要做。
当使用AS模拟画笔绘画时,可以使用MovieClip的moveTo和lineTo方法。如果需要橡皮擦的功能,那么可以把线的颜色设置成和底板一样,达到假橡皮擦的效果。但是如果要在给定的底纹基础上实现画笔添加花边、任意绘制时,橡皮只能擦掉绘制的颜色,不能覆盖底纹时,使用这个方法就不合适了。要想真正的擦掉绘制的线条,要借助BitmapData类。通过把橡皮擦经过的区域通过设置透明的方法,就可以达到效果。但是,模拟画笔又不太方便了,因为如果使用setPixel或setPixel32设置鼠标划过的点时总会出现断断续续,线条非常的不流畅。要画出流畅的线条,就需要再借助MovieClip的moveTo和lineTo方法。首先我们在一个MC上使用moveTo和lineTo画出流畅的线来,然后使用BitmapData的draw方法把效果拷贝到BitmapData中,这样看起来就是非常流畅的线条了。
::@echo off
rem 正在搜索...
for /f "delims=" %%i in ('dir /b /a-d /s "*.swf"') do call someAction
rem 搜索完毕
pause
其中someAction是你要执行的动作。上面的命令是遍历当前文件夹(包含子文件夹)下的swf文件。
把这些代码拷贝到文本文档中,保存为.bat文件,就可以运行了。
比如我要删除掉当前文件(含子文件夹)里的所有SWF文件,可以这么写
::@echo off
rem 正在搜索...
rem 删除文件
for /f "delims=" %%i in ('dir /b /a-d /s "*.swf"') do del %%i
rem 删除完毕
pause
JSFL Code
var flaList = []; var len = 0; var right = 0; var error = 0; var folderURI = fl.browseForFolderURL("选择目标文件夹."); var cDate = new Date(); // 日志文件名称 var outputName = [cDate.getFullYear(),cDate.getMonth() + 1, cDate.getDate(),cDate.getHours(),cDate.getMinutes(),cDate.getSeconds(),"log.txt"].join("_"); // 文件总数 var count = 0; if(folderURI != null) { outputName = folderURI +"/" + outputName; compileFolder(folderURI); fl.trace("本次共编译[" + count + "]个文件,成功[" + right + "]个,失败[" + error + "]个\n"); fl.outputPanel.save(outputName,true); fl.outputPanel.clear(); fl.trace("请查看编译日志文件" + outputName); fl.openScript(outputName); } function compileFolder(folder) { // 列举文件夹下所有文件 var folderContents = FLfile.listFolder(folder,"files"); // 获取其中的fla文件 getFlaList(folderContents); if(flaList.length == 0) { //fl.trace("没有要编译的Fla文件\n"); } else { var tLen = flaList.length; var swfName = "" fl.outputPanel.clear(); for(var i = 0; i < tLen; i++) { compile(folder + "/" + flaList[i]); swfName = flaList[i].substr(0,flaList[i].lastIndexOf(".")+1)+"swf"; if (!FLfile.exists(folder +"/"+ swfName)) { fl.trace(">> ERROR: File did not compile correctly: "+ swfName); error ++; continue; } else { right ++; } } count += tLen; } var subFolders = FLfile.listFolder(folder,"directories"); if(subFolders.length > 0) { for(var i = 0; i < subFolders.length; i++) { compileFolder(folder + "/" + subFolders[i]) } } } function compile(p_fileURI) { var doc = fl.openDocument(p_fileURI); doc.publish(); fl.trace(">> 以上是编译[" + p_fileURI + "]的输出信息"); fl.outputPanel.save(outputName,true); fl.outputPanel.clear(); fl.closeDocument(doc,false); // close fla without saving } function getFlaList(listArray) { var len = listArray.length; flaList = []; var str = ""; for(var i = 0; i < len; i++) { str = listArray[i]; if(str.indexOf(".") == -1) { //无后缀文件 continue; } var tmp = str.length; if((str.substr(tmp - 4).toLowerCase()) == ".fla") { flaList.push(str); } } }