<?xml version="1.0" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Sipo Blog - ActionScript&amp;amp;FLASH</title><link>http://www.dc9.cn/</link><description>淡泊明志 - </description><generator>RainbowSoft Studio Z-Blog 1.8 Walle Build 100427</generator><language>zh-CN</language><copyright>Copyright Sipo.</copyright><pubDate>Fri, 10 Sep 2010 01:58:54 +0800</pubDate><item><title>FLASH CS3/CS4 使用外部AS文件的Hello World</title><author>a@b.c (sipo)</author><link>http://www.dc9.cn/post/525.html</link><pubDate>Mon, 20 Oct 2008 22:44:06 +0800</pubDate><guid>http://www.dc9.cn/post/525.html</guid><description><![CDATA[1,建立一个FLA<br/><br/>2,建立一个AS<br/><br/>3,内容如下<br/><p class="code"><code>package&nbsp;{<br/>&nbsp;&nbsp;<br/>&nbsp;&nbsp;import&nbsp;flash.display.*;<br/><br/>&nbsp;&nbsp;public&nbsp;class&nbsp;Main&nbsp;extends&nbsp;MovieClip&nbsp;&nbsp;{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Constants:<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Public&nbsp;Properties:<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Private&nbsp;Properties:<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Initialization:<br/>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;Main()&nbsp;{<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace("hola");<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Public&nbsp;Methods:<br/>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Protected&nbsp;Methods:<br/>&nbsp;&nbsp;}<br/><br/>}<br/></code></p><br/>4，在FLA的属性里面的Document Class里面写上 Main<br/><br/>5，就这样，你就可以不在时间线上写AS了。]]></description><category>ActionScript&amp;amp;FLASH</category><comments>http://www.dc9.cn/post/525.html#comment</comments><wfw:comment>http://www.dc9.cn/</wfw:comment><wfw:commentRss>http://www.dc9.cn/feed.asp?cmt=525</wfw:commentRss><trackback:ping>http://www.dc9.cn/cmd.asp?act=tb&amp;id=525&amp;key=1e73d77a</trackback:ping></item><item><title>Flash CS3里面用ActionScript3做令人崩溃的场景跳转</title><author>a@b.c (sipo)</author><link>http://www.dc9.cn/post/499.html</link><pubDate>Fri, 02 May 2008 23:26:15 +0800</pubDate><guid>http://www.dc9.cn/post/499.html</guid><description><![CDATA[不知是技术太烂还是flash cs3的bug。<br/>新建一个文件<br/>第一帧做“gotoAndPlay(1,"场景 2")”<br/>就能跳转过去<br/>可是用我自己有多层多帧的文件<br/>也在第一帧做“gotoAndPlay(1,"场景 2")”<br/>就死活不跳转<br/>必须在<br/>第二帧做<br/>“gotoAndPlay(1,"场景 2")”<br/>奶的，不知道为什么！<br/>而且你好死不活的把AS2的gotoAndPlay的两个参数颠倒了位置！<br/>原来应该是gotoAndPlay("场景 2",1)”<br/>现在倒过来.<br/>而且Flash CS3做AS2的fla有gotoAndPlay的参数提示，而AS3的没有提示。<br/>大概是要从MovieClip类继承才有提示吧<br/>但是楞从MovieClip类调用gotoAndPlay还说什么static错误<br/>一会儿又没有定义什么的<br/>真他妈的麻烦。<br/>]]></description><category>ActionScript&amp;amp;FLASH</category><comments>http://www.dc9.cn/post/499.html#comment</comments><wfw:comment>http://www.dc9.cn/</wfw:comment><wfw:commentRss>http://www.dc9.cn/feed.asp?cmt=499</wfw:commentRss><trackback:ping>http://www.dc9.cn/cmd.asp?act=tb&amp;id=499&amp;key=531e5494</trackback:ping></item><item><title>友情广告：成都RIA交流</title><author>a@b.c (sipo)</author><link>http://www.dc9.cn/post/CHENGDU-RIA.html</link><pubDate>Tue, 11 Mar 2008 17:17:25 +0800</pubDate><guid>http://www.dc9.cn/post/CHENGDU-RIA.html</guid><description><![CDATA[yx.shawn (<a href="http://blog.ezse.com" target="_blank">blog.ezse.com</a>) , 最近想组织一下成都搞RIA的朋友们出来耍下,因为现在搞RIA都是散兵涣马的, 希望借此机会能整合一下大家的兴趣爱好,建立这样个圈子起来.目前活动情况希望得到成都的朋友们支持和意见建议.<br/><br/><a href="http://blog.ezse.com/?page_id=695" target="_blank">http://blog.ezse.com/?page_id=695</a><br/>详细讨论群:<br/>Douban: <a href="http://www.douban.com/event/10035719/" target="_blank">http://www.douban.com/event/10035719/</a><br/>QQ群: 6203101<br/><hr/><font color="Red">以上是广告，源于肖的一封邮件，开始我以为他发错了？让我去成都耍？我想我不是在北京么？后来定睛一看是说让我帮他转发一下。。。哦。。。酱紫。。于是就转发鸟。。8过前天PR降到了3，应该没什么用了吧。。。呵呵～～不过是算是肖告诉我还有flex这么个东西，所以我才慢慢开始摸索actionscript的，现在感觉as真的很有趣呀</font>]]></description><category>ActionScript&amp;amp;FLASH</category><comments>http://www.dc9.cn/post/CHENGDU-RIA.html#comment</comments><wfw:comment>http://www.dc9.cn/</wfw:comment><wfw:commentRss>http://www.dc9.cn/feed.asp?cmt=483</wfw:commentRss><trackback:ping>http://www.dc9.cn/cmd.asp?act=tb&amp;id=483&amp;key=875316f4</trackback:ping></item><item><title>Sipo WordPress Music Player Plugin v1.1b MP3音乐播放器超小插件</title><author>a@b.c (sipo)</author><link>http://www.dc9.cn/post/Sipo-WordPress-MusicPlayer-Plugin.html</link><pubDate>Thu, 21 Feb 2008 00:32:23 +0800</pubDate><guid>http://www.dc9.cn/post/Sipo-WordPress-MusicPlayer-Plugin.html</guid><description><![CDATA[<p style="text-align: center"><span style="font-size: large"><b>前言</b></span></p><p style="text-align: left"><span style="font-size: small"><span style="font-family: 黑体"><span>帮客户安装WordPress，欲找一个MP3播放插件，用了几个不满意，所以花了半个晚上用AS写了一个超轻量的插件。</span></span></span><span style="font-size: small"><span style="font-family: 黑体"><span>正好想学学AS怎么操作音乐。也顺便了解一下WordPress的插件制作过程。因为太简单，如有雷同纯属巧合～</span></span></span></p><p style="text-align: center"><b><span style="font-size: large"><span><span>安装</span></span></span></b></p><p style="text-align: left"><span style="font-size: small"><span><span><span><b>上传sipomusic文件夹到/wp-content/plugins/</b></span></span></span></span></p><p style="text-align: left"><b><span><span><span><span style="font-size: small">别忘记在后台启用</span></span></span></span></b></p><p style="text-align: center"><span style="font-size: large"><b><span><span><span><span>使用</span></span></span></span></b></span></p><p style="text-align: left"><span style="font-size: larger"><b>想了半天前缀用什么，本来想用music，怕有重名。但后来还是用这个了。</b></span></p><p style="text-align: left"><span style="font-size: small"><span><span><span><span><b><span>[music::true::http://xxx.mp3]</span></b></span></span></span></span></span></p><p style="text-align: left"><span style="font-size: small"><span><span><span><span><b><span>true表示自动播放,你还可以把true替换为(yes|auto|是|自动|播放|play|true)都可以实现自动播放，随便写点别的比如false,no,asdf什么的就是不自动播放.</span></b></span></span></span></span></span>&nbsp;</p><p style="text-align: center"><b><span style="font-size: medium">下载：</span></b></p><p style="text-align: center"><span style="font-size: medium"><font size="2"><a href="http://www.dc9.cn/upload/sipomusic.zip" target="_blank">sipomusic.zip</a></font></span></p><p style="text-align: center"><span style="font-size: large"><span><b>更新</b></span></span>&nbsp;</p><p style="text-align: left">1）1.1版本增加了对于无效的URL的错误处理</p><p style="text-align: left">2）1.1版本增加了下载进度条显示功能。</p><p style="text-align: left"><img alt="" src="http://wordpress.org.cn/forums/attachments/20080220_d717c0b98177c2b3d147B88ngt4fZTWp.png" /></p>]]></description><category>ActionScript&amp;amp;FLASH</category><comments>http://www.dc9.cn/post/Sipo-WordPress-MusicPlayer-Plugin.html#comment</comments><wfw:comment>http://www.dc9.cn/</wfw:comment><wfw:commentRss>http://www.dc9.cn/feed.asp?cmt=476</wfw:commentRss><trackback:ping>http://www.dc9.cn/cmd.asp?act=tb&amp;id=476&amp;key=fe1d8771</trackback:ping></item><item><title>告诉你到底什么是crossdomain.xml</title><author>a@b.c (sipo)</author><link>http://www.dc9.cn/post/crossdomain.html</link><pubDate>Tue, 05 Feb 2008 13:51:28 +0800</pubDate><guid>http://www.dc9.cn/post/crossdomain.html</guid><description><![CDATA[<a href="http://www.crossdomainxml.org/" target="_blank">http://www.crossdomainxml.org/</a><br/>别的废话不多说了，上面的网址很全。<br/>为还存在疑惑“怎么不起作用呀”的网友补充几句话。<br/>首先，crossdomain.xml是放在服务器端的文件，什么叫做放在服务器端，就是放在你要获取的文件的所在的那台机器的那个域名下面。比如我自己的网站是xxx.me.com，我的网站上有一个swf要获取xxx.you.com上的文件，那么crossdomain.xml要放在xxx.you.com上才可以。crossdomain.xml里面的内容就是<br/><p class="code"><code>&lt;?xml&nbsp;version="1.0"?&gt;<br/>&lt;!DOCTYPE&nbsp;cross-domain-policy&nbsp;SYSTEM&nbsp;"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"&gt;<br/>&lt;cross-domain-policy&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;allow-access-from&nbsp;domain="*.me.com"&nbsp;/&gt;<br/>&lt;/cross-domain-policy&gt;<br/></code></p>明白了吧。]]></description><category>ActionScript&amp;amp;FLASH</category><comments>http://www.dc9.cn/post/crossdomain.html#comment</comments><wfw:comment>http://www.dc9.cn/</wfw:comment><wfw:commentRss>http://www.dc9.cn/feed.asp?cmt=469</wfw:commentRss><trackback:ping>http://www.dc9.cn/cmd.asp?act=tb&amp;id=469&amp;key=f1cf6c20</trackback:ping></item><item><title>解析indexToItemRenderer为什么有时候取到null</title><author>a@b.c (sipo)</author><link>http://www.dc9.cn/post/indexToItemRenderer.html</link><pubDate>Wed, 30 Jan 2008 23:23:59 +0800</pubDate><guid>http://www.dc9.cn/post/indexToItemRenderer.html</guid><description><![CDATA[好啦，一句话，这是一个BUG?<br/>也可以说不是。也可以说是。<br/>有的人认为是，有道理。有的认为不是也有道理。慢慢听我说。<br/>如果list很长，需要scroll的时候，flex仅仅缓存可见部分，也就是说在debug的时候我们可以看到renderArray只有scroll显示的部分。也就是说，flex可能为了某种效率需要（我猜的），因此把其他的行不缓存？或者不放在可以支配的itemrenderer里面.<br/>我想这是好的，以后希望他能提供另外一个方法，让我们可以支配那些list很长，或者grid中的数据很长的不可见部分。<br/>我想，这还是算是一个bug毕竟你没有提供如何支配不可见行部分的数据的方法！<br/><a href="http://www.actionscripts.org/forums/showthread.php3?p=647717" target="_blank">http://www.actionscripts.org/forums/showthread.php3?p=647717</a><br/>]]></description><category>ActionScript&amp;amp;FLASH</category><comments>http://www.dc9.cn/post/indexToItemRenderer.html#comment</comments><wfw:comment>http://www.dc9.cn/</wfw:comment><wfw:commentRss>http://www.dc9.cn/feed.asp?cmt=468</wfw:commentRss><trackback:ping>http://www.dc9.cn/cmd.asp?act=tb&amp;id=468&amp;key=09adc83b</trackback:ping></item><item><title>原来要用indexToItemRenderer实现对ItemRenderer中内容的修改！</title><author>a@b.c (sipo)</author><link>http://www.dc9.cn/post/ItemRenderer.html</link><pubDate>Wed, 30 Jan 2008 21:03:10 +0800</pubDate><guid>http://www.dc9.cn/post/ItemRenderer.html</guid><description><![CDATA[狂晕！<br/>我被Flex搞得狂晕，被ActionScript折腾了1个小时。就是找不到方法！我说不可能呀！<br/>开始我从DataGridColumn入手，毕竟我的ItemRenderer是DataGridColumn的一个属性，但是这家伙的itemRenderer属性是奶奶的一个IFactory接口，这玩意咋弄类。要命了。我于是试呀，搜呀。一个小时过去了，debug了无数次。几乎绝望了。在最后的关头，我看了一下DataGridColumn的owner==>伟大的DataGrid～我就看他有没有什么方法看着就觉得是的！看呀看呀，突然灵光一现，突然看到了indexToItemRenderer这个方法，绝对是突然看到的，我的第6感告诉我，这就是Mr Right!于是Google了一下，果然不出所料，很像。然后突然蹦出一个网页就是这根救命稻草了！看！<br/><a href="http://tech.groups.yahoo.com/group/flexcoders/messages/94076?threaded=1&m=e&var=1&tidx=1" target="_blank">http://tech.groups.yahoo.com/group/flexcoders/messages/94076?threaded=1&m=e&var=1&tidx=1</a><br/>答案就在这个页面的1/3的位置！<br/>哈哈<br/><p class="code"><code>LIST_ID.indexToItemRenderer(NUMBER_OF_INDEX).document.ID_FROM_MY_TEXTBOX.text</code></p>真复杂呀！<br/>我知道有一个document是肯定的，因为我在ItemRenderer里面需要调用this.parentDocument才能访问到外面的主程序的函数，但是我不知道是谁的document。现在知道了！太伟大了。GG真神奇。<br/>有一点疑惑的是，为什么indexToItemRenderer是一个一维的数组呢？我怎么觉得应该是2维呀，但是2维我测试过不对哦。所以说NUMBER_OF_INDEX是行坐标。那么，怎么确定列呢？难道是LIST_ID？不可能吧？DataGridColumn没有indexToItemRenderer方法呀，我迷惑了，超级迷惑。不过好在我就用了1列，能用就成了！呜呼哀哉～～<br/>顺便说一句网上有个杜XX的网站，排名还挺高，都是转载的抄E文的，狂晕，本来还想请教他，后来发现都是抄的转载的，想想还是算鸟。也不知道是不是蓝色的。晕死。]]></description><category>ActionScript&amp;amp;FLASH</category><comments>http://www.dc9.cn/post/ItemRenderer.html#comment</comments><wfw:comment>http://www.dc9.cn/</wfw:comment><wfw:commentRss>http://www.dc9.cn/feed.asp?cmt=467</wfw:commentRss><trackback:ping>http://www.dc9.cn/cmd.asp?act=tb&amp;id=467&amp;key=1b170a4d</trackback:ping></item><item><title>用ActionScript3实现了Flex与Javascript之间的双向通信调用</title><author>a@b.c (sipo)</author><link>http://www.dc9.cn/post/466.html</link><pubDate>Wed, 30 Jan 2008 09:47:36 +0800</pubDate><guid>http://www.dc9.cn/post/466.html</guid><description><![CDATA[这个超简单的。因为太简单不好意思写。还是写吧。。。。<br/>首先呢，在HTML模板里面添加一个JS函数:${application}实际上就是object那个flex的id,只不过呢，flex的模板文件里面用这个字符代替了。恩。你换成id也一样。<br/><p class="code"><code>function&nbsp;sendToActionScript(value)&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(value+"http://www.dc9.cn");<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById("${application}").sendToActionScript(value);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/></code></p>然后类，在flex里面添加一个启动注册钩子函数：这个在application initial的时候执行,前面的参数是js的函数名，后面参数是flex的函数名。<br/><p class="code"><code>ExternalInterface.addCallback("sendToActionScript",&nbsp;receivedFromJavaScript);<br/></code></p>然后类，在flex里面加入这个函数<br/><p class="code"><code>private&nbsp;function&nbsp;receivedFromJavaScript(value:String):void&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;mx.controls.Alert.show("JavaScript&nbsp;says:&nbsp;"&nbsp;+&nbsp;value&nbsp;+&nbsp;"\n");<br/>}</code></p>然后类，你随便找个什么玩意儿触发一下就可以啦：<br/><p class="code"><code>&lt;mx:Label&nbsp;click="ExternalInterface.call('sendToActionScript',&nbsp;'http://www.dc9.cn');"&nbsp;text="http://www.dc9.cn"&nbsp;buttonMode="true"&nbsp;color="#CCCCCC"/&gt;</code></p><br/>就这样咯。刷牙去。我觉得flex从人性化程度上和易用性角度来看还是比silverlight好，唯一的缺点就是功能相同条件下size有点大.<br/>另外，flex比sl的blend2设计人性很多！我用blend觉得怎么这么别扭呀！而且好多东西要自己下，最开始什么都没有。我晕。你集成一些usercontrol不就完了，我知道哪找去呀！还是flex好些。好用多了。<br/>但是，我想实现的功能用mxml project实现比用as project更方便，可是mxml编译出来的体积很大.<br/>我表达清楚了么有呀？<br/>真乱。。<br/>。。。<br/>有几个问题没有弄明白。vbox,hbox,hdividebox,vdividebox,canvas都在什么场合用呀？<br/>我乱用就乱了。。。<br/>不知道有没有这方面的教学资料。<br/>我现在全部用grid代替了。<br/>看看人家vs2008就是做的好，我是指UI设计方面，人性化多了。这点比flex强多了。<br/>说句公平话sl的发展不容小视。不过有一点sl的重大缺点我很不满意的就是，sl与ie结合太紧密，downloader下载个什么都在ie状态栏显示，还不能屏蔽。显示个鸟啊,显示不用你类～～]]></description><category>ActionScript&amp;amp;FLASH</category><comments>http://www.dc9.cn/post/466.html#comment</comments><wfw:comment>http://www.dc9.cn/</wfw:comment><wfw:commentRss>http://www.dc9.cn/feed.asp?cmt=466</wfw:commentRss><trackback:ping>http://www.dc9.cn/cmd.asp?act=tb&amp;id=466&amp;key=d5134eea</trackback:ping></item><item><title>ActionScript Project的swf果然比Flex Project小一半儿</title><author>a@b.c (sipo)</author><link>http://www.dc9.cn/post/464.html</link><pubDate>Mon, 28 Jan 2008 10:34:01 +0800</pubDate><guid>http://www.dc9.cn/post/464.html</guid><description><![CDATA[记得当年参加嵌入式竞赛的时候<a href="http://blog.ezse.com/" target="_blank">肖轶翔Yx.Shawn</a>说as的project能比flex小很多。我今天下载了一个AsWingA3编译了一下，在ActionScript Project里面加入了一个JButton:<br/><p class="code"><code>package<br/>{<br/>&nbsp;&nbsp;import&nbsp;flash.display.Sprite;<br/>&nbsp;&nbsp;import&nbsp;org.aswing.JButton;<br/>&nbsp;&nbsp;public&nbsp;class&nbsp;t2&nbsp;extends&nbsp;Sprite<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;var&nbsp;button:JButton;<br/>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;t2()<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;super();&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button&nbsp;=&nbsp;new&nbsp;JButton;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button.setLocationXY(0,0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button.setSizeWH(666,888);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addChild(button);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;}<br/>}</code></p>然后用在Flex Project里面也做了一个Button<br/><p class="code"><code>version="1.0"&nbsp;encoding="utf-8"?&gt;<br/>&lt;mx:Application&nbsp;xmlns:mx="http://www.adobe.com/2006/mxml"&nbsp;layout="absolute"&nbsp;viewSourceURL="srcview/index.html"&gt;<br/>&nbsp;&nbsp;&lt;mx:Button&nbsp;x="0"&nbsp;y="0"&nbsp;label="Button"&nbsp;width="732"&nbsp;height="380"/&gt;<br/>&nbsp;&nbsp;<br/>&lt;/mx:Application&gt;<br/></code></p>然后分别输出Release Build<br/>前一个87KB（也tm挺大的）<br/>后一个147KB<br/>果然aS弄出来的很小啊，半年之后我才验证了他的话。啊，伟大。还能不能再小呢？我就一个Button啊！<br/><br/>于是我发现真的还能再小。。。。。用最原始的SimpleButton就可以了-_____-||||<br/><br/><p class="code"><code>package&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;import&nbsp;flash.display.Sprite;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;Test4&nbsp;extends&nbsp;Sprite&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;Test4()&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;button:CustomSimpleButton&nbsp;=&nbsp;new&nbsp;CustomSimpleButton();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;addChild(button);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/><br/>import&nbsp;flash.display.DisplayObject;<br/>import&nbsp;flash.display.Shape;<br/>import&nbsp;flash.display.SimpleButton;<br/><br/>class&nbsp;CustomSimpleButton&nbsp;extends&nbsp;SimpleButton&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;var&nbsp;upColor:uint&nbsp;&nbsp;&nbsp;=&nbsp;0xFFCC00;<br/>&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;var&nbsp;overColor:uint&nbsp;=&nbsp;0xCCFF00;<br/>&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;var&nbsp;downColor:uint&nbsp;=&nbsp;0x00CCFF;<br/>&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;var&nbsp;size:uint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;80;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;CustomSimpleButton()&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;downState&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;new&nbsp;ButtonDisplayState(downColor,&nbsp;size);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;overState&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;new&nbsp;ButtonDisplayState(overColor,&nbsp;size);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;upState&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;new&nbsp;ButtonDisplayState(upColor,&nbsp;size);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hitTestState&nbsp;&nbsp;&nbsp;=&nbsp;new&nbsp;ButtonDisplayState(upColor,&nbsp;size&nbsp;*&nbsp;2);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hitTestState.x&nbsp;=&nbsp;-(size&nbsp;/&nbsp;4);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hitTestState.y&nbsp;=&nbsp;hitTestState.x;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;useHandCursor&nbsp;&nbsp;=&nbsp;true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/><br/>class&nbsp;ButtonDisplayState&nbsp;extends&nbsp;Shape&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;var&nbsp;bgColor:uint;<br/>&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;var&nbsp;size:uint;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;function&nbsp;ButtonDisplayState(bgColor:uint,&nbsp;size:uint)&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.bgColor&nbsp;=&nbsp;bgColor;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.size&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;size;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;draw();<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;function&nbsp;draw():void&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.beginFill(bgColor);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.drawRect(0,&nbsp;0,&nbsp;size,&nbsp;size);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;graphics.endFill();<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/></code></p><br/>这玩意realease出来只有1KB<br/>已经最小了。我喜欢。<br/>不知道AsWingA3为啥搞这么大呢？？？<br/>不知道osFlash.org有没有一些占用空间更小的控件？？？<br/>准备去蓝色问问。。。<br/>我要小小小小小...................]]></description><category>ActionScript&amp;amp;FLASH</category><comments>http://www.dc9.cn/post/464.html#comment</comments><wfw:comment>http://www.dc9.cn/</wfw:comment><wfw:commentRss>http://www.dc9.cn/feed.asp?cmt=464</wfw:commentRss><trackback:ping>http://www.dc9.cn/cmd.asp?act=tb&amp;id=464&amp;key=25e64664</trackback:ping></item><item><title>Flash/Flex/Apollo/JavaFX/GoogleGears/SiverLight/WPF</title><author>a@b.c (sipo)</author><link>http://www.dc9.cn/post/GoogleGears.html</link><pubDate>Sat, 29 Dec 2007 12:56:57 +0800</pubDate><guid>http://www.dc9.cn/post/GoogleGears.html</guid><description><![CDATA[某年某月某日，Macromedia因Flash而出名。（根据harry所言，特更改为这种表述。）<br/>Flash使用swf文件作为RIA的基础，需要让IE/Firefox等浏览器安装ActiveX/Plugin才能运行，原则上来说FLASH是一种不开放的格式，这种不开放的格式是通过一个叫做Macromedia FlASH X.0的IDE编译得到的。后来有人破译了FLASH编译模式，那是另外一码事了。后来，有人发明了加密SWF格式的种种方法。于是对于SWF的编译与反编译一度成为热点。<br/>某年某月某日，Adobe公司收购了Macromedia，收购之后，Flex开始出名。（根据harry所言，特更改为这种表述）<br/>这个本质还是SWF.随着FLASH破译模式技术的提高，网络上出现了开源的AS编译器，现在已经到了AS3了，名字就不提了。<br/><a href="http://www.dc9.cn" target="_blank">http://www.dc9.cn</a><br/>后来出现了Apollo,SiverLight,JavaFX..<br/>Apollo实际上是一个噱头，实际上是AdobeAIR,是一个桌面RIA的Framework，说它是Framework就是说，它实际上有点像.net Framework，还不明白的就理解为Adobe开发的.netframework3.0就行了,你要在这玩意儿的上面写程序才成，但是这玩意儿写出来的东西适用于桌面。就是这样了。所以这个名词放在这里有点不合适，但是，他又与flex有着千丝万缕的联系，比如支持AS什么的，这玩艺儿我没用过。<br/>WPF这个东西更复杂了，简单来说他是.netframework3.5的一部分，当然也可以独立出来。就也把它看作一个类库就成了，一个表现层的框架。主要提供图形媒体方面的。这个名词放在这也有点不合适。<br/>现在回归正点，说说Siverlight，这是一种名副其实的与FLASH(FLEX)并列的WEB-RIA技术。好像他包含了WPF的一部分，又包含了.netframework3的一部分，为什么只包含一部分呢？因为WEB上面，用不了那么多吧。这是我个人的理解。我不知道为什么silverlight的安装程序那么小，只有1兆多。1.1只有4兆多，我真的不知道为什么这么小。而.netframework那么大。莫非精简到web上就只剩下这么点儿了么？呵呵也许吧。不过我不看好这个silverlight毕竟他没有提供ActiveX模式，用户安装起来太麻烦了，竟然还需要exe。当然了，为了跨浏览器，用exe效果更好，但是不考虑用户体验阿，网吧怎么办呢？对吧。而且，这玩意儿，不知道支不支持商业模式（dll模式）也就是编译模式。我看网络上有人说支持，我没有弄出来过，似乎需要Oscar才能编译出dll。我用vs编译出来的silverlight全都是基于XAML开源的，这样的话不利于商业应用。<br/>根据Allan所言，silverlight1.1支持dll模式。<br/><a href="http://www.dc9.cn" target="_blank">http://www.dc9.cn</a><br/>说说奇怪的javafx吧，sun也似乎貌似想涉及RIA领域，但是运行JAVAfx竟然要我安装NetBeans的IDE，装这个不是太麻烦了吗。于是我没有装。这个玩意是否支持编译模式我不知道。貌似不支持。<br/>最后来说说有意思的GoogleGears,一出来竟然获得了什么2007年创新第一名的称号。真得很不可思议。仔细一看，也不支持编译模式。而且这个东西也是像SilverLight一样需要EXE安装的。也不算大。问题是，这个东西是基于js扩展的，实在不理解为什么要做成这样的，话说siverlight也可以做成全js+xaml。gears全部都是开源的，我觉得商业价值也不是很大的说。<br/>怎么看来看去还是flex牛比呢？<br/>不过这玩意儿就是仁者见仁，我说编译模式好，你可能说这玩意儿不利于SEO.我说SEO有个屁好，你说有益于SEO就是好。无休止的争论也没什么意义。反正我就是看好Flex,因为支持编译模式并且安装简单，只需要ActiveX.<br/>如果SilverLight也支持编译模式，我义无反顾支持SilverLight,因为我更喜欢这种.net编程方式。]]></description><category>ActionScript&amp;amp;FLASH</category><comments>http://www.dc9.cn/post/GoogleGears.html#comment</comments><wfw:comment>http://www.dc9.cn/</wfw:comment><wfw:commentRss>http://www.dc9.cn/feed.asp?cmt=455</wfw:commentRss><trackback:ping>http://www.dc9.cn/cmd.asp?act=tb&amp;id=455&amp;key=04af34f3</trackback:ping></item></channel></rss>
