Posts Tagged ‘flash’

AMFPHP试用

星期三, 四月 8th, 2009

一直想用flash remoting做点东西,一直没有机会。

现在好了,空间整成PHP之后。对AMFPHP试用了一下,很好很强大。

对flash来说比起xml和json,AMF优势太明显了。

(全文…)

flash datagrid组件单元格12号中文字体设置

星期二, 六月 24th, 2008

flash datagrid组件的列表字号默认不是12号字,好像是10号字,显示中文很不好看.
以下利用继承CellRenderer类方法简单设置datagrid的字体,字号及颜色.
CellRenderer 类很好几种用法,flash帮助文档有详细说明.
(全文…)

IE中 命名锚记 和FLASH的问题!

星期五, 三月 28th, 2008

当一个html页面用了锚记#去定位页面位置后,如果页面还包括FLASH,当用户已触发一次锚写后,再点击FLASH,会将该页的标题栏变成锚记的内容,IE6与IE7都有这个问题。

测试方法:随便找一个有FLASH的网页,在URL后加上一个#号,再点击FLASH,标题将变成#.

FireFox中的Flash无法输入中文

星期四, 三月 27th, 2008

因制作一个需要在FLASH输入文本的提交功能的FLASH,在IE中没有问题,但在FF中无法输入中文。在网上也找不到相关资料,最后用FLASH发布HTML,而又可以输入中文,对比代码区别,发现是wmode属性的的问题。
火狐3.0中  <embed>里的wmode="transparent" 
在火狐2.0中还得去了<object>里的<param name="wmode" value="transparent"> 
就可以了。有点郁闷~~~~~~

看来了火狐3.0比2.0更标准了。

用Flash AS3正则表达式实现百度的MP3搜索

星期天, 三月 2nd, 2008

利用flash的URLRequest向百度发送关健字,再利用正则表达式提取mp3结果列表.再对结果列表再次请求,获取mp3的真实地址.
下面是具体的类



package {
    import flash.display.Sprite;
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.events.ProgressEvent;
    import flash.net.URLVariables;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.xml.*;
    import flash.events.IOErrorEvent;

    public class Mp3Search extends MovieClip {
        private var xmlTextField:TextField = new TextField();
        //dansion.com dansion@163.com,;
        private var loader:URLLoader;
        private var sub:Number;
        public var Mp3List:Array;

        public function Mp3Search() {
            Mp3List=new Array();
            Mp3_search.trackAsMenu=true;
            Mp3_search.addEventListener(MouseEvent.CLICK,search);
        }
        private function search(event:Event):void {
            var variables:URLVariables=new URLVariables("f=ms&tn=baidump3&ct=134217728&lf=&rn=&lm=0");
            variables.word=input.text;
            var request:URLRequest = new URLRequest();
            request.url="http://mp3.baidu.com/m";
            request.data=variables;

            loader = new URLLoader();

            try {
                loader.load(request);
            } catch (error:SecurityError) {
                trace("A SecurityError has occurred.");
            }

            loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
            loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
            loader.addEventListener(ProgressEvent.PROGRESS,loaderProgress);

            trace("btn is donw: "+input.text);
        }
        private function loaderCompleteHandler(event:Event):void {
            progress_txt.text="加载完成";
            //var mp3Exp:RegExp=/http://([w-]+.)+[w-]+([w- ./?$,[]%&;:,+=u4e00-u9fa5]*)?216/g;
            //var mp3Exp:RegExp=/http://[^box][0-9]([w-]+.)+[w-]+([w- ./?$,[]%&;:,+=u4e00-u9fa5]*)?216/g;
            var mp3Exp:RegExp=/http://220.181.38.82([w- ./?$,[]%&;:,+=u4e00-u9fa5]*)?216/g;
            var mp3_array:Array=new Array();
            mp3_array=loader.data.match(mp3Exp);
            //trace(loader.data.match(mp3Exp));
            /*for (var i=0; i<mp3_array.length; i++) {
                //trace("输出:  "+mp3_array[i]+"   结束");
                var chineseExp:RegExp=/[u4e00-u9fa5]+/;
                //trace(mp3_array[i].match(chineseExp));
                Mp3Name.push(mp3_array[i].match(chineseExp));
            }*/
            trace("——————–");
            formatURL(mp3_array);

        }
        private function formatURL(array:Array) {
            for (var i=0; i<array.length; i++) {
                SubLoad(array[i],i);
                //sub=i;
            }
        }
        private function SubLoad(url:String,num:Number) {
            var chineseExp:RegExp=/[u4e00-u9fa5]+/;
                //trace(mp3_array[i].match(chineseExp));
                //trace(url);
            //var mp3name:String=new String();
            var mp3name:String=String(url.match(chineseExp));
            
            var subrequest:URLRequest = new URLRequest();
            subrequest.url=url;
          
60; var sub_loader:URLLoader;
            sub_loader = new URLLoader();
            try {
                sub_loader.load(subrequest);
            } catch (error:SecurityError) {
                trace("A SecurityError has occurred.");
            }
            sub_loader.addEventListener(Event.COMPLETE,SubLoaderComplete);
            //sub_loader.addEventListener(ProgressEvent.PROGRESS,loaderProgress);
            function SubLoaderComplete() {
                progress_txt.text="开始分析第"+mp3name+"搜索结果";
                var SubMp3Exp:RegExp=/http://([w-]+.)+[w-]+([w- ./?%&=u4e00-u9fa5]*)?.mp3/g;
                trace(mp3name+" :: "+sub_loader.data.match(SubMp3Exp)[0]);
            }
        }
        private function loaderProgress(event:ProgressEvent):void {
        progress_txt.text=String(event.bytesLoaded)+"/"+String(event.bytesTotal);
        }
        private function errorHandler(event:IOErrorEvent):void {
            trace("IOErrorEvent 出错");    
        }
    }
}



其中主要是两个正则表达式写法.
新建一个MC链接Mp3Search类,MC里有一个文本输入框(名:input),一个表示按扭的MC(Mp3_search),加载提示动态文本框(progress_txt).

转载请注明出处!

点这里下载

js+flash实现一次上传多个文件

星期二, 一月 15th, 2008

在老外一个博客中发现一个好东西.
利用flash调用文件选择对方框的功能,给合js,实现可以一次选择多个文件,并且可以定制文件类型.
绝对的好东西.
老外的博客地址:http://digitarald.de
上传组件演示地址:http://www.dansion.com/FancyUpload/FancyUpload.html

FLash在Firefox中100%高度问题

星期三, 一月 9th, 2008

Flash在加上xhtml文档声明的html文件中用不着100%来设定高度.在IE中没有问题,在Firefox中就使100%高度无效.
一种做法是去除html文档最前面的文档声明。如果不去除xhtml的文档声明,加上一段CSS就可以解决问题。


html{
height:100%;
}


其实使用xhtml的DTD不但使CSS的设置会出现问题,而且会使用html下的JS在xhtml下也可能出现问题。
其中最常见是xhtml的滚动条的样式在body里设置也是无效,也得用html下设置。

FLash中escape()出问题

星期二, 一月 8th, 2008

利用escape () 转化中文的URL地址,但转成的结果并非是正确的结果。
查来查去,最后发现是AS3.0的escape()和AS2.0的escape()有着不同的功能。
AS3.0用escapeMultiByte ()的功用才和AS2.0一样。

Flash中ExternalInterface.call返回null值

星期一, 十二月 31st, 2007

利用ExternalInterface.call调用html里的js函数,参照了flash帮助文档里的做法.可以执行js的函数.但就是无法获取return的值.
网上一大堆教程也只是抄flash帮助文档的东西.也试了allowScriptAccess=always.结果无效,
最后让我去搜了N个flash网站,答案居然是只要给<object>加上一个id或是name就解决了.
哎…….无语了

注(IE7.0)

关于FLash 10

星期二, 十一月 27th, 2007

看了flash 10的新功能演示网络视频,兴奋啊!

在flash IDE里可以直接播放视频,还有3D的东西,还有可以类似AE的的动作制作方式,这个赞啊!原来那个按路径的动画可以丢了。还有就是专业动画中的骨骼系统。到时候正式版一出,说不定还有让人期待的功能。

总体感觉,flash越来越强大了,有了3D,骨骼,对于制作一些人物动物会变得更加简单方便。再加上AS的完善。真不知道微软的Silverlight如何把Flash打败。

有兴趣的朋友可以到youtube去搜一flash 10的视频。