<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>撒旦 &#187; actionscript</title>
	<atom:link href="http://blog.xnux.net/tag/actionscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.xnux.net</link>
	<description>still life ...</description>
	<lastBuildDate>Wed, 06 Jan 2010 18:34:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>你怎么用iPhone？</title>
		<link>http://blog.xnux.net/2009/03/25/iphone_do_anything/</link>
		<comments>http://blog.xnux.net/2009/03/25/iphone_do_anything/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 12:23:21 +0000</pubDate>
		<dc:creator>Jack.f</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[开发]]></category>
		<category><![CDATA[技术]]></category>
		<category><![CDATA[3proxy]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[apt-get]]></category>
		<category><![CDATA[google ape]]></category>
		<category><![CDATA[gprs]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vim]]></category>
		<category><![CDATA[winscp]]></category>

		<guid isPermaLink="false">http://blog.xnux.net/?p=48</guid>
		<description><![CDATA[iPhone的操作系统是mac os x，越狱的iPhone通常都会带上unix subsystem，也就意味着iPhone已经不再是手机那么简单，反正在我的眼里它就是一台可以随身携带的迷你unix server，不过要借助ssh客户端软件，比如putty。
列一下我在iPhone上最常用的命令行工具:
&#62; svn：用于从开源社区，如Google Code获取源码;
&#62; wget：命令行下载工具;
&#62; apt：基于命令行的软件管理工具，可以完成cydia所能做的事;
&#62; links：基于命令行的浏览器，超屌，应用场景嘛，自己想想，类似的工具还有lynx，可以用apt-get安装;
&#62; top：类似windows任务管理器，不过不能直接关掉进程，需要使用kill/killall来关闭;
&#62; killall：关闭指定程序名称的所有进程，killall SpringBoard;
&#62; vim：用来代替subsystem自带的vi，我是直接用apt-get install vim安装的，支持大部分语法高亮，我另外安装了actionscript 1.0 - 3.0的语法包;
&#62; httpd：http服务器，可以装php5，当开发用的server来跑;
&#62; sqlite：命令行下访问通讯录等数据库;
&#62; google appengine sdk：开发使用google ape服务python应用;
&#62; 3proxy：在iPhone上架设代理服务器，特殊情形下，用于笔记本利用wifi通过iPhone GPRS上网，包含socks/http(s)/imap;
&#62; iphone sdk：可以在iPhone上开发iPhone使用的xcode代码(有点绕)，需要安装gcc for iphone;
还有不少东东就没有写，总而言之，你还真“别拿iPhone不当电脑” ，如果你愿意，可以把iPhone当网站服务器用，嘿嘿...
这些东东已经小用了数月，也小有体会，如果有同样需求要的同学，可以留言，一起发掘iPhone的潜力，下面上几张小图。
 
 
]]></description>
			<content:encoded><![CDATA[<p>iPhone的操作系统是mac os x，越狱的iPhone通常都会带上unix subsystem，也就意味着iPhone已经不再是手机那么简单，反正在我的眼里它就是一台可以随身携带的迷你unix server，不过要借助ssh客户端软件，比如putty。</p>
<p>列一下我在iPhone上最常用的命令行工具:</p>
<p>&gt; svn：用于从开源社区，如<a title="google code" href="http://code.google.com/" target="_blank">Google Code</a>获取源码;</p>
<p>&gt; wget：命令行下载工具;</p>
<p>&gt; apt：基于命令行的软件管理工具，可以完成cydia所能做的事;</p>
<p>&gt; links：基于命令行的浏览器，超屌，应用场景嘛，自己想想，类似的工具还有lynx，可以用apt-get安装;</p>
<p>&gt; top：类似windows任务管理器，不过不能直接关掉进程，需要使用kill/killall来关闭;</p>
<p>&gt; killall：关闭指定程序名称的所有进程，killall SpringBoard;</p>
<p>&gt; vim：用来代替subsystem自带的vi，我是直接用apt-get install vim安装的，支持大部分语法高亮，我另外安装了actionscript 1.0 - 3.0的语法包;</p>
<p>&gt; httpd：http服务器，可以装php5，当开发用的server来跑;</p>
<p>&gt; sqlite：命令行下访问通讯录等数据库;</p>
<p>&gt; google appengine sdk：开发使用google ape服务python应用;</p>
<p>&gt; 3proxy：在iPhone上架设代理服务器，特殊情形下，用于笔记本利用wifi通过iPhone GPRS上网，包含socks/http(s)/imap;</p>
<p>&gt; iphone sdk：可以在iPhone上开发iPhone使用的xcode代码(有点绕)，需要安装gcc for iphone;</p>
<p>还有不少东东就没有写，总而言之，你还真“别拿iPhone不当电脑” ，如果你愿意，可以把iPhone当网站服务器用，嘿嘿...</p>
<p>这些东东已经小用了数月，也小有体会，如果有同样需求要的同学，可以留言，一起发掘iPhone的潜力，下面上几张小图。</p>
<div id="attachment_55" class="wp-caption alignnone" style="width: 160px"><a href="http://blog.xnux.net/wp-content/uploads/2009/03/iphone_putty_sqlite3.jpg"><img class="size-thumbnail wp-image-55 " title="iphone_putty_sqlite3" src="http://blog.xnux.net/wp-content/uploads/2009/03/iphone_putty_sqlite3-150x123.jpg" alt="iphone_putty_sqlite3" width="150" height="123" /></a><p class="wp-caption-text">sqlite</p></div>
<div id="attachment_54" class="wp-caption alignnone" style="width: 160px"><a href="http://blog.xnux.net/wp-content/uploads/2009/03/iphone_putty_links.jpg"><img class="size-thumbnail wp-image-54 " title="iphone_putty_links" src="http://blog.xnux.net/wp-content/uploads/2009/03/iphone_putty_links-150x150.jpg" alt="links for iPhone" width="150" height="150" /></a><p class="wp-caption-text">links</p></div>
<p> </p>
<div id="attachment_53" class="wp-caption alignnone" style="width: 160px"><a href="http://blog.xnux.net/wp-content/uploads/2009/03/iphone_putty_as.jpg"><img class="size-thumbnail wp-image-53 " title="iphone_putty_as" src="http://blog.xnux.net/wp-content/uploads/2009/03/iphone_putty_as-150x150.jpg" alt="actionscript syntax" width="150" height="150" /></a><p class="wp-caption-text">actionscript syntax</p></div>
<div id="attachment_52" class="wp-caption alignnone" style="width: 160px"><a href="http://blog.xnux.net/wp-content/uploads/2009/03/iphone_putty_ape.jpg"><img class="size-thumbnail wp-image-52 " title="iphone_putty_ape" src="http://blog.xnux.net/wp-content/uploads/2009/03/iphone_putty_ape-150x150.jpg" alt="google ape" width="150" height="150" /></a><p class="wp-caption-text">google ape</p></div>
<p> </p>
<div id="attachment_51" class="wp-caption alignnone" style="width: 160px"><a href="http://blog.xnux.net/wp-content/uploads/2009/03/iphone_putty.jpg"><img class="size-thumbnail wp-image-51 " title="iphone_putty" src="http://blog.xnux.net/wp-content/uploads/2009/03/iphone_putty-150x150.jpg" alt="python" width="150" height="150" /></a><p class="wp-caption-text">python</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.xnux.net/2009/03/25/iphone_do_anything/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>有用的formatString,支持Actionscript1.0</title>
		<link>http://blog.xnux.net/2008/01/25/actionscript_formatstring/</link>
		<comments>http://blog.xnux.net/2008/01/25/actionscript_formatstring/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 16:28:28 +0000</pubDate>
		<dc:creator>Jack.f</dc:creator>
				<category><![CDATA[开发]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[formatString]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[printf]]></category>
		<category><![CDATA[string.Format]]></category>

		<guid isPermaLink="false">http://blog.xnux.net/2008/01/25/%e6%9c%89%e7%94%a8%e7%9a%84formatstring%e6%94%af%e6%8c%81actionscript10/</guid>
		<description><![CDATA[有用过C#, C/C++, PHP的人都应该知道string.Format或者printf吧! 下面我们让AS也有这样的功能. 什么? 没听说过 ... 拖出去TJJ ...
&#160;
var formatString = function&#40;m&#41;
&#123;
  if &#40;m.indexOf&#40;&#34;{&#34;&#41;==-1&#41; return m;
  var r=&#34;&#34;,n=&#34;&#34;;
  for&#40;var i=0;i&#60;m.length;i++&#41;
  &#123;
    if &#40;m.charAt&#40;i&#41;==&#34;{&#34;&#41;
    &#123;
      i++;
      for&#40;n=&#34;&#34;;m.charAt&#40;i&#41;!=&#34;}&#34;;i++&#41;
        n+=m.charAt&#40;i&#41;;
   [...]]]></description>
			<content:encoded><![CDATA[<p>有用过C#, C/C++, PHP的人都应该知道string.Format或者printf吧! 下面我们让AS也有这样的功能. 什么? 没听说过 ... 拖出去TJJ ...</p>
<pre class="actionscript">&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> formatString = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>m<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>m.<span style="color: #0066CC;">indexOf</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;{&quot;</span><span style="color: #66cc66;">&#41;</span>==<span style="color: #cc66cc;">-1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> m;
  <span style="color: #000000; font-weight: bold;">var</span> r=<span style="color: #ff0000;">&quot;&quot;</span>,n=<span style="color: #ff0000;">&quot;&quot;</span>;
  <span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i=<span style="color: #cc66cc;">0</span>;i&lt;m.<span style="color: #0066CC;">length</span>;i++<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>m.<span style="color: #0066CC;">charAt</span><span style="color: #66cc66;">&#40;</span>i<span style="color: #66cc66;">&#41;</span>==<span style="color: #ff0000;">&quot;{&quot;</span><span style="color: #66cc66;">&#41;</span>
    <span style="color: #66cc66;">&#123;</span>
      i++;
      <span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span>n=<span style="color: #ff0000;">&quot;&quot;</span>;m.<span style="color: #0066CC;">charAt</span><span style="color: #66cc66;">&#40;</span>i<span style="color: #66cc66;">&#41;</span>!=<span style="color: #ff0000;">&quot;}&quot;</span>;i++<span style="color: #66cc66;">&#41;</span>
        n+=m.<span style="color: #0066CC;">charAt</span><span style="color: #66cc66;">&#40;</span>i<span style="color: #66cc66;">&#41;</span>;
      <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">isNaN</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">parseInt</span><span style="color: #66cc66;">&#40;</span>n<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
      <span style="color: #66cc66;">&#123;</span>
        r+=<span style="color: #ff0000;">&quot;{&quot;</span>;
        i-=n.<span style="color: #006600;">length</span><span style="color: #cc66cc;">+1</span>;
        <span style="color: #b1b100;">continue</span>;
      <span style="color: #66cc66;">&#125;</span>
      i++;
      r+=<span style="color: #0066CC;">arguments</span><span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">parseInt</span><span style="color: #66cc66;">&#40;</span>n<span style="color: #66cc66;">&#41;</span><span style="color: #cc66cc;">+1</span><span style="color: #66cc66;">&#93;</span>;
    <span style="color: #66cc66;">&#125;</span>
    r += m.<span style="color: #0066CC;">charAt</span><span style="color: #66cc66;">&#40;</span>i<span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
  <span style="color: #b1b100;">return</span> r;
<span style="color: #66cc66;">&#125;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">/* usage:
var model = &quot;&lt;font size='{2}'&gt;&lt;b&gt;{0}&lt;/b&gt;+&lt;b&gt;{1}&lt;/b&gt;=&lt;b&gt;{0}&lt;/b&gt;&lt;/font&gt;&quot;;
var str = formatString(model, 100, 0, 9);
trace(str);
// output: &lt;font size='9'&gt;&lt;b&gt;100&lt;/b&gt;+&lt;b&gt;0&lt;/b&gt;=&lt;b&gt;100&lt;/b&gt;&lt;/font&gt;
*/</span> 就这么简单, 如果觉得不爽, 你可以继续使用:
<span style="color: #000000; font-weight: bold;">var</span> str = <span style="color: #ff0000;">&quot;&lt;font size='&quot;</span><span style="color: #cc66cc;">+9</span>+<span style="color: #ff0000;">&quot;'&gt;&lt;b&gt;&quot;</span><span style="color: #cc66cc;">+100</span>+<span style="color: #ff0000;">&quot;&lt;/b&gt;+&lt;b&gt;&quot;</span><span style="color: #cc66cc;">+0</span>+<span style="color: #ff0000;">&quot;&lt;/b&gt;=&lt;b&gt;&quot;</span><span style="color: #cc66cc;">+100</span>+<span style="color: #ff0000;">&quot;&lt;/b&gt;&lt;/font&gt;&quot;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>... 狂呕中 ...
&nbsp;</pre>
<p><strong>顺便说一句: </strong>函数体不用修改, 直接拿到html里当Javascript使, 也可以</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xnux.net/2008/01/25/actionscript_formatstring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>瘦版的Delegate,支持Actionscript1.0</title>
		<link>http://blog.xnux.net/2008/01/24/actionscript_delegate/</link>
		<comments>http://blog.xnux.net/2008/01/24/actionscript_delegate/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 15:33:28 +0000</pubDate>
		<dc:creator>Jack.f</dc:creator>
				<category><![CDATA[开发]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[Delegate.create]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[mx.utils.Delegate]]></category>

		<guid isPermaLink="false">http://blog.xnux.net/2008/01/24/actionscript_delegate/</guid>
		<description><![CDATA[ Actionscript 2.0 内置了mx.utils.Delegate的类, 用法就不说了, 自己查查Google, 写了个瘦版的, 经测试可以支持Actionscript 1.0 ...
&#160;
var fns = &#91;&#93;;
var delegate = function&#40;o, f&#41;
&#123;
    var i = fns.length;
    var fn = function&#40;&#41;&#123; fns&#91;i&#93;.f.apply&#40;fns&#91;i&#93;.o, &#91;arguments,this&#93;&#41;; &#125;;
    fns&#91;i&#93; = &#123;o:o, f:f&#125;;
    return fn;
&#125;
&#160;
/* usage:
var onStart = function()
{
    trace(this);
};
&#160;
btn_start.onRelease = delegate(this, onStart); [...]]]></description>
			<content:encoded><![CDATA[<p> Actionscript 2.0 内置了mx.utils.Delegate的类, 用法就不说了, 自己查查Google, 写了个瘦版的, 经测试可以支持Actionscript 1.0 ...</p>
<pre class="actionscript">&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> fns = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">var</span> delegate = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>o, f<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">var</span> i = fns.<span style="color: #0066CC;">length</span>;
    <span style="color: #000000; font-weight: bold;">var</span> fn = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> fns<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">f</span>.<span style="color: #0066CC;">apply</span><span style="color: #66cc66;">&#40;</span>fns<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">o</span>, <span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">arguments</span>,<span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span>;
    fns<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> = <span style="color: #66cc66;">&#123;</span>o:o, f:f<span style="color: #66cc66;">&#125;</span>;
    <span style="color: #b1b100;">return</span> fn;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* usage:
var onStart = function()
{
    trace(this);
};
&nbsp;
btn_start.onRelease = delegate(this, onStart); // output: _level0
//btn_start.onRelease = onStart; // output: _level0.btn_start
*/</span>
&nbsp;</pre>
<p>为什么说是廋版的呢, 其实就是编译后的文件小了一些, 看数据:</p>
<p>使用 mx.utils.Delegate, 文件大小会增加<strong>841 byte</strong>, 使用上面的代码, 文件大小只增加<strong>379 byte</strong>, 瘦了<strong>462 byte</strong>, 相当于小了一半多, 如果算上调用语法所占的大小, 应该不只少<strong>462 byte</strong>.虽然按字节数来说, 瘦得不多, 可是大家都知道积少成多的道理, 环保呀 ...</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.xnux.net/2008/01/24/actionscript_delegate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
