<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Kevin Cao's Blog</title> <link>http://kevincao.com</link> <description>designer, developer, director</description> <lastBuildDate>Mon, 19 Jul 2010 09:57:21 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0</generator> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/kevincao" /><feedburner:info uri="kevincao" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><feedburner:emailServiceId>kevincao</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Flash汉字助手源代码放出</title><link>http://feedproxy.google.com/~r/kevincao/~3/fLjVnDL9V70/</link> <comments>http://kevincao.com/2010/07/hanfont-opensource/#comments</comments> <pubDate>Mon, 19 Jul 2010 09:57:21 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Develop]]></category> <category><![CDATA[AIR]]></category> <category><![CDATA[ant]]></category> <category><![CDATA[open source]]></category> <category><![CDATA[robotlegs]]></category><guid isPermaLink="false">http://kevincao.com/?p=1390</guid> <description><![CDATA[明天就要出国休假一周，在此之前先把原先承诺的Flash汉字嵌入助手的源代码整理共享出来。对Robotlegs框架或者AIR2.0开发有兴趣的朋友不妨研究看看，欢迎一同探讨。原则上本软件和源码遵循MIT协议，如果想修改或用此代码做其他用途的，请保留我的著作信息。 关于编译部分，我用的是自己写的ANT脚本，如果你也要发布自己的软件，请在build.xml中修改密码，然后用keystore target生成自己的认证key。 GitHub下载 Subscribe to the comments for this post? Share this on del.icio.us Share this on Facebook Post on Google Buzz Tweet This! Email this to a friend? Tags: AIR, ant, open source, robotlegs Related posts Workflow &#8211; Further Thought (2) Project &#8211; Mercedes-Benz Autoshow 2010 Web Special (0) Flash汉字嵌入助手 (6) 那些正在发生的事 (2) [...]]]></description> <content:encoded><![CDATA[<p>明天就要出国休假一周，在此之前先把原先承诺的Flash汉字嵌入助手的源代码整理共享出来。对Robotlegs框架或者AIR2.0开发有兴趣的朋友不妨研究看看，欢迎一同探讨。原则上本软件和源码遵循MIT协议，如果想修改或用此代码做其他用途的，请保留我的著作信息。</p><p>关于编译部分，我用的是自己写的ANT脚本，如果你也要发布自己的软件，请在build.xml中修改密码，然后用keystore target生成自己的认证key。</p><p><a
href="http://github.com/kyoji2/HanFont/zipball/master" target="_blank">GitHub下载</a></p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/07/hanfont-opensource/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/07/hanfont-opensource/&amp;title=Flash%E6%B1%89%E5%AD%97%E5%8A%A9%E6%89%8B%E6%BA%90%E4%BB%A3%E7%A0%81%E6%94%BE%E5%87%BA" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/07/hanfont-opensource/&amp;t=Flash%E6%B1%89%E5%AD%97%E5%8A%A9%E6%89%8B%E6%BA%90%E4%BB%A3%E7%A0%81%E6%94%BE%E5%87%BA" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/07/hanfont-opensource/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Flash%E6%B1%89%E5%AD%97%E5%8A%A9%E6%89%8B%E6%BA%90%E4%BB%A3%E7%A0%81%E6%94%BE%E5%87%BA+-+File: /data/app/webapp/functions.php<br />Line: 23<br
/>Message: Incorrect key file for table './b2l_shrinker/phurl_settings.MYI'; try to repair it&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Flash%E6%B1%89%E5%AD%97%E5%8A%A9%E6%89%8B%E6%BA%90%E4%BB%A3%E7%A0%81%E6%94%BE%E5%87%BA%22&amp;body=Link: http://kevincao.com/2010/07/hanfont-opensource/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %E6%98%8E%E5%A4%A9%E5%B0%B1%E8%A6%81%E5%87%BA%E5%9B%BD%E4%BC%91%E5%81%87%E4%B8%80%E5%91%A8%EF%BC%8C%E5%9C%A8%E6%AD%A4%E4%B9%8B%E5%89%8D%E5%85%88%E6%8A%8A%E5%8E%9F%E5%85%88%E6%89%BF%E8%AF%BA%E7%9A%84Flash%E6%B1%89%E5%AD%97%E5%B5%8C%E5%85%A5%E5%8A%A9%E6%89%8B%E7%9A%84%E6%BA%90%E4%BB%A3%E7%A0%81%E6%95%B4%E7%90%86%E5%85%B1%E4%BA%AB%E5%87%BA%E6%9D%A5%E3%80%82%E5%AF%B9Robotlegs%E6%A1%86%E6%9E%B6%E6%88%96%E8%80%85AIR2.0%E5%BC%80%E5%8F%91%E6%9C%89%E5%85%B4%E8%B6%A3%E7%9A%84%E6%9C%8B%E5%8F%8B%E4%B8%8D%E5%A6%A8%E7%A0%94%E7%A9%B6%E7%9C%8B%E7%9C%8B%EF%BC%8C%E6%AC%A2%E8%BF%8E%E4%B8%80%E5%90%8C%E6%8E%A2%E8%AE%A8%E3%80%82%E5%8E%9F%E5%88%99%E4%B8%8A%E6%9C%AC%E8%BD%AF%E4%BB%B6%E5%92%8C%E6%BA%90%E7%A0%81%E9%81%B5%E5%BE%AAMIT%E5%8D%8F%E8%AE%AE%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%83%B3%E4%BF%AE%E6%94%B9%E6%88%96%E7%94%A8%E6%AD%A4%E4%BB%A3%E7%A0%81%E5%81%9A%E5%85%B6%E4" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/air/" title="AIR" rel="tag">AIR</a>, <a
href="http://kevincao.com/tag/ant/" title="ant" rel="tag">ant</a>, <a
href="http://kevincao.com/tag/open-source/" title="open source" rel="tag">open source</a>, <a
href="http://kevincao.com/tag/robotlegs/" title="robotlegs" rel="tag">robotlegs</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2010/03/workflow-further-thought/" title="Workflow &ndash; Further Thought (2010/03/27)">Workflow &ndash; Further Thought</a> (2)</li><li><a
href="http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/" title="Project &ndash; Mercedes-Benz Autoshow 2010 Web Special (2010/04/24)">Project &ndash; Mercedes-Benz Autoshow 2010 Web Special</a> (0)</li><li><a
href="http://kevincao.com/2010/07/hanfont/" title="Flash汉字嵌入助手 (2010/07/05)">Flash汉字嵌入助手</a> (6)</li><li><a
href="http://kevincao.com/2010/02/things-that-are-happening/" title="那些正在发生的事 (2010/02/22)">那些正在发生的事</a> (2)</li><li><a
href="http://kevincao.com/2006/02/digging-open-source-flash/" title="挖挖Open Source Flash (2006/02/21)">挖挖Open Source Flash</a> (2)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/DS1aFvhu_oZpziFlb1FI4FwbcaQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/DS1aFvhu_oZpziFlb1FI4FwbcaQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/DS1aFvhu_oZpziFlb1FI4FwbcaQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/DS1aFvhu_oZpziFlb1FI4FwbcaQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=fLjVnDL9V70:P10BzZRPiUc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=fLjVnDL9V70:P10BzZRPiUc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=fLjVnDL9V70:P10BzZRPiUc:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/07/hanfont-opensource/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://kevincao.com/2010/07/hanfont-opensource/</feedburner:origLink></item> <item><title>Flash汉字嵌入助手</title><link>http://feedproxy.google.com/~r/kevincao/~3/1Yp893L8LZ0/</link> <comments>http://kevincao.com/2010/07/hanfont/#comments</comments> <pubDate>Mon, 05 Jul 2010 07:30:31 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Develop]]></category> <category><![CDATA[ActionScript]]></category> <category><![CDATA[AIR]]></category> <category><![CDATA[Flash]]></category> <category><![CDATA[Flex]]></category> <category><![CDATA[portfolio]]></category> <category><![CDATA[project]]></category> <category><![CDATA[robotlegs]]></category><guid isPermaLink="false">http://kevincao.com/?p=1372</guid> <description><![CDATA[软件介绍 Flash汉字嵌入助手（HanFont）是一款制作Flash运行时共享字库的工具。特别针对Flash汉字的嵌入需求进行开发，简化了烦琐的生产过程，自动生成AS文件甚至是最终的SWF文件，让没有开发经验的人员也能够轻松使用。 软件的前身是我去年推出的Font Converter，运作原理可以看我去年写的Flash字体嵌入方法总结系列。随着Adobe AIR2.0的推出，新的NativeProcess API使得AIR调用外部程序的功能得到了大幅增强，终于可以实现我最想实现的功能：直接调用Flex SDK编译SWF文件。于是我重新改写了去年的程序，把原先基于Flash IDE开发的结构用Robotlegs框架重新开发。 软件特点 基于Adobe AIR 2.0全新开发 new!； 支持直接调用Flex SDK 3.x或4.x进行编译 new!； 支持拖拽的方式引用外部字体 new!； 内置各种汉字范围的预设； 支持拖拽的方式导入文本文件； 支持空白字符和非中文字符的过滤； 可以选择输出单个变量或者整个类。 安装环境 Windows XP/Vista/7 请确保您的电脑安装了最新的Adobe AIR 2.x 下载 HanFont_v3.0.zip 使用说明 第一次运行的时候，软件会提示你填入Flex SDK的路径，并选择你所使用的版本。在软件使用过程中，你也可以通过右上角的设置键来重新打开这个设置窗口。 字体设置部分： 填入类名和字体名，设置粗体或者斜体。如果选择了系统字体方式嵌入，可以直接在预览框里看到字体效果，甚至还可以自己输入预览文字。 CFF方式嵌入是Flex SDK 4.x的特性，这种嵌入字体的文件量更小，但是仅能用于TLF，传统的Textfield不能使用这种方式嵌入的字体。 嵌入文字设置部分： 可以在左边的预设列表里面选择所需字体。如果在预设中保持默认的第一项，又没有填入自定义包含文字的话，则表示没有限定字体范围，将整个字体完全打包。 在自定义包含文本框中可以随意输入想要嵌入的字体。除了“导入”按钮可以导入外部文本以外，还支持拖放操作。你也可以设置过滤空白字符和过滤非中文字符的选项来对输入的文本进行筛选。 输出部分： 你可以在输出预览中看到软件自动生成的AS代码，还可以自由的切换输出代码的类型。最后，你还可以对输出代码进行复制、保存和编译操作。 ps. 由于调用本地进程需要更高的权限，所以不能用air格式来发布。苹果用户可以下载这个air文件自行打包，不过我没有验证过是否会有错误。此外，源代码整理后近期将放出。 Subscribe to the comments for this post? Share this on del.icio.us Share [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://kevincao.com/wp-content/uploads/2010/07/splash.jpg" rel="shadowbox[post-1372];player=img;"><img
class="alignnone size-full wp-image-1381" title="splash" src="http://kevincao.com/wp-content/uploads/2010/07/splash.jpg" alt="" width="615" height="220" /></a></p><p>软件介绍</p><p>Flash汉字嵌入助手（HanFont）是一款制作Flash运行时共享字库的工具。特别针对Flash汉字的嵌入需求进行开发，简化了烦琐的生产过程，自动生成AS文件甚至是最终的SWF文件，让没有开发经验的人员也能够轻松使用。</p><p>软件的前身是我去年推出的<a
href="http://kevincao.com/app/font/" target="_blank">Font Converter</a>，运作原理可以看我去年写的<a
href="http://kevincao.com/?s=Flash%E5%AD%97%E4%BD%93%E5%B5%8C%E5%85%A5%E6%96%B9%E6%B3%95%E6%80%BB%E7%BB%93" target="_blank">Flash字体嵌入方法总结系列</a>。随着<a
href="http://get.adobe.com/cn/air/" target="_blank">Adobe AIR2.0</a>的推出，新的<a
href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/NativeProcess.html" target="_blank">NativeProcess API</a>使得AIR调用外部程序的功能得到了大幅增强，终于可以实现我最想实现的功能：直接调用Flex SDK编译SWF文件。于是我重新改写了去年的程序，把原先基于Flash IDE开发的结构用<a
href="http://www.robotlegs.org/" target="_blank">Robotlegs</a>框架重新开发。</p><p>软件特点</p><ul><li>基于Adobe AIR 2.0全新开发 <em><span
style="color: #ff0000;">new!</span></em>；</li><li>支持直接调用Flex SDK 3.x或4.x进行编译 <em><span
style="color: #ff0000;">new!</span></em>；</li><li>支持拖拽的方式引用外部字体 <em><span
style="color: #ff0000;">new!</span></em>；</li><li>内置各种汉字范围的预设；</li><li>支持拖拽的方式导入文本文件；</li><li>支持空白字符和非中文字符的过滤；</li><li>可以选择输出单个变量或者整个类。</li></ul><p><span
id="more-1372"></span>安装环境</p><ul><li>Windows XP/Vista/7</li><li>请确保您的电脑安装了最新的<a
href="http://get.adobe.com/cn/air/" target="_blank">Adobe AIR 2.x</a></li></ul><p>下载</p><p><a
href="http://kevincao.com/download/kevincao.com_HanFont_v3.0.zip" target="_blank">HanFont_v3.0.zip</a></p><p>使用说明</p><p
style="text-align: center;"><a
href="http://kevincao.com/wp-content/uploads/2010/07/setting.png" rel="shadowbox[post-1372];player=img;"><img
class="size-full wp-image-1379 aligncenter" title="setting" src="http://kevincao.com/wp-content/uploads/2010/07/setting.png" alt="" width="400" height="106" /></a></p><p>第一次运行的时候，软件会提示你填入Flex SDK的路径，并选择你所使用的版本。在软件使用过程中，你也可以通过右上角的设置键来重新打开这个设置窗口。</p><p
style="text-align: center;"><a
href="http://kevincao.com/wp-content/uploads/2010/07/font.png" rel="shadowbox[post-1372];player=img;"><img
class="size-full wp-image-1374 aligncenter" title="font" src="http://kevincao.com/wp-content/uploads/2010/07/font.png" alt="" width="535" height="134" /></a></p><p>字体设置部分：</p><p>填入类名和字体名，设置粗体或者斜体。如果选择了系统字体方式嵌入，可以直接在预览框里看到字体效果，甚至还可以自己输入预览文字。</p><p>CFF方式嵌入是Flex SDK 4.x的特性，这种嵌入字体的文件量更小，但是仅能用于TLF，传统的Textfield不能使用这种方式嵌入的字体。</p><p
style="text-align: center;"><a
href="http://kevincao.com/wp-content/uploads/2010/07/input.png" rel="shadowbox[post-1372];player=img;"><img
class="size-full wp-image-1376 aligncenter" title="input" src="http://kevincao.com/wp-content/uploads/2010/07/input.png" alt="" width="534" height="250" /></a></p><p>嵌入文字设置部分：</p><p>可以在左边的预设列表里面选择所需字体。如果在预设中保持默认的第一项，又没有填入自定义包含文字的话，则表示没有限定字体范围，将整个字体完全打包。</p><p>在自定义包含文本框中可以随意输入想要嵌入的字体。除了“导入”按钮可以导入外部文本以外，还支持拖放操作。你也可以设置过滤空白字符和过滤非中文字符的选项来对输入的文本进行筛选。</p><p
style="text-align: center;"><a
href="http://kevincao.com/wp-content/uploads/2010/07/output.png" rel="shadowbox[post-1372];player=img;"><img
class="size-full wp-image-1377 aligncenter" title="output" src="http://kevincao.com/wp-content/uploads/2010/07/output.png" alt="" width="521" height="238" /></a></p><p>输出部分：</p><p>你可以在输出预览中看到软件自动生成的AS代码，还可以自由的切换输出代码的类型。最后，你还可以对输出代码进行复制、保存和编译操作。</p><p>ps. 由于调用本地进程需要更高的权限，所以不能用air格式来发布。苹果用户可以下载这个<a
href="http://kevincao.com/download/kevincao.com_HanFont_v3.0.air" target="_blank">air文件</a>自行打包，不过我没有验证过是否会有错误。此外，源代码整理后近期将放出。</p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/07/hanfont/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/07/hanfont/&amp;title=Flash%E6%B1%89%E5%AD%97%E5%B5%8C%E5%85%A5%E5%8A%A9%E6%89%8B" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/07/hanfont/&amp;t=Flash%E6%B1%89%E5%AD%97%E5%B5%8C%E5%85%A5%E5%8A%A9%E6%89%8B" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/07/hanfont/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Flash%E6%B1%89%E5%AD%97%E5%B5%8C%E5%85%A5%E5%8A%A9%E6%89%8B+-+http://b2l.me/9tkjw&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Flash%E6%B1%89%E5%AD%97%E5%B5%8C%E5%85%A5%E5%8A%A9%E6%89%8B%22&amp;body=Link: http://kevincao.com/2010/07/hanfont/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %0D%0A%0D%0A%E8%BD%AF%E4%BB%B6%E4%BB%8B%E7%BB%8D%0D%0A%0D%0AFlash%E6%B1%89%E5%AD%97%E5%B5%8C%E5%85%A5%E5%8A%A9%E6%89%8B%EF%BC%88HanFont%EF%BC%89%E6%98%AF%E4%B8%80%E6%AC%BE%E5%88%B6%E4%BD%9CFlash%E8%BF%90%E8%A1%8C%E6%97%B6%E5%85%B1%E4%BA%AB%E5%AD%97%E5%BA%93%E7%9A%84%E5%B7%A5%E5%85%B7%E3%80%82%E7%89%B9%E5%88%AB%E9%92%88%E5%AF%B9Flash%E6%B1%89%E5%AD%97%E7%9A%84%E5%B5%8C%E5%85%A5%E9%9C%80%E6%B1%82%E8%BF%9B%E8%A1%8C%E5%BC%80%E5%8F%91%EF%BC%8C%E7%AE%80%E5%8C%96%E4%BA%86%E7%83%A6%E7%90%90%E7%9A%84%E7%94%9F%E4%BA%A7%E8%BF%87%E7%A8%8B%EF%BC%8C%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90AS%E6%96%87%E4%BB%B6%E7%94%9A%E8%87%B3%E6%98%AF%E6%9C%80%E7%BB%88%E7%9A%84SWF%E6%96%87%E4%BB%B6%EF%BC%8C%E8%AE%A9%E6%B2%A1%E6%9C%89%E5%BC%80%E5%8F%91%E7%BB%8F%E9%AA%8C%E7%9A%84%E4%BA%BA%E5%91%98%E4%B9%9F%E8%83%BD%E5%A4%9F%E8%BD%BB%E6%9D%BE%E4%BD%BF%E7%94%A8%E3%80%82%0D" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/actionscript/" title="ActionScript" rel="tag">ActionScript</a>, <a
href="http://kevincao.com/tag/air/" title="AIR" rel="tag">AIR</a>, <a
href="http://kevincao.com/tag/flash/" title="Flash" rel="tag">Flash</a>, <a
href="http://kevincao.com/tag/flex/" title="Flex" rel="tag">Flex</a>, <a
href="http://kevincao.com/tag/portfolio/" title="portfolio" rel="tag">portfolio</a>, <a
href="http://kevincao.com/tag/project/" title="project" rel="tag">project</a>, <a
href="http://kevincao.com/tag/robotlegs/" title="robotlegs" rel="tag">robotlegs</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/" title="Project &ndash; Mercedes-Benz Autoshow 2010 Web Special (2010/04/24)">Project &ndash; Mercedes-Benz Autoshow 2010 Web Special</a> (0)</li><li><a
href="http://kevincao.com/2006/03/project-piombo/" title="Project &#8211; Piombo (2006/03/19)">Project &#8211; Piombo</a> (2)</li><li><a
href="http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/" title="Project &#8211; Mercedes-Benz E-Class L (2010/06/19)">Project &#8211; Mercedes-Benz E-Class L</a> (1)</li><li><a
href="http://kevincao.com/2009/04/project-kc-command-package-v30/" title="Project &#8211; KC Command Package v3.0 (2009/04/15)">Project &#8211; KC Command Package v3.0</a> (0)</li><li><a
href="http://kevincao.com/2010/05/two-ar-projects/" title="Two AR Projects (2010/05/08)">Two AR Projects</a> (6)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/EWG9UVHXA5kHACvupq0KvIpm8dA/0/da"><img src="http://feedads.g.doubleclick.net/~a/EWG9UVHXA5kHACvupq0KvIpm8dA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/EWG9UVHXA5kHACvupq0KvIpm8dA/1/da"><img src="http://feedads.g.doubleclick.net/~a/EWG9UVHXA5kHACvupq0KvIpm8dA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=1Yp893L8LZ0:6pqGUyYEq_g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=1Yp893L8LZ0:6pqGUyYEq_g:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=1Yp893L8LZ0:6pqGUyYEq_g:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/07/hanfont/feed/</wfw:commentRss> <slash:comments>6</slash:comments> <feedburner:origLink>http://kevincao.com/2010/07/hanfont/</feedburner:origLink></item> <item><title>再出发</title><link>http://feedproxy.google.com/~r/kevincao/~3/Pn-zzBabQOA/</link> <comments>http://kevincao.com/2010/06/start-again/#comments</comments> <pubDate>Sat, 26 Jun 2010 16:04:59 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Thought]]></category><guid isPermaLink="false">http://kevincao.com/?p=1364</guid> <description><![CDATA[昨天我们创意部为几位即将告别ES的同事举办送别party,是我在ES的工作生涯中经历的最为深刻的一天。 Guru Team经历的这次人事变动，冰冻三尺非一日之寒，应该说最大的责任在我。过去的两年是一段迷茫的日子，公司的某些错误决策造成了很多动荡的不利因素。创意部的文化在一点点的流失，创意质量在一点点的降低，而我却没有起到应起的作用。两年前走上这个管理岗位的时候，我没有做好准备，还是沉迷在自己的世界中。作为一个Team Leader，在管理上的没有作为成为我最大的败笔。 我不是没有察觉到我的问题，而是没有那么深刻的被触动，直到昨天。 我的下属酒后吐真言：我最大的失败在于没有带出自己的团队。我完全承认。我的自私造成这个团队的激情和梦想一点点的被现实打压。我不是没有思考过如何激励团队、如何设置合理的项目流程、如何去做创新。但是最大的问题在于我仅仅限于思考，而没有给出具体的行动。我还把自己能做的努力定势的限制在部门内部。我的团队像是被遗弃的孤儿，士气一天一天的沉沦下去。迟到、旷工、消极怠工、接私单影响正常工作，问题接踵而至。 然而我的下属们都太腼腆，没有人和我分享他们真正的想法。直到昨天我才听到他们内心真实的想法。我于是重新审视了自己的能力和目标。一直以来，我是一个内向、不太自信的人。但是这些年我越来越清晰的听见自己心里的声音：我希望我自己成为一个对中国的互动行业有贡献，有影响力的人。不过我不敢公开做出承诺，害怕失败。 事实上，回想我自己在过去这几年其实已经帮助和影响了一些人。这个博客一开始只是为我自己所用，但是随着更多的朋友关注这里，通过我的分享而受益，我开始感受到提供对他人更有帮助的信息的乐趣。还有些行业新鲜人在我的帮助和引荐下开始了他们自己的职业生涯。我也参加过朋友举办的高校设计师交流会，和大学同学们面对面分享自己的成长经历。而我却错误的低估了自己的影响力。 我以为只有在专业上不断进步，才能树立权威，才能有资格去指导他人。实际上团队内需要的不是高高在上的权威，而是一个对成员有帮助的导师，一个能够为他们指明方向的领导者。听着下属的话，我觉得即震撼又难过。这些有激情、有实力的即可爱又单纯的人，因为我的错误，蹉跎了职业上升期的宝贵时光。这是我对他们的辜负，也让我第一次感受到责任的重大。 我想我已经找到实现自己理想的第一步。我承诺对这个团队负责，用我的激情和影响力重塑ES Guru的文化，帮助团队成员实现自己的价值。如果我连这么一个小小的团队都带不好，我谈何去影响整个行业。事实证明当我想明白这点以后，脑中很多已经沉寂的想法又开始活跃起来，再次感觉充满创造力的乐趣。 最后祝福那些离开团队的同志们：不管经历怎样的挫折，也不要泯灭了心中那股对互动最原始的激情。 Subscribe to the comments for this post? Share this on del.icio.us Share this on Facebook Post on Google Buzz Tweet This! Email this to a friend? No tags for this post. Related posts No related posts.]]></description> <content:encoded><![CDATA[<p>昨天我们创意部为几位即将告别ES的同事举办送别party,是我在ES的工作生涯中经历的最为深刻的一天。</p><p>Guru Team经历的这次人事变动，冰冻三尺非一日之寒，应该说最大的责任在我。过去的两年是一段迷茫的日子，公司的某些错误决策造成了很多动荡的不利因素。创意部的文化在一点点的流失，创意质量在一点点的降低，而我却没有起到应起的作用。两年前走上这个管理岗位的时候，我没有做好准备，还是沉迷在自己的世界中。作为一个Team Leader，在管理上的没有作为成为我最大的败笔。</p><p>我不是没有察觉到我的问题，而是没有那么深刻的被触动，直到昨天。</p><p>我的下属酒后吐真言：我最大的失败在于没有带出自己的团队。我完全承认。我的自私造成这个团队的激情和梦想一点点的被现实打压。我不是没有思考过如何激励团队、如何设置合理的项目流程、如何去做创新。但是最大的问题在于我仅仅限于思考，而没有给出具体的行动。我还把自己能做的努力定势的限制在部门内部。我的团队像是被遗弃的孤儿，士气一天一天的沉沦下去。迟到、旷工、消极怠工、接私单影响正常工作，问题接踵而至。</p><p>然而我的下属们都太腼腆，没有人和我分享他们真正的想法。直到昨天我才听到他们内心真实的想法。我于是重新审视了自己的能力和目标。一直以来，我是一个内向、不太自信的人。但是这些年我越来越清晰的听见自己心里的声音：我希望我自己成为一个对中国的互动行业有贡献，有影响力的人。不过我不敢公开做出承诺，害怕失败。</p><p>事实上，回想我自己在过去这几年其实已经帮助和影响了一些人。这个博客一开始只是为我自己所用，但是随着更多的朋友关注这里，通过我的分享而受益，我开始感受到提供对他人更有帮助的信息的乐趣。还有些行业新鲜人在我的帮助和引荐下开始了他们自己的职业生涯。我也参加过朋友举办的高校设计师交流会，和大学同学们面对面分享自己的成长经历。而我却错误的低估了自己的影响力。 我以为只有在专业上不断进步，才能树立权威，才能有资格去指导他人。实际上团队内需要的不是高高在上的权威，而是一个对成员有帮助的导师，一个能够为他们指明方向的领导者。听着下属的话，我觉得即震撼又难过。这些有激情、有实力的即可爱又单纯的人，因为我的错误，蹉跎了职业上升期的宝贵时光。这是我对他们的辜负，也让我第一次感受到责任的重大。</p><p>我想我已经找到实现自己理想的第一步。我承诺对这个团队负责，用我的激情和影响力重塑ES Guru的文化，帮助团队成员实现自己的价值。如果我连这么一个小小的团队都带不好，我谈何去影响整个行业。事实证明当我想明白这点以后，脑中很多已经沉寂的想法又开始活跃起来，再次感觉充满创造力的乐趣。</p><p>最后祝福那些离开团队的同志们：不管经历怎样的挫折，也不要泯灭了心中那股对互动最原始的激情。</p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/06/start-again/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/06/start-again/&amp;title=%E5%86%8D%E5%87%BA%E5%8F%91" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/06/start-again/&amp;t=%E5%86%8D%E5%87%BA%E5%8F%91" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/06/start-again/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=%E5%86%8D%E5%87%BA%E5%8F%91+-+http://b2l.me/9tk5r&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22%E5%86%8D%E5%87%BA%E5%8F%91%22&amp;body=Link: http://kevincao.com/2010/06/start-again/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %E6%98%A8%E5%A4%A9%E6%88%91%E4%BB%AC%E5%88%9B%E6%84%8F%E9%83%A8%E4%B8%BA%E5%87%A0%E4%BD%8D%E5%8D%B3%E5%B0%86%E5%91%8A%E5%88%ABES%E7%9A%84%E5%90%8C%E4%BA%8B%E4%B8%BE%E5%8A%9E%E9%80%81%E5%88%ABparty%2C%E6%98%AF%E6%88%91%E5%9C%A8ES%E7%9A%84%E5%B7%A5%E4%BD%9C%E7%94%9F%E6%B6%AF%E4%B8%AD%E7%BB%8F%E5%8E%86%E7%9A%84%E6%9C%80%E4%B8%BA%E6%B7%B1%E5%88%BB%E7%9A%84%E4%B8%80%E5%A4%A9%E3%80%82%0D%0A%0D%0AGuru%20Team%E7%BB%8F%E5%8E%86%E7%9A%84%E8%BF%99%E6%AC%A1%E4%BA%BA%E4%BA%8B%E5%8F%98%E5%8A%A8%EF%BC%8C%E5%86%B0%E5%86%BB%E4%B8%89%E5%B0%BA%E9%9D%9E%E4%B8%80%E6%97%A5%E4%B9%8B%E5%AF%92%EF%BC%8C%E5%BA%94%E8%AF%A5%E8%AF%B4%E6%9C%80%E5%A4%A7%E7%9A%84%E8%B4%A3%E4%BB%BB%E5%9C%A8%E6%88%91%E3%80%82%E8%BF%87%E5%8E%BB%E7%9A%84%E4%B8%A4%E5%B9%B4%E6%98%AF%E4%B8%80%E6%AE%B5%E8%BF%B7%E8%8C%AB%E7%9A%84%E6%97%A5%E5%AD%90%EF%BC%8C%E5%85%AC%E5%8F%B8%E7%9A%84%E6%9F%90%E4%BA%9B%E9%94%99%E8" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>No tags for this post.<h4>Related posts</h4><ul
class="st-related-posts"><li>No related posts.</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/dWGz1E1D_1x1RtFF6MTrDzx55XQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/dWGz1E1D_1x1RtFF6MTrDzx55XQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/dWGz1E1D_1x1RtFF6MTrDzx55XQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/dWGz1E1D_1x1RtFF6MTrDzx55XQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=Pn-zzBabQOA:9RHMSf7B2ic:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=Pn-zzBabQOA:9RHMSf7B2ic:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=Pn-zzBabQOA:9RHMSf7B2ic:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/06/start-again/feed/</wfw:commentRss> <slash:comments>23</slash:comments> <feedburner:origLink>http://kevincao.com/2010/06/start-again/</feedburner:origLink></item> <item><title>Project – Mercedes-Benz E-Class L</title><link>http://feedproxy.google.com/~r/kevincao/~3/Ecb3ibduf9w/</link> <comments>http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/#comments</comments> <pubDate>Sat, 19 Jun 2010 12:27:31 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Design]]></category> <category><![CDATA[Develop]]></category> <category><![CDATA[ActionScript]]></category> <category><![CDATA[Flash]]></category> <category><![CDATA[interactive]]></category> <category><![CDATA[portfolio]]></category> <category><![CDATA[project]]></category> <category><![CDATA[web-design]]></category><guid isPermaLink="false">http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/</guid> <description><![CDATA[“从优秀到卓越”，梅赛德斯-奔驰全新长轴距E级轿车卓然登场。 Title : Mercedes-Benz E-Class L Client : Mercedes-Benz Beijing Agency : Energy Source Date : 2010.6.18 Art &#38; Design : Tina’s Team Motion &#38; Flash &#38; Develop : ES Guru Team Integrate : ES Tech Team 3D : Bitone ps. 之前提到的鼠标跟随光效源代码同步放出，点击下载 Subscribe to the comments for this post? Share this on del.icio.us Share this [...]]]></description> <content:encoded><![CDATA[<p><img
style="display: inline; border: 0px;" title="E-Class1" src="http://kevincao.com/wp-content/uploads/2010/06/20100619_00651.png" border="0" alt="E-Class1" width="500" height="282" /></p><p><img
style="display: inline; border: 0px;" title="E-Class2" src="http://kevincao.com/wp-content/uploads/2010/06/20100619_00652.png" border="0" alt="E-Class2" width="500" height="282" /></p><p><img
style="display: inline; border: 0px;" title="E-Class3" src="http://kevincao.com/wp-content/uploads/2010/06/20100619_00653.png" border="0" alt="E-Class3" width="500" height="282" /></p><p>“从优秀到卓越”，梅赛德斯-奔驰全新长轴距E级轿车卓然登场。</p><blockquote><p>Title : <a
href="http://www.e-class.com.cn/china/experience/" target="_blank">Mercedes-Benz E-Class L</a><br
/> Client : Mercedes-Benz Beijing<br
/> Agency : Energy Source<br
/> Date : 2010.6.18</p><p>Art &amp; Design : Tina’s Team<br
/> Motion &amp; Flash &amp; Develop : ES Guru Team<br
/> Integrate : ES Tech Team<br
/> 3D : Bitone</p></blockquote><p>ps. 之前提到的鼠标跟随光效源代码同步放出，<a
href="http://kevincao-playground.googlecode.com/files/kevincao.com_lightstroke.zip" target="_blank">点击下载</a> <img
src='http://kevincao.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/&amp;title=Project+-+Mercedes-Benz+E-Class+L" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/&amp;t=Project+-+Mercedes-Benz+E-Class+L" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Project+-+Mercedes-Benz+E-Class+L+-+http://b2l.me/9udmn&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Project%20-%20Mercedes-Benz%20E-Class%20L%22&amp;body=Link: http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%E2%80%9C%E4%BB%8E%E4%BC%98%E7%A7%80%E5%88%B0%E5%8D%93%E8%B6%8A%E2%80%9D%EF%BC%8C%E6%A2%85%E8%B5%9B%E5%BE%B7%E6%96%AF-%E5%A5%94%E9%A9%B0%E5%85%A8%E6%96%B0%E9%95%BF%E8%BD%B4%E8%B7%9DE%E7%BA%A7%E8%BD%BF%E8%BD%A6%E5%8D%93%E7%84%B6%E7%99%BB%E5%9C%BA%E3%80%82%0D%0ATitle%20%3A%20Mercedes-Benz%20E-Class%20L%0D%0AClient%20%3A%20Mercedes-Benz%20Beijing%0D%0AAgency%20%3A%20Energy%20Source%0D%0ADate%20%3A%202010.6.18%0D%0A%0D%0AArt%20%26amp%3B%20Design%20%3A%20Tina%E2%80%99s%20Team%0D%0AMotion%20%26amp%3B%20Flash%20%26amp%3B%20Develop%20%3A%20ES%20Guru%20Team%0D%0AIntegrat" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/actionscript/" title="ActionScript" rel="tag">ActionScript</a>, <a
href="http://kevincao.com/tag/flash/" title="Flash" rel="tag">Flash</a>, <a
href="http://kevincao.com/tag/interactive/" title="interactive" rel="tag">interactive</a>, <a
href="http://kevincao.com/tag/portfolio/" title="portfolio" rel="tag">portfolio</a>, <a
href="http://kevincao.com/tag/project/" title="project" rel="tag">project</a>, <a
href="http://kevincao.com/tag/web-design/" title="web-design" rel="tag">web-design</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2006/03/project-piombo/" title="Project &#8211; Piombo (2006/03/19)">Project &#8211; Piombo</a> (2)</li><li><a
href="http://kevincao.com/2010/05/two-ar-projects/" title="Two AR Projects (2010/05/08)">Two AR Projects</a> (6)</li><li><a
href="http://kevincao.com/2007/03/showreel-2007/" title="Showreel 2007 (2007/03/16)">Showreel 2007</a> (10)</li><li><a
href="http://kevincao.com/2009/11/roxik-verbatim/" title="Roxik新作：Verbatim机器人大战 (2009/11/18)">Roxik新作：Verbatim机器人大战</a> (3)</li><li><a
href="http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/" title="Project &ndash; Mercedes-Benz Autoshow 2010 Web Special (2010/04/24)">Project &ndash; Mercedes-Benz Autoshow 2010 Web Special</a> (0)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/bttCW8wi2TnVPr7-ZEDD4Db1iNo/0/da"><img src="http://feedads.g.doubleclick.net/~a/bttCW8wi2TnVPr7-ZEDD4Db1iNo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/bttCW8wi2TnVPr7-ZEDD4Db1iNo/1/da"><img src="http://feedads.g.doubleclick.net/~a/bttCW8wi2TnVPr7-ZEDD4Db1iNo/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=Ecb3ibduf9w:VFLYIB8QmAE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=Ecb3ibduf9w:VFLYIB8QmAE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=Ecb3ibduf9w:VFLYIB8QmAE:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/</feedburner:origLink></item> <item><title>Creative Technology Cross Over</title><link>http://feedproxy.google.com/~r/kevincao/~3/HpdSdeMWXrQ/</link> <comments>http://kevincao.com/2010/05/creative-technology-cross-over/#comments</comments> <pubDate>Sat, 08 May 2010 13:42:01 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Design]]></category> <category><![CDATA[Develop]]></category> <category><![CDATA[Thought]]></category> <category><![CDATA[After Effects]]></category> <category><![CDATA[Away3D]]></category> <category><![CDATA[CG]]></category> <category><![CDATA[interactive]]></category> <category><![CDATA[papervision3d]]></category> <category><![CDATA[post production]]></category><guid isPermaLink="false">http://kevincao.com/2010/05/creative-technology-cross-over/</guid> <description><![CDATA[做Flash设计和开发的，要不要学习后期、3D？要我说，很有必要，特别是做表现形式创意的，更是非学不可。因为现在Flash、视频、开发方面自身的潜力已经挖掘的差不多了，这就要靠跨界、整合才能更有新意。我们来看几个例子。 这个Rhythm of Lines是2007年的网站。流畅的线条给人留下了很深的印象。而其中的亮点：线条组成车的轮廓，是怎么做到的呢。答案是先在Maya中把线框的模型建出来，然后用程序导出数据到XML，最后用Papervision3D生成动画。 Audi – Virsprung durch Tech 而接下来的这个网站，更是把这种方法发扬光大。聪明的你应该已经猜到了，没错，组成车的那些点也是从三维软件里面导出来的。 除了数据交换的应用以外，随着技术的进步，很多在次世代游戏开发中用到的三维技术和技巧，也可以运用到Flash中来。比如在Flash 3D开发中，为了保证运行的效率，我们应该尽可能的减少多边形的数量，把细节放到贴图中去表现。对此我们应该要了解三维中可以烘培哪些贴图以供程序使用。 上图是Away3D的一个例子，你需要了解三维中各种各样的贴图分别是什么意思；法线贴图比凹凸贴图有什么优势；HDRI要如何应用等等。只有这样你才能更好的和3D制作人员沟通。 在Mercedes-Benz Autoshow 2010 Web Special项目中，有一个令人头疼的功能是在每一个镜头中的车都是可以被点击的。在传统思路中，这意味着大量的画遮罩的工作。100多个镜头都这么处理的话是个非常巨大的工作量，但是如果你知道在三维软件中可以很方便的输出Object Buffer通道的话，问题就可以迎刃而解。 Object Buffer通道的作用原理是通过颜色来制作不同的选区，从而可以隔离出独立的物体来进行进一步的调整。应用相同的原理，我设计了一个程序来取得鼠标位置下对应的颜色，再通过颜色值来得到对应的车型。 除了上面介绍的几个例子之外，还可以看看我在Papervision 3D + 3D/Post Software Workflow一文中介绍的使用3D软件辅助进行Flash 3D开发的一些思路和做法。 接下来我们再来看看后期领域的技术跨界又能给我们带来什么样的惊喜： Make a thank you movie Video Fan 这两个网站最大的亮点就是实时贴图的效果。看着自己上传的照片完美的融合在影片当中，很多人都感觉相当的惊奇。但如果是熟悉后期的人一看就知道这不过是简单的跟踪技术。AE就能很好的完成这个任务，或者也可以用更专业一点的跟踪软件Mocha。对跟踪技术不了解的同学可以看看AETuts上提供的一些教程，加强一下认识。你不需要会自己操作，我们要的只是软件导出来的数据。 接下来我们需要开发程序来处理跟踪软件导出的信息。比如上面两个网站，只是用到了最简单平面跟踪。导出的数据就是每帧四个顶点的位置信息，我们只要用4点变形的工具来处理就可以了。这里有一个开源的类：DistortImage 能实现这个功能。 经过以上处理，透视匹配的问题就解决了。为了达到更加真实的效果，还需要对贴图和视频素材进行颜色和景深的匹配。同样的我们在先后期软件里面做调整，把颜色调整（色相，饱和，明暗）的参数记录下来。然后在程序中用ColorMatrixFilter滤镜配合ColorMatrix来还原。用相同的方法还可以对景深做匹配，配合Blur滤镜就可以了。 最后把贴图的混合模式设置为Screen，这样一来有一些表面的高光或者反射就能透出来，效果更加真实。对每帧图像和数据进行相同的处理，动态贴图效果就完成了。 另一个后期应用的例子是Uniqlo Collection 2009。 这个网站的后期跟踪更加复杂些，把每个模特的轮廓都跟踪出来了。到程序里面，再用矢量绘图的方法把跟踪点连接起来成为最终的遮罩。从技术上讲又更进了一步。 最后再来看看一个3D跟踪的例子：http://www.2gh.de/ 相较前面几个例子只是2D跟踪而言，这个网站显然更胜一筹。运用3D跟踪技术可以反求出相机的运动路径，然后把这个数据运用到Flash 3D引擎中实现实拍与Flash合成的效果。 通过以上几个实例的介绍，我希望大家都能够感受到技术的跨界与整合带来的新的无限可能性。通过对技术工具的熟练掌握，做出更加出色的创意作品来。 Subscribe to the comments for this [...]]]></description> <content:encoded><![CDATA[<p>做Flash设计和开发的，要不要学习后期、3D？要我说，很有必要，特别是做表现形式创意的，更是非学不可。因为现在Flash、视频、开发方面自身的潜力已经挖掘的差不多了，这就要靠跨界、整合才能更有新意。我们来看几个例子。</p><p><a
href="http://kevincao.com/2007/07/rhythm-of-lines/" target="_blank"><img
title="rhythmoflines" src="http://kevincao.com/wp-content/uploads/2007/07/snag-0140-tn1.jpg" alt="rhythmoflines" width="690" height="368" /></a></p><p>这个Rhythm of Lines是2007年的网站。流畅的线条给人留下了很深的印象。而其中的亮点：线条组成车的轮廓，是怎么做到的呢。答案是先在Maya中把线框的模型建出来，然后用程序导出数据到XML，最后用Papervision3D生成动画。</p><p><a
href="http://www.neue-digitale.de/projects/audi_vorsprung_durch_technik/" target="_blank"><img
style="display: inline; border-width: 0px;" title="audi" src="http://kevincao.com/wp-content/uploads/2010/05/20100507_00413.png" border="0" alt="audi" width="500" height="328" /><br
/> Audi – Virsprung durch Tech</a></p><p>而接下来的这个网站，更是把这种方法发扬光大。聪明的你应该已经猜到了，没错，组成车的那些点也是从三维软件里面导出来的。</p><p><span
id="more-1341"></span></p><p>除了数据交换的应用以外，随着技术的进步，很多在次世代游戏开发中用到的三维技术和技巧，也可以运用到Flash中来。比如在Flash 3D开发中，为了保证运行的效率，我们应该尽可能的减少多边形的数量，把细节放到贴图中去表现。对此我们应该要了解三维中可以烘培哪些贴图以供程序使用。</p><p><a
href="http://www.infiniteturtles.co.uk/projects/away3d/demos/NormalmappedMustang/Advanced_NormalmappedMustang.html"><img
title="normalmappedmustang" src="http://www.infiniteturtles.co.uk/blog/wp-content/uploads/2009/03/normalmappedmustang.jpg" alt="" width="660" height="461" /></a></p><p>上图是<a
href="http://away3d.com/" target="_blank">Away3D</a>的一个例子，你需要了解三维中各种各样的贴图分别是什么意思；法线贴图比凹凸贴图有什么优势；HDRI要如何应用等等。只有这样你才能更好的和3D制作人员沟通。</p><p>在<a
href="http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/">Mercedes-Benz Autoshow 2010 Web Special</a>项目中，有一个令人头疼的功能是在每一个镜头中的车都是可以被点击的。在传统思路中，这意味着大量的画遮罩的工作。100多个镜头都这么处理的话是个非常巨大的工作量，但是如果你知道在三维软件中可以很方便的输出Object Buffer通道的话，问题就可以迎刃而解。</p><p><img
style="display: inline; border-width: 0px;" title="beauty" src="http://kevincao.com/wp-content/uploads/2010/05/MA01__00003.jpg" border="0" alt="beauty" width="500" height="235" /></p><p><img
style="display: inline; border-width: 0px;" title="buffer" src="http://kevincao.com/wp-content/uploads/2010/05/MA_01__00003.jpg" border="0" alt="buffer" width="500" height="235" /></p><p>Object Buffer通道的作用原理是通过颜色来制作不同的选区，从而可以隔离出独立的物体来进行进一步的调整。应用相同的原理，我设计了一个程序来取得鼠标位置下对应的颜色，再通过颜色值来得到对应的车型。</p><p>除了上面介绍的几个例子之外，还可以看看我在<a
href="http://kevincao.com/2009/11/pv3d-3d-post-software-workflow/" target="_blank">Papervision 3D + 3D/Post Software Workflow</a>一文中介绍的使用3D软件辅助进行Flash 3D开发的一些思路和做法。</p><p>接下来我们再来看看后期领域的技术跨界又能给我们带来什么样的惊喜：</p><p><a
href="http://en.tackfilm.se/" target="_blank"><img
style="display: inline; border: 0pt none;" title="Make a thank you movie" src="http://kevincao.com/wp-content/uploads/2010/05/20100507_00412.png" border="0" alt="Make a thank you movie" width="500" height="287" /><br
/> Make a thank you movie</a></p><p><a
href="http://www.myspace.com/fanvideo" target="_blank"><img
style="display: inline; border: 0pt none;" title="Video Fan" src="http://kevincao.com/wp-content/uploads/2010/05/20100507_00411.png" border="0" alt="Video Fan" width="500" height="291" /><br
/> Video Fan</a></p><p>这两个网站最大的亮点就是实时贴图的效果。看着自己上传的照片完美的融合在影片当中，很多人都感觉相当的惊奇。但如果是熟悉后期的人一看就知道这不过是简单的跟踪技术。AE就能很好的完成这个任务，或者也可以用更专业一点的跟踪软件<a
href="http://www.imagineersystems.com/products/mocha_for_After_Effects/">Mocha</a>。对跟踪技术不了解的同学可以看看<a
href="http://ae.tutsplus.com/articles/roundup/28-magnificent-mocha-tutorials/">AETuts</a>上提供的一些教程，加强一下认识。你不需要会自己操作，我们要的只是软件导出来的数据。</p><p>接下来我们需要开发程序来处理跟踪软件导出的信息。比如上面两个网站，只是用到了最简单平面跟踪。导出的数据就是每帧四个顶点的位置信息，我们只要用4点变形的工具来处理就可以了。这里有一个开源的类：<a
href="http://www.rubenswieringa.com/blog/distortimage" target="_blank">DistortImage</a> 能实现这个功能。</p><p>经过以上处理，透视匹配的问题就解决了。为了达到更加真实的效果，还需要对贴图和视频素材进行颜色和景深的匹配。同样的我们在先后期软件里面做调整，把颜色调整（色相，饱和，明暗）的参数记录下来。然后在程序中用ColorMatrixFilter滤镜配合<a
href="http://code.google.com/p/quasimondolibs/source/browse/trunk/quasimondolibs/com/quasimondo/geom/ColorMatrix.as" target="_blank">ColorMatrix</a>来还原。用相同的方法还可以对景深做匹配，配合Blur滤镜就可以了。</p><p>最后把贴图的混合模式设置为Screen，这样一来有一些表面的高光或者反射就能透出来，效果更加真实。对每帧图像和数据进行相同的处理，动态贴图效果就完成了。</p><p>另一个后期应用的例子是<a
href="http://kevincao.com/2009/09/uniqlo-collection-2009/" target="_blank">Uniqlo Collection 2009</a>。</p><p><img
src="http://kevincao.com/wp-content/uploads/2009/09/2009-09-14_00443-500x323.jpg" alt="uniqlo2009" /><br
/> 这个网站的后期跟踪更加复杂些，把每个模特的轮廓都跟踪出来了。到程序里面，再用矢量绘图的方法把跟踪点连接起来成为最终的遮罩。从技术上讲又更进了一步。</p><p>最后再来看看一个3D跟踪的例子：<a
title="http://www.2gh.de/" href="http://www.2gh.de/">http://www.2gh.de/</a></p><p><a
href="http://www.2gh.de/" target="_blank"><img
style="display: inline; border: 0px;" title="2010-05-11_00672" src="http://kevincao.com/wp-content/uploads/2010/05/20100511_00672.jpg" border="0" alt="2010-05-11_00672" width="500" height="353" /></a></p><p>相较前面几个例子只是2D跟踪而言，这个网站显然更胜一筹。运用3D跟踪技术可以反求出相机的运动路径，然后把这个数据运用到Flash 3D引擎中实现实拍与Flash合成的效果。</p><p>通过以上几个实例的介绍，我希望大家都能够感受到技术的跨界与整合带来的新的无限可能性。通过对技术工具的熟练掌握，做出更加出色的创意作品来。</p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/05/creative-technology-cross-over/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/05/creative-technology-cross-over/&amp;title=Creative+Technology+Cross+Over" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/05/creative-technology-cross-over/&amp;t=Creative+Technology+Cross+Over" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/05/creative-technology-cross-over/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Creative+Technology+Cross+Over+-+http://b2l.me/9uc64&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Creative%20Technology%20Cross%20Over%22&amp;body=Link: http://kevincao.com/2010/05/creative-technology-cross-over/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %E5%81%9AFlash%E8%AE%BE%E8%AE%A1%E5%92%8C%E5%BC%80%E5%8F%91%E7%9A%84%EF%BC%8C%E8%A6%81%E4%B8%8D%E8%A6%81%E5%AD%A6%E4%B9%A0%E5%90%8E%E6%9C%9F%E3%80%813D%EF%BC%9F%E8%A6%81%E6%88%91%E8%AF%B4%EF%BC%8C%E5%BE%88%E6%9C%89%E5%BF%85%E8%A6%81%EF%BC%8C%E7%89%B9%E5%88%AB%E6%98%AF%E5%81%9A%E8%A1%A8%E7%8E%B0%E5%BD%A2%E5%BC%8F%E5%88%9B%E6%84%8F%E7%9A%84%EF%BC%8C%E6%9B%B4%E6%98%AF%E9%9D%9E%E5%AD%A6%E4%B8%8D%E5%8F%AF%E3%80%82%E5%9B%A0%E4%B8%BA%E7%8E%B0%E5%9C%A8Flash%E3%80%81%E8%A7%86%E9%A2%91%E3%80%81%E5%BC%80%E5%8F%91%E6%96%B9%E9%9D%A2%E8%87%AA%E8%BA%AB%E7%9A%84%E6%BD%9C%E5%8A%9B%E5%B7%B2%E7%BB%8F%E6%8C%96%E6%8E%98%E7%9A%84%E5%B7%AE%E4%B8%8D%E5%A4%9A%E4%BA%86%EF%BC%8C%E8%BF%99%E5%B0%B1%E8%A6%81%E9%9D%A0%E8%B7%A8%E7%95%8C%E3%80%81%E6%95%B4%E5%90%88%E6%89%8D%E8%83%BD%E6%9B%B4%E6%9C%89%E6%96%B0%E6%84%8F%E3%80%82%E6%88%91%E4%BB%AC%E6%9D%A5%E7%9C%8B%E5%87%A0%E4%B8%AA%E4%BE%8B%E5%AD%90" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/after-effects/" title="After Effects" rel="tag">After Effects</a>, <a
href="http://kevincao.com/tag/away3d/" title="Away3D" rel="tag">Away3D</a>, <a
href="http://kevincao.com/tag/cg/" title="CG" rel="tag">CG</a>, <a
href="http://kevincao.com/tag/interactive/" title="interactive" rel="tag">interactive</a>, <a
href="http://kevincao.com/tag/papervision3d/" title="papervision3d" rel="tag">papervision3d</a>, <a
href="http://kevincao.com/tag/post-production/" title="post production" rel="tag">post production</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2010/05/two-ar-projects/" title="Two AR Projects (2010/05/08)">Two AR Projects</a> (6)</li><li><a
href="http://kevincao.com/2008/02/suite-23-jumpman-won-a-new-fwa/" title="Suite 23 &#8211; Jumpman won a new FWA (2008/02/23)">Suite 23 &#8211; Jumpman won a new FWA</a> (0)</li><li><a
href="http://kevincao.com/2009/03/softse/" title="soft.se (2009/03/11)">soft.se</a> (0)</li><li><a
href="http://kevincao.com/2007/03/showreel-2007/" title="Showreel 2007 (2007/03/16)">Showreel 2007</a> (10)</li><li><a
href="http://kevincao.com/2008/02/red-bull-flugtag-flight-lab/" title="Red Bull Flugtag Flight Lab (2008/02/22)">Red Bull Flugtag Flight Lab</a> (1)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/mPRQgZn5W0z9R_KV2WXPb5vmgpU/0/da"><img src="http://feedads.g.doubleclick.net/~a/mPRQgZn5W0z9R_KV2WXPb5vmgpU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/mPRQgZn5W0z9R_KV2WXPb5vmgpU/1/da"><img src="http://feedads.g.doubleclick.net/~a/mPRQgZn5W0z9R_KV2WXPb5vmgpU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=HpdSdeMWXrQ:Tu7lfzmqa1w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=HpdSdeMWXrQ:Tu7lfzmqa1w:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=HpdSdeMWXrQ:Tu7lfzmqa1w:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/05/creative-technology-cross-over/feed/</wfw:commentRss> <slash:comments>6</slash:comments> <feedburner:origLink>http://kevincao.com/2010/05/creative-technology-cross-over/</feedburner:origLink></item> <item><title>Birthday</title><link>http://feedproxy.google.com/~r/kevincao/~3/fP-7FkQd1z8/</link> <comments>http://kevincao.com/2010/05/birthday/#comments</comments> <pubDate>Sat, 08 May 2010 10:46:59 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Design]]></category> <category><![CDATA[Develop]]></category> <category><![CDATA[Thought]]></category> <category><![CDATA[CG]]></category> <category><![CDATA[Flash]]></category> <category><![CDATA[interactive]]></category> <category><![CDATA[project]]></category> <category><![CDATA[review]]></category><guid isPermaLink="false">http://kevincao.com/2010/05/birthday/</guid> <description><![CDATA[不知不觉这个博客正好过了五岁生日，而接触Flash也快有十个年头了，恍惚间犹记得初见Flash酷炫的动画时的那种惊艳。当初的朋友们不知有多少已经慢慢淡出了这行，而我仍不知疲倦的疯狂迷恋着这互动的美学与技术。 十年间我的身份转变了数次。学生时代通过自学积累下来PS、HTML、Flash的基本功，还有点JS和ASP的实习经验。临毕业那会怀着对当时还是Macromedia公司提出的RIA概念的无限向往，和对AS2、.NET、设计模式的若干浅薄认知，花了一个多月时间，设计开发了一个叫做FStore的Flash商店作为我的毕业设计。找工作的时候经历了一次做设计还是做开发的短暂纠结，后于2004年7月背起背包独自闯荡上海，开始做互动的生涯。 我最庆幸的是在学生时期就找到了自己的兴趣方向，而且养成了主动学习的习惯。那时候的精力是最旺盛的，而且数字设计的领域也不像今天那么宽泛，总以为通过自己的努力，能够掌握最全面的能力。于是我不停的买书，把看技术书弄的像看小说那么沉迷；逛各大设计论坛寻找各种资料，像海绵一样疯狂的吸收着知识。除此之外，参加相关社团，尽量寻找一些实践的机会对提高自身的能力也很有帮助。 正式入行后从设计助理做起：Banner、Key Visual、Flash Intro、Minisite整站一步一步做上来。那时公司正经历了一次大失血，我一到公司就得作为主力顶上一线。这可以算是一种不幸，也可以算是一种运气。不幸的是没有前辈可以学习借鉴，一切只能靠自己。运气是可以有机会快速上位，只要能够表现出足够的实力。在拥有成熟的人员架构的公司里，这是可遇不可求的好机会。于是在这段时间里，我很努力的加班，很苦，但是成长很快。两年下来我的Flash技能就磨练的相当纯熟了。不管是汽车类需要的大气蓬勃、运动类的活力动感、还是化妆品类的婉约唯美，抑或是消费电子的高科技感觉。我都在不断的实践中把握到了制作商业动画的精髓——只能意会的Motion感觉。这点对我后来的转型很有帮助。 每个互动新鲜人都是从低端做起的，好的机遇固然很重要。但是要知道：机会只留给有准备的人。学生时代的积累为我的快速成长奠定好了基石，但真正强大的推力在于自身不断进取的态度。就拿很小的banner来说，如果只懂得去抱怨诸多的限制和重复劳动的无趣，那就无法得到成长。我就把这种工作当作提高工作技巧的磨刀石，并要求自己每次制作都去挖掘以前没有尝试过的做法：比如改善切图流程，开发批处理命令等等。 2006年，代表业界顶尖水平的2advanced v4版本（上图）上线后吸引了众多的目光，一时间论坛里到处都是人在问那个水面是咋做的——都被视频给震撼了。在接下来的一段时间，Flash动画慢慢的就不那么流行了：视频的表现力实在太抢眼了，以至于Flash的那些效果显得非常单薄。2advaced流也渐渐失去了优势，各家新生的工作室表现出了百家争鸣的强劲势头。 于是我又顺应潮流的开始研究后期、学剪辑、玩插件、玩特效。还记得那次我钻研数日，终于也能做出那一片波光粼粼的水面效果时的那种幸福感。然而视频特效比起Flash毕竟更有难度，我也摸索了很长的一段时间。没有人能交流，只能靠自己！通过收集大量的短片来学习老外的制作手法，一边实践一边总结。 但是虽然国外的趋势如此，国内还是照样处于滞后状态的。所以那期间的工作是没什么机会做很完整的片子。为了磨练视频技能，我在我经手的项目上尽量都做了一些视频特效。主要是做一些光线、粒子等效果，用于配合Intro动画，又或者是用来丰富网站的细节等等。只有通过实战，才能最快速的掌握技能。两年期间，我又把AE、PR啃下来了。2007年的那条Showreel就是对这段时期工作的一个总结。 流行趋势永不会停止，2006年以后新锐网站上出现的已经不是一些简单的视觉特效了。取而代之的是更加复杂的三维动画，甚至已经出现实拍结合特效的大作。比如2007的FWA年度网站Get the Milk。 线上网站的制作整合CG/传统广告的制作已经渐渐成为欧美优秀作品的主旋律。国外的互动工作室或吸纳视频领域的优秀人才，或与原先这一领域的其他公司进行合作。甚至有些国外的具有前瞻性的传统制作公司反过来成立互动部门来应对日益增长的制作需求。 我越来越有鞭长莫及之叹：一个人是没办法掌握所有知识的，传统拍摄、仿真三维、电影级别的VFX等等领域已经远远超出了我的知识范围。是时候转变为与更多的外部团队进行项目合作了。随着业务的转变，公司越来越多的项目需要CG，于是便指派我转做Motion导演。项目执行的部分大都外发给动画公司，我主要来负责沟通与督导的工作。 于是在这段时期里，我就疯狂恶补一些三维软件（主要是Maya）的知识。此外还慢慢建立起了另外一套知识体系：CG、摄影、Motion Graphics、VFX……，这些东西对理科生的我而言都是陌生的事物。为了提升自己的眼界，我收集了各大特效公司、图形工作室的作品来充实我的视频库。这个习惯一直保留到了今天。目前在我的库里收集的视频已经超过7000多条，并且都有很好的分类和整理。一点也不比一般的视频制作公司的资料库来得差。在公司里要找参考片来找我总是最快的选择:) 做Flash时期积累的动画经验很快发挥了作用，在学习完一些三维领域的基本知识以后，我没有花很大力气就掌握了把控CG动画节奏的能力。在CG制作流程的学习上，由于没有环境，我主要靠的是国外专业动画公司的一些幕后制作（Making-of）的资料（下图） 这点可以说是快速提高技术与流程的运用能力的方法，当然靠自己的融会贯通也很重要。要做到一点即明的境界，需要有很深的积累。这是作为CG导演的基本能力之一。另一方面，要是遇到难以沟通的效果或者镜头，也需要靠自己动手制作。也就是说：优秀的CG导演，除了要有很好的专业视界和知识以外，也要有很强的专业能力。国外很多CG/Motion导演，本身就是制作的高手。只有更全面的掌握这个行业里所需的技能，才能很好的与合作伙伴们对接，帮助大家在执行项目的过程中沟通更加顺畅。再通过与供应商的几次合作实践下来，我也终于能够对整套CG制作的流程驾轻就熟。 虽然这段时期我淡出了互动项目的制作，但我心里明白：在CG这个专业领域，国外起步比我们早得多，有太多太多软的硬的积累和沉淀。技术上的落后在短时期内还难以逾越。而我本身最喜欢的还是能够不断创新的表现形式。视频特效也好，CG也好，对我而言只不过是数字设计领域里的浓妆艳抹的一笔修饰。不管刚刚出现在网络上的时候多么的新鲜亮丽，随着时代进步，也要渐渐沦为普通的一部分。 2007年后，互动网站设计趋势一方面朝着CG大制作的方向发展；另一方面，Flash 3D技术也在迅速的崛起。2008年的动物园网站则彻底引爆了行业内对Flash 3D的激情。人们开始诟病大量的所谓CG视频大作网站只是徒有一身华丽的外衣，却违背了互动网站的精髓。国外的优秀工作室纷纷开始挖掘Flash 3D的潜力，大量的3D网站开始井喷。 久违了的互动感觉在向我召唤，我为此感到血液沸腾。在主要工作重心仍在CG领域的同时，我也对这一技术投入了相当大的精力。 就像当初刚刚开始流行视频效果一样，我们还是没有太多机会来做大型的应用。一开始只能先尝试做一些Key Visual或者小的效果来丰富网站细节： 另一方面，我也自发做一些实验性的项目来磨练技能： 2009年以后，国内的网站才开始陆续流行做3D效果。我也在那时和朋友合作了第一个全Flash 3D的网站：Ford购车魔方（已下线）。同时在我的带动下，几个ES的项目也都用上了PV3D开发的效果：B-Class，E-Class……。从此我的工作重心开始慢慢回到互动设计/开发。 Flash 3D的这股热潮已经一直延续到了今天，只是在技术上已经有了很大的提升，而且越来越多的与CG领域的技术相整合，呈现出了更丰富的表现形式。很庆幸自己有过几年做CG的经验，在这一波的技术革新中还没有什么能难倒我的。关于这方面的一些心得放到下一篇文章中再分享。 随着Flash播放器性能的升级，很多原本在传统编程领域的优秀类库都被移植过来。2008的年底出现的Flash Augmented Reality（AR）在Flash 3D领域之外又开启了新一轮的技术创新高潮。 AR的表现力是那么的独特新颖，以至于敢于尝鲜乐于尝鲜的数字广告行业第一时间把它运用到了商业领域：GE-Smart Grid。 我同样也开始进行这一方面的研究，并在2009年5月份把它用在我自己的终身大事项目上。这也算是集我所有能力于一身的大成之作。一段时间内，同事向别人介绍AR概念的时候都拿我的求婚举例。 随后Pixel Bender、Alchemy等技术逐渐成熟，更进一步提升了Flash的能力。既CG领域之后，传统编程领域的知识也开始整合进数字设计的范畴，从而向我们敞开了无数新的可能性。 2010年以后，移动互联网平台的飞速发展吸引了众人的眼球。Flash技术的领地正不断被HTML5为代表的新技术所侵蚀。我在那些正在发生的事一文中谈到了这种变革。我们的数字设计、互动概念都在经历着不可逆转的蜕变。但是这就是这个行业的魅力，永恒不变的只有改变。要站在行业的尖端，只有保持不断的自我更新。 回到职业规划上来说，以上我回顾了designer、director、developer三个阶段的工作经历。而现在，我的职业方向则比较符合Creative Technologist的定义：用技术做创意的人。在数字时代，有些东西文案和美指永远无法理解，这部分的缺失需要有人来补足。所以数字广告公司不仅需要技术人才，而且要用好技术人才，让他们也能够自由的发挥创意。比如AKQA获Cannes全场大奖的Fiat Eco Drive就是由技术人员从数据中得到的灵感。这足以说明技术人员也可以做出令人赞叹的优秀创意。在职业的金字塔上，这三种人才都有均等的机会能够晋升创意总监的职位。这应该成为数字广告的发展方向。 而反过来说，技术背景的人才也需要认识到：做创意，是对广告行业从业者的基本要求。技术之于我们，等同于文案的笔杆子，美术的画笔，不过只是工具而已。不要痴迷于工具，而是要用工具来创造价值。 很多从技术领域转过来的人不理解创意，甚至害怕做创意。我也是如此。出于对传统广告行业的陌生和自己理工科的背景，我曾经一直对创意怀有比较敬畏的态度。直到慢慢的发现生活就是创意的道理。特别是数字时代的创意界限更加模糊，仿佛随时隐藏在我们的数字生活之中，等待灵感的捕捉一样。比如我在做《Smart怎么玩抢车位》这个创意的时候，就没有觉得难产，而是感觉手到擒来一般的轻松自然。 希望本文对有志于互动广告/设计行业的新人/旧人有一定的帮助。特别是想成为Creative Technologist的朋友，要记得：全面的专业知识；专注的学习能力；还要有分享的精神和推翻一切重来的勇气。因为我们天生就是革命者。 Subscribe to the comments [...]]]></description> <content:encoded><![CDATA[<p>不知不觉这个博客正好过了五岁生日，而接触Flash也快有十个年头了，恍惚间犹记得初见Flash酷炫的动画时的那种惊艳。当初的朋友们不知有多少已经慢慢淡出了这行，而我仍不知疲倦的疯狂迷恋着这互动的美学与技术。</p><p><img
style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="FStore" border="0" alt="FStore" align="left" src="http://kevincao.com/wp-content/uploads/2010/05/20100508_00416.png" width="240" height="180" /></p><p>十年间我的身份转变了数次。学生时代通过自学积累下来PS、HTML、Flash的基本功，还有点JS和ASP的实习经验。临毕业那会怀着对当时还是Macromedia公司提出的RIA概念的无限向往，和对AS2、.NET、设计模式的若干浅薄认知，花了一个多月时间，设计开发了一个叫做<a
href="http://kevincao.com/project/FStore/flashindex.htm" target="_blank">FStore</a>的Flash商店作为我的毕业设计。找工作的时候经历了一次做设计还是做开发的短暂纠结，后于2004年7月背起背包独自闯荡上海，开始做互动的生涯。</p><p>我最庆幸的是在学生时期就找到了自己的兴趣方向，而且养成了主动学习的习惯。那时候的精力是最旺盛的，而且数字设计的领域也不像今天那么宽泛，总以为通过自己的努力，能够掌握最全面的能力。于是我不停的买书，把看技术书弄的像看小说那么沉迷；逛各大设计论坛寻找各种资料，像海绵一样疯狂的吸收着知识。除此之外，参加相关社团，尽量寻找一些实践的机会对提高自身的能力也很有帮助。</p><p>正式入行后从设计助理做起：Banner、Key Visual、Flash Intro、Minisite整站一步一步做上来。那时公司正经历了一次大失血，我一到公司就得作为主力顶上一线。这可以算是一种不幸，也可以算是一种运气。不幸的是没有前辈可以学习借鉴，一切只能靠自己。运气是可以有机会快速上位，只要能够表现出足够的实力。在拥有成熟的人员架构的公司里，这是可遇不可求的好机会。于是在这段时间里，我很努力的加班，很苦，但是成长很快。两年下来我的Flash技能就磨练的相当纯熟了。不管是汽车类需要的大气蓬勃、运动类的活力动感、还是化妆品类的婉约唯美，抑或是消费电子的高科技感觉。我都在不断的实践中把握到了制作商业动画的精髓——只能意会的Motion感觉。这点对我后来的转型很有帮助。</p><p> <span
id="more-1335"></span></p><p>每个互动新鲜人都是从低端做起的，好的机遇固然很重要。但是要知道：机会只留给有准备的人。学生时代的积累为我的快速成长奠定好了基石，但真正强大的推力在于自身不断进取的态度。就拿很小的banner来说，如果只懂得去抱怨诸多的限制和重复劳动的无趣，那就无法得到成长。我就把这种工作当作提高工作技巧的磨刀石，并要求自己每次制作都去挖掘以前没有尝试过的做法：比如改善切图流程，开发批处理命令等等。</p><p><img
style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2ad" border="0" alt="2ad" src="http://kevincao.com/wp-content/uploads/2010/05/20100507_00414.jpg" width="500" height="136" /></p><p>2006年，代表业界顶尖水平的2advanced <a
href="http://v4.2a-archive.com/flashindex.htm" target="_blank">v4</a>版本（上图）上线后吸引了众多的目光，一时间论坛里到处都是人在问那个水面是咋做的——都被视频给震撼了。在接下来的一段时间，Flash动画慢慢的就不那么流行了：视频的表现力实在太抢眼了，以至于Flash的那些效果显得非常单薄。2advaced流也渐渐失去了优势，各家新生的工作室表现出了百家争鸣的强劲势头。</p><p>于是我又顺应潮流的开始研究后期、学剪辑、玩插件、玩特效。还记得那次我钻研数日，终于也能做出那一片波光粼粼的水面效果时的那种幸福感。然而视频特效比起Flash毕竟更有难度，我也摸索了很长的一段时间。没有人能交流，只能靠自己！通过收集大量的短片来学习老外的制作手法，一边实践一边总结。</p><p><img
style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="lib" border="0" alt="lib" src="http://kevincao.com/wp-content/uploads/2010/05/20100507_00415.png" width="500" height="342" /></p><p>但是虽然国外的趋势如此，国内还是照样处于滞后状态的。所以那期间的工作是没什么机会做很完整的片子。为了磨练视频技能，我在我经手的项目上尽量都做了一些视频特效。主要是做一些光线、粒子等效果，用于配合Intro动画，又或者是用来丰富网站的细节等等。只有通过实战，才能最快速的掌握技能。两年期间，我又把AE、PR啃下来了。2007年的那条<a
href="http://kevincao.com/showreel/" target="_blank">Showreel</a>就是对这段时期工作的一个总结。</p><p>流行趋势永不会停止，2006年以后新锐网站上出现的已经不是一些简单的视觉特效了。取而代之的是更加复杂的三维动画，甚至已经出现实拍结合特效的大作。比如2007的FWA年度网站<a
href="http://kevincao.com/2007/04/get-the-glass/" target="_blank">Get the Milk</a>。</p><p><a
href="http://kevincao.com/2007/04/get-the-glass/" target="_blank"><img
style="margin: 0px 10px 0px 0px; display: inline" align="left" src="http://kevincao.com/wp-content/uploads/2007/04/windowslivewritergettheglass-975dsnag-0099.png" width="240" height="168" /></a></p><p>线上网站的制作整合CG/传统广告的制作已经渐渐成为欧美优秀作品的主旋律。国外的互动工作室或吸纳视频领域的优秀人才，或与原先这一领域的其他公司进行合作。甚至有些国外的具有前瞻性的传统制作公司反过来成立互动部门来应对日益增长的制作需求。</p><p>我越来越有鞭长莫及之叹：一个人是没办法掌握所有知识的，传统拍摄、仿真三维、电影级别的VFX等等领域已经远远超出了我的知识范围。是时候转变为与更多的外部团队进行项目合作了。随着业务的转变，公司越来越多的项目需要CG，于是便指派我转做Motion导演。项目执行的部分大都外发给动画公司，我主要来负责沟通与督导的工作。</p><p>于是在这段时期里，我就疯狂恶补一些三维软件（主要是Maya）的知识。此外还慢慢建立起了另外一套知识体系：CG、摄影、Motion Graphics、VFX……，这些东西对理科生的我而言都是陌生的事物。为了提升自己的眼界，我收集了各大特效公司、图形工作室的作品来充实我的视频库。这个习惯一直保留到了今天。目前在我的库里收集的视频已经超过7000多条，并且都有很好的分类和整理。一点也不比一般的视频制作公司的资料库来得差。在公司里要找参考片来找我总是最快的选择:)</p><p>做Flash时期积累的动画经验很快发挥了作用，在学习完一些三维领域的基本知识以后，我没有花很大力气就掌握了把控CG动画节奏的能力。在CG制作流程的学习上，由于没有环境，我主要靠的是国外专业动画公司的一些幕后制作（Making-of）的资料（下图）</p><p><img
style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="makingof" border="0" alt="makingof" src="http://kevincao.com/wp-content/uploads/2010/05/20100508_00417.png" width="500" height="339" /></p><p>这点可以说是快速提高技术与流程的运用能力的方法，当然靠自己的融会贯通也很重要。要做到一点即明的境界，需要有很深的积累。这是作为CG导演的基本能力之一。另一方面，要是遇到难以沟通的效果或者镜头，也需要靠自己动手制作。也就是说：优秀的CG导演，除了要有很好的专业视界和知识以外，也要有很强的专业能力。国外很多CG/Motion导演，本身就是制作的高手。只有更全面的掌握这个行业里所需的技能，才能很好的与合作伙伴们对接，帮助大家在执行项目的过程中沟通更加顺畅。再通过与供应商的几次合作实践下来，我也终于能够对整套CG制作的<a
href="http://kevincao.com/2008/02/roewe-review-on-cgm/" target="_blank">流程</a>驾轻就熟。</p><p>虽然这段时期我淡出了互动项目的制作，但我心里明白：在CG这个专业领域，国外起步比我们早得多，有太多太多软的硬的积累和沉淀。技术上的落后在短时期内还难以逾越。而我本身最喜欢的还是能够不断创新的表现形式。视频特效也好，CG也好，对我而言只不过是数字设计领域里的浓妆艳抹的一笔修饰。不管刚刚出现在网络上的时候多么的新鲜亮丽，随着时代进步，也要渐渐沦为普通的一部分。</p><p><a
href="http://kevincao.com/2008/06/amazing-eco-zoo-website/" target="_blank"><img
style="margin: 0px 10px 0px 0px; display: inline" alt="2008-6-8-000" align="left" src="http://kevincao.com/wp-content/uploads/2008/06/2008-6-8-000.jpg" width="240" height="130" /></a>2007年后，互动网站设计趋势一方面朝着CG大制作的方向发展；另一方面，Flash 3D技术也在迅速的崛起。2008年的<a
href="http://kevincao.com/2008/06/amazing-eco-zoo-website/" target="_blank">动物园</a>网站则彻底引爆了行业内对Flash 3D的激情。人们开始诟病大量的所谓CG视频大作网站只是徒有一身华丽的外衣，却违背了互动网站的精髓。国外的优秀工作室纷纷开始挖掘Flash 3D的潜力，大量的3D网站开始井喷。</p><p>久违了的互动感觉在向我召唤，我为此感到血液沸腾。在主要工作重心仍在CG领域的同时，我也对这一技术投入了相当大的精力。</p><p>就像当初刚刚开始流行视频效果一样，我们还是没有太多机会来做大型的应用。一开始只能先尝试做一些Key Visual或者小的效果来丰富网站细节：</p><p><a
href="http://kevincao.com/2008/04/two-examples-of-pv3d-menu/" target="_blank"><img
title="coverflow" alt="coverflow" src="http://kevincao.com/wp-content/uploads/2008/04/2008-4-16-000.jpg" width="690" height="167" /></a></p><p>另一方面，我也自发做一些实验性的项目来磨练技能：</p><p><a
href="http://kevincao.com/2008/11/experiment02-earth-fire/" target="_blank"><img
title="earthfire" alt="" src="http://kevincao.com/wp-content/uploads/2008/11/earthfire.jpg" width="684" height="173" /></a></p><p><a
href="http://kevincao.com/2008/11/experiment-03-four-cameras-viewer/" target="_blank"><img
title="Four Cameras Viewer" alt="Four Cameras Viewer" src="http://kevincao.com/wp-content/uploads/2008/11/fcv.jpg" width="684" height="173" /></a></p><p><img
style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2010-05-08_00418" border="0" alt="2010-05-08_00418" align="left" src="http://kevincao.com/wp-content/uploads/2010/05/20100508_00418.jpg" width="240" height="144" />2009年以后，国内的网站才开始陆续流行做3D效果。我也在那时和朋友合作了第一个全Flash 3D的网站：Ford购车魔方（已下线）。同时在我的带动下，几个ES的项目也都用上了<a
href="http://kevincao.com/tag/papervision3d/" target="_blank">PV3D</a>开发的效果：<a
href="http://kevincao.com/2008/11/project-mercedes-benz-b-class-teaser-website/" target="_blank">B-Class</a>，<a
href="http://kevincao.com/2009/05/project-mercedes-benz-e-class-web-special/" target="_blank">E-Class</a>……。从此我的工作重心开始慢慢回到互动设计/开发。</p><p>Flash 3D的这股热潮已经一直延续到了今天，只是在技术上已经有了很大的提升，而且越来越多的与CG领域的技术相整合，呈现出了更丰富的表现形式。很庆幸自己有过几年做CG的经验，在这一波的技术革新中还没有什么能难倒我的。关于这方面的一些心得放到下一篇文章中再分享。</p><p>随着Flash播放器性能的升级，很多原本在传统编程领域的优秀类库都被移植过来。2008的年底出现的<a
href="http://kevincao.com/2008/11/papervision-augmented-reality/" target="_blank">Flash Augmented Reality（AR）</a>在Flash 3D领域之外又开启了新一轮的技术创新高潮。</p><p><a
href="http://kevincao.com/2009/02/ge-smart-grid/" target="_blank"><img
style="border-right-width: 0px; margin: 0px 10px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2009-02-04_231223" border="0" alt="2009-02-04_231223" align="left" src="http://kevincao.com/wp-content/uploads/2010/05/20090204_231223.jpg" width="240" height="132" /></a></p><p>AR的表现力是那么的独特新颖，以至于敢于尝鲜乐于尝鲜的数字广告行业第一时间把它运用到了商业领域：<a
href="http://kevincao.com/2009/02/ge-smart-grid/" target="_blank">GE-Smart Grid</a>。</p><p>我同样也开始进行这一方面的研究，并在2009年5月份把它用在我自己的<a
href="http://kevincao.com/2009/05/making-of-ar-proposal/" target="_blank">终身大事项目</a>上。这也算是集我所有能力于一身的大成之作。一段时间内，同事向别人介绍AR概念的时候都拿我的求婚举例。</p><p>随后Pixel Bender、Alchemy等技术逐渐成熟，更进一步提升了Flash的能力。既CG领域之后，传统编程领域的知识也开始整合进数字设计的范畴，从而向我们敞开了无数新的可能性。</p><p>2010年以后，移动互联网平台的飞速发展吸引了众人的眼球。Flash技术的领地正不断被HTML5为代表的新技术所侵蚀。我在<a
href="http://kevincao.com/2010/02/things-that-are-happening/">那些正在发生的事</a>一文中谈到了这种变革。我们的数字设计、互动概念都在经历着不可逆转的蜕变。但是这就是这个行业的魅力，永恒不变的只有改变。要站在行业的尖端，只有保持不断的自我更新。</p><p>回到职业规划上来说，以上我回顾了designer、director、developer三个阶段的工作经历。而现在，我的职业方向则比较符合<a
href="http://www.chiefmartec.com/2009/02/creative-technologists-in-brand-advertising.html" target="_blank">Creative Technologist</a>的定义：用技术做创意的人。在数字时代，有些东西文案和美指永远无法理解，这部分的缺失需要有人来补足。所以数字广告公司不仅需要技术人才，而且要用好技术人才，让他们也能够自由的发挥创意。比如<a
href="http://www.akqa.com/">AKQA</a>获<a
href="http://www.canneslions.com/">Cannes</a>全场大奖的<a
href="http://awards.akqa.com/awards2009/CannesLions/Fiat_eco_Drive/default.html">Fiat Eco Drive</a>就是由技术人员从数据中得到的灵感。这足以说明技术人员也可以做出令人赞叹的优秀创意。在职业的金字塔上，这三种人才都有均等的机会能够晋升创意总监的职位。这应该成为数字广告的发展方向。</p><p>而反过来说，技术背景的人才也需要认识到：做创意，是对广告行业从业者的基本要求。技术之于我们，等同于文案的笔杆子，美术的画笔，不过只是工具而已。不要痴迷于工具，而是要用工具来创造价值。</p><p>很多从技术领域转过来的人不理解创意，甚至害怕做创意。我也是如此。出于对传统广告行业的陌生和自己理工科的背景，我曾经一直对创意怀有比较敬畏的态度。直到慢慢的发现生活就是创意的道理。特别是数字时代的创意界限更加模糊，仿佛随时隐藏在我们的数字生活之中，等待灵感的捕捉一样。比如我在做《<a
href="http://kevincao.com/2008/12/smartviral/" target="_blank">Smart怎么玩抢车位</a>》这个创意的时候，就没有觉得难产，而是感觉手到擒来一般的轻松自然。</p><p>希望本文对有志于互动广告/设计行业的新人/旧人有一定的帮助。特别是想成为Creative Technologist的朋友，要记得：全面的专业知识；专注的学习能力；还要有分享的精神和推翻一切重来的勇气。因为我们天生就是革命者。</p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/05/birthday/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/05/birthday/&amp;title=Birthday" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/05/birthday/&amp;t=Birthday" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/05/birthday/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Birthday+-+File: /data/app/webapp/functions.php<br />Line: 7<br
/>Message: Too many connections&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Birthday%22&amp;body=Link: http://kevincao.com/2010/05/birthday/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %E4%B8%8D%E7%9F%A5%E4%B8%8D%E8%A7%89%E8%BF%99%E4%B8%AA%E5%8D%9A%E5%AE%A2%E6%AD%A3%E5%A5%BD%E8%BF%87%E4%BA%86%E4%BA%94%E5%B2%81%E7%94%9F%E6%97%A5%EF%BC%8C%E8%80%8C%E6%8E%A5%E8%A7%A6Flash%E4%B9%9F%E5%BF%AB%E6%9C%89%E5%8D%81%E4%B8%AA%E5%B9%B4%E5%A4%B4%E4%BA%86%EF%BC%8C%E6%81%8D%E6%83%9A%E9%97%B4%E7%8A%B9%E8%AE%B0%E5%BE%97%E5%88%9D%E8%A7%81Flash%E9%85%B7%E7%82%AB%E7%9A%84%E5%8A%A8%E7%94%BB%E6%97%B6%E7%9A%84%E9%82%A3%E7%A7%8D%E6%83%8A%E8%89%B3%E3%80%82%E5%BD%93%E5%88%9D%E7%9A%84%E6%9C%8B%E5%8F%8B%E4%BB%AC%E4%B8%8D%E7%9F%A5%E6%9C%89%E5%A4%9A%E5%B0%91%E5%B7%B2%E7%BB%8F%E6%85%A2%E6%85%A2%E6%B7%A1%E5%87%BA%E4%BA%86%E8%BF%99%E8%A1%8C%EF%BC%8C%E8%80%8C%E6%88%91%E4%BB%8D%E4%B8%8D%E7%9F%A5%E7%96%B2%E5%80%A6%E7%9A%84%E7%96%AF%E7%8B%82%E8%BF%B7%E6%81%8B%E7%9D%80%E8%BF%99%E4%BA%92%E5%8A%A8%E7%9A%84%E7%BE%8E%E5%AD%A6%E4%B8%8E%E6%8A%80%E6%9C%AF%E3%80%82%20%20%20%20%E5%8D%81%E5%B9%B4%E9" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/cg/" title="CG" rel="tag">CG</a>, <a
href="http://kevincao.com/tag/flash/" title="Flash" rel="tag">Flash</a>, <a
href="http://kevincao.com/tag/interactive/" title="interactive" rel="tag">interactive</a>, <a
href="http://kevincao.com/tag/project/" title="project" rel="tag">project</a>, <a
href="http://kevincao.com/tag/review/" title="review" rel="tag">review</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2010/05/two-ar-projects/" title="Two AR Projects (2010/05/08)">Two AR Projects</a> (6)</li><li><a
href="http://kevincao.com/2006/03/project-piombo/" title="Project &#8211; Piombo (2006/03/19)">Project &#8211; Piombo</a> (2)</li><li><a
href="http://kevincao.com/2009/05/project-mercedes-benz-suv-family-web-special/" title="Project &#8211; Mercedes-Benz SUV Family Web Special (2009/05/05)">Project &#8211; Mercedes-Benz SUV Family Web Special</a> (0)</li><li><a
href="http://kevincao.com/2009/11/project-mercedes-benz-starelite-experience-website/" title="Project &#8211; Mercedes-Benz StarElite Experience Website (2009/11/13)">Project &#8211; Mercedes-Benz StarElite Experience Website</a> (1)</li><li><a
href="http://kevincao.com/2009/07/project-mercedes-e-class-web-special-2009/" title="Project &#8211; Mercedes-Benz E-Class Web Special 2009 (2009/07/21)">Project &#8211; Mercedes-Benz E-Class Web Special 2009</a> (3)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/LN8bxzrmPPuMTH3gwppUe2-AqQI/0/da"><img src="http://feedads.g.doubleclick.net/~a/LN8bxzrmPPuMTH3gwppUe2-AqQI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/LN8bxzrmPPuMTH3gwppUe2-AqQI/1/da"><img src="http://feedads.g.doubleclick.net/~a/LN8bxzrmPPuMTH3gwppUe2-AqQI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=fP-7FkQd1z8:nBZtEBnuq98:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=fP-7FkQd1z8:nBZtEBnuq98:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=fP-7FkQd1z8:nBZtEBnuq98:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/05/birthday/feed/</wfw:commentRss> <slash:comments>5</slash:comments> <feedburner:origLink>http://kevincao.com/2010/05/birthday/</feedburner:origLink></item> <item><title>Two AR Projects</title><link>http://feedproxy.google.com/~r/kevincao/~3/mELAK7ZIFyM/</link> <comments>http://kevincao.com/2010/05/two-ar-projects/#comments</comments> <pubDate>Sat, 08 May 2010 10:44:52 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Design]]></category> <category><![CDATA[Develop]]></category> <category><![CDATA[Augmented Reality]]></category> <category><![CDATA[FLARToolKit]]></category> <category><![CDATA[Flash]]></category> <category><![CDATA[interactive]]></category> <category><![CDATA[papervision3d]]></category> <category><![CDATA[portfolio]]></category> <category><![CDATA[project]]></category><guid isPermaLink="false">http://kevincao.com/2010/05/two-ar-projects/</guid> <description><![CDATA[前段时间帮优库做的两个AR项目： &#160; Fabia晶锐——爱的新年，爱的祝福 车的模型请朋友做的，我用Cinema 4D搭建了场景。由于客户要求草坪上的字要用三维来表现，所以整体面数有点多了，慢的电脑可能跑不动。 &#160; 露得清Wave动感体验 主要创意是表现在三维人脸上使用产品的前后对比效果。制作上则是制作两张人脸贴图。通过鼠标映射到贴图的UV位置来画遮罩。此外还加上了喷雾的位图效果。 Subscribe to the comments for this post? Share this on del.icio.us Share this on Facebook Post on Google Buzz Tweet This! Email this to a friend? Tags: Augmented Reality, FLARToolKit, Flash, interactive, papervision3d, portfolio, project Related posts Making of AR Proposal (26) Best of Kevin Cao 2009 [...]]]></description> <content:encoded><![CDATA[</p><p>前段时间帮<a
href="http://www.youku.com/" target="_blank">优库</a>做的两个<a
href="http://kevincao.com/tag/augmented-reality/" target="_blank">AR</a>项目：</p><p><a
href="http://minisite.youku.com/fabia/ar/" target="_blank"><img
style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="fabia" border="0" alt="fabia" src="http://kevincao.com/wp-content/uploads/2010/05/fabia.jpg" width="500" height="406" /></a>&#160; <br
/><a
href="http://minisite.youku.com/fabia/ar/" target="_blank">Fabia晶锐——爱的新年，爱的祝福</a></p><p>车的模型请朋友做的，我用Cinema 4D搭建了场景。由于客户要求草坪上的字要用三维来表现，所以整体面数有点多了，慢的电脑可能跑不动。</p><p><a
href="http://event.youku.com/neutrogena/ar.php" target="_blank"><img
style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="neutrogena" border="0" alt="neutrogena" src="http://kevincao.com/wp-content/uploads/2010/05/neutrogena.jpg" width="500" height="340" /></a>&#160; <br
/><a
href="http://event.youku.com/neutrogena/ar.php" target="_blank">露得清Wave动感体验</a></p><p>主要创意是表现在三维人脸上使用产品的前后对比效果。制作上则是制作两张人脸贴图。通过鼠标映射到贴图的UV位置来画遮罩。此外还加上了喷雾的位图效果。</p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/05/two-ar-projects/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/05/two-ar-projects/&amp;title=Two+AR+Projects" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/05/two-ar-projects/&amp;t=Two+AR+Projects" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/05/two-ar-projects/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Two+AR+Projects+-+http://b2l.me/9udf8&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Two%20AR%20Projects%22&amp;body=Link: http://kevincao.com/2010/05/two-ar-projects/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %20%20%E5%89%8D%E6%AE%B5%E6%97%B6%E9%97%B4%E5%B8%AE%E4%BC%98%E5%BA%93%E5%81%9A%E7%9A%84%E4%B8%A4%E4%B8%AAAR%E9%A1%B9%E7%9B%AE%EF%BC%9A%20%20%26%23160%3B%20Fabia%E6%99%B6%E9%94%90%E2%80%94%E2%80%94%E7%88%B1%E7%9A%84%E6%96%B0%E5%B9%B4%EF%BC%8C%E7%88%B1%E7%9A%84%E7%A5%9D%E7%A6%8F%20%20%E8%BD%A6%E7%9A%84%E6%A8%A1%E5%9E%8B%E8%AF%B7%E6%9C%8B%E5%8F%8B%E5%81%9A%E7%9A%84%EF%BC%8C%E6%88%91%E7%94%A8Cinema%204D%E6%90%AD%E5%BB%BA%E4%BA%86%E5%9C%BA%E6%99%AF%E3%80%82%E7%94%B1%E4%BA%8E%E5%AE%A2%E6%88%B7%E8%A6%81%E6%B1%82%E8%8D%89%E5%9D%AA%E4%B8%8A%E7%9A%84%E5%AD%97%E8%A6%81%E7%94%A8%E4%B8%89%E7%BB%B4%E6%9D%A5%E8%A1%A8%E7%8E%B0%EF%BC%8C%E6%89%80%E4%BB%A5%E6%95%B4%E4%BD%93%E9%9D%A2%E6%95%B0%E6%9C%89%E7%82%B9%E5%A4%9A%E4%BA%86%EF%BC%8C%E6%85%A2%E7%9A%84%E7%94%B5%E8%84%91%E5%8F%AF%E8%83%BD%E8%B7%91%E4%B8%8D%E5%8A%A8%E3%80%82%20%20%26%23160%3B%20%E9%9C%B2%E5%BE%97%E6" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/augmented-reality/" title="Augmented Reality" rel="tag">Augmented Reality</a>, <a
href="http://kevincao.com/tag/flartoolkit/" title="FLARToolKit" rel="tag">FLARToolKit</a>, <a
href="http://kevincao.com/tag/flash/" title="Flash" rel="tag">Flash</a>, <a
href="http://kevincao.com/tag/interactive/" title="interactive" rel="tag">interactive</a>, <a
href="http://kevincao.com/tag/papervision3d/" title="papervision3d" rel="tag">papervision3d</a>, <a
href="http://kevincao.com/tag/portfolio/" title="portfolio" rel="tag">portfolio</a>, <a
href="http://kevincao.com/tag/project/" title="project" rel="tag">project</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2009/05/making-of-ar-proposal/" title="Making of AR Proposal (2009/05/06)">Making of AR Proposal</a> (26)</li><li><a
href="http://kevincao.com/2009/12/best-of-kevin-cao-2009/" title="Best of Kevin Cao 2009 (2009/12/31)">Best of Kevin Cao 2009</a> (5)</li><li><a
href="http://kevincao.com/2009/05/ar-proposal/" title="AR Proposal (2009/05/05)">AR Proposal</a> (10)</li><li><a
href="http://kevincao.com/2006/03/project-piombo/" title="Project &#8211; Piombo (2006/03/19)">Project &#8211; Piombo</a> (2)</li><li><a
href="http://kevincao.com/2010/06/project-mercedes-benz-e-class-l/" title="Project &#8211; Mercedes-Benz E-Class L (2010/06/19)">Project &#8211; Mercedes-Benz E-Class L</a> (1)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/fWuksx4zlQQ-SGlEP8O-m0fGAr8/0/da"><img src="http://feedads.g.doubleclick.net/~a/fWuksx4zlQQ-SGlEP8O-m0fGAr8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/fWuksx4zlQQ-SGlEP8O-m0fGAr8/1/da"><img src="http://feedads.g.doubleclick.net/~a/fWuksx4zlQQ-SGlEP8O-m0fGAr8/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=mELAK7ZIFyM:8Jsyu-frDck:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=mELAK7ZIFyM:8Jsyu-frDck:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=mELAK7ZIFyM:8Jsyu-frDck:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/05/two-ar-projects/feed/</wfw:commentRss> <slash:comments>6</slash:comments> <feedburner:origLink>http://kevincao.com/2010/05/two-ar-projects/</feedburner:origLink></item> <item><title>FDT Configurations Best Practice</title><link>http://feedproxy.google.com/~r/kevincao/~3/yeiDDzt_gpw/</link> <comments>http://kevincao.com/2010/05/fdt-configurations-best-practice/#comments</comments> <pubDate>Thu, 06 May 2010 03:45:56 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Develop]]></category> <category><![CDATA[fdt]]></category> <category><![CDATA[tip]]></category> <category><![CDATA[tutorial]]></category><guid isPermaLink="false">http://kevincao.com/2010/05/fdt-configurations-best-practice/</guid> <description><![CDATA[很多FDT的初学者都不知道怎么进行设置才能更顺手，其实网上已经有很多教程了。官方也有一个很详尽的教程列表，值得开发者们都去挖掘一下。作为我的工作流培训的一部分，我也整理了一份FDT的设置教程。如果你还在为此而头疼的话，可以下载下来一步一步照着做。 完成以上设置以后，你也能感受到FDT优秀的代码编写环境的魅力了。接下来你还可以学习使用代码模板、整合SVN或GIT、设置你自己的配色方案等等，进一步打造属于你自己的开发环境。Enjoy Coding! 关于乱码问题： 将as保存为utf-8编码是一个好的做法。使用教程里提供的方法能够解决大部分的乱码问题。但不是最完美的，唯一会出现乱码的情况是编译时的报错（注意，运行时的输出是正常的）。好在FDT的代码检查能够帮我们预防大部分能造成编译错误的问题。 如果你需要编译时不产生乱码，那么删除教程中提到到用于设定编码的两行设置。这样你的FDT默认的编码就是你的系统编码（中文一般为GBK）。问题是这么做在运行时的输出会有乱码。怎么取舍就要你自己来决定吧，如果你有完美的方法，请留言告诉我吧:) Subscribe to the comments for this post? Share this on del.icio.us Share this on Facebook Post on Google Buzz Tweet This! Email this to a friend? Tags: fdt, tip, tutorial Related posts Use .bat to Switch Flash Player (0) PV3D Culling &#038; Clipping (7) Papervision 3D + 3D/Post Software [...]]]></description> <content:encoded><![CDATA[<p>很多FDT的初学者都不知道怎么进行设置才能更顺手，其实网上已经有很多教程了。官方也有一个很详尽的<a
href="http://www.fdt.powerflasher.com/developer-tools/fdt-3/getting-started/tutorials/" target="_blank">教程列表</a>，值得开发者们都去挖掘一下。作为我的<a
href="http://kevincao.com/2010/03/workflow-robotgaiaant/" target="_blank">工作流培训</a>的一部分，我也整理了一份FDT的设置教程。如果你还在为此而头疼的话，可以<a
href="http://kevincao.com/project/workflow/Develop_Using_FDT.pdf" target="_blank">下载</a>下来一步一步照着做。</p><p><a
href="http://kevincao.com/project/workflow/Develop_Using_FDT.pdf" target="_blank"><img
style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="fdt" border="0" alt="fdt" src="http://kevincao.com/wp-content/uploads/2010/05/image5.png" width="500" height="312" /></a></p><p><img
style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="fdt" border="0" alt="fdt" src="http://kevincao.com/wp-content/uploads/2010/05/image6.png" width="500" height="313" /></p><p>完成以上设置以后，你也能感受到FDT优秀的代码编写环境的魅力了。接下来你还可以学习使用代码模板、整合SVN或GIT、设置你自己的配色方案等等，进一步打造属于你自己的开发环境。Enjoy Coding!</p><p>关于乱码问题：</p><p>将as保存为utf-8编码是一个好的做法。使用教程里提供的方法能够解决大部分的乱码问题。但不是最完美的，唯一会出现乱码的情况是编译时的报错（注意，运行时的输出是正常的）。好在FDT的代码检查能够帮我们预防大部分能造成编译错误的问题。</p><p>如果你需要编译时不产生乱码，那么删除教程中提到到用于设定编码的两行设置。这样你的FDT默认的编码就是你的系统编码（中文一般为GBK）。问题是这么做在运行时的输出会有乱码。怎么取舍就要你自己来决定吧，如果你有完美的方法，请留言告诉我吧:)</p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/05/fdt-configurations-best-practice/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/05/fdt-configurations-best-practice/&amp;title=FDT+Configurations+Best+Practice" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/05/fdt-configurations-best-practice/&amp;t=FDT+Configurations+Best+Practice" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/05/fdt-configurations-best-practice/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=FDT+Configurations+Best+Practice+-+http://b2l.me/9udx8&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22FDT%20Configurations%20Best%20Practice%22&amp;body=Link: http://kevincao.com/2010/05/fdt-configurations-best-practice/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %E5%BE%88%E5%A4%9AFDT%E7%9A%84%E5%88%9D%E5%AD%A6%E8%80%85%E9%83%BD%E4%B8%8D%E7%9F%A5%E9%81%93%E6%80%8E%E4%B9%88%E8%BF%9B%E8%A1%8C%E8%AE%BE%E7%BD%AE%E6%89%8D%E8%83%BD%E6%9B%B4%E9%A1%BA%E6%89%8B%EF%BC%8C%E5%85%B6%E5%AE%9E%E7%BD%91%E4%B8%8A%E5%B7%B2%E7%BB%8F%E6%9C%89%E5%BE%88%E5%A4%9A%E6%95%99%E7%A8%8B%E4%BA%86%E3%80%82%E5%AE%98%E6%96%B9%E4%B9%9F%E6%9C%89%E4%B8%80%E4%B8%AA%E5%BE%88%E8%AF%A6%E5%B0%BD%E7%9A%84%E6%95%99%E7%A8%8B%E5%88%97%E8%A1%A8%EF%BC%8C%E5%80%BC%E5%BE%97%E5%BC%80%E5%8F%91%E8%80%85%E4%BB%AC%E9%83%BD%E5%8E%BB%E6%8C%96%E6%8E%98%E4%B8%80%E4%B8%8B%E3%80%82%E4%BD%9C%E4%B8%BA%E6%88%91%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%9F%B9%E8%AE%AD%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%EF%BC%8C%E6%88%91%E4%B9%9F%E6%95%B4%E7%90%86%E4%BA%86%E4%B8%80%E4%BB%BDFDT%E7%9A%84%E8%AE%BE%E7%BD%AE%E6%95%99%E7%A8%8B%E3%80%82%E5%A6%82%E6%9E%9C%E4%BD%A0%E8%BF%98%E5%9C%A8%E4%B8%BA%E6%AD%A4%E8%80%8C" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/fdt/" title="fdt" rel="tag">fdt</a>, <a
href="http://kevincao.com/tag/tip/" title="tip" rel="tag">tip</a>, <a
href="http://kevincao.com/tag/tutorial/" title="tutorial" rel="tag">tutorial</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2010/04/use-bat-to-switch-flash-player/" title="Use .bat to Switch Flash Player (2010/04/28)">Use .bat to Switch Flash Player</a> (0)</li><li><a
href="http://kevincao.com/2010/03/pv3d-culling-clipping/" title="PV3D Culling &#038; Clipping (2010/03/09)">PV3D Culling &#038; Clipping</a> (7)</li><li><a
href="http://kevincao.com/2009/11/pv3d-3d-post-software-workflow/" title="Papervision 3D + 3D/Post Software Workflow (2009/11/16)">Papervision 3D + 3D/Post Software Workflow</a> (2)</li><li><a
href="http://kevincao.com/2009/11/interacting-with-papervision-3d/" title="Interacting with Papervision 3D (2009/11/16)">Interacting with Papervision 3D</a> (0)</li><li><a
href="http://kevincao.com/2010/05/better-debugging-flash-website/" title="Better Debugging Flash Website (2010/05/05)">Better Debugging Flash Website</a> (10)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/rCbfR44mgpe6y2rC2lu79-QVb2o/0/da"><img src="http://feedads.g.doubleclick.net/~a/rCbfR44mgpe6y2rC2lu79-QVb2o/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/rCbfR44mgpe6y2rC2lu79-QVb2o/1/da"><img src="http://feedads.g.doubleclick.net/~a/rCbfR44mgpe6y2rC2lu79-QVb2o/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=yeiDDzt_gpw:uyNWKy7g7rI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=yeiDDzt_gpw:uyNWKy7g7rI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=yeiDDzt_gpw:uyNWKy7g7rI:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/05/fdt-configurations-best-practice/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://kevincao.com/2010/05/fdt-configurations-best-practice/</feedburner:origLink></item> <item><title>Better Debugging Flash Website</title><link>http://feedproxy.google.com/~r/kevincao/~3/VASh0kraGz8/</link> <comments>http://kevincao.com/2010/05/better-debugging-flash-website/#comments</comments> <pubDate>Wed, 05 May 2010 11:25:04 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Develop]]></category> <category><![CDATA[ActionScript]]></category> <category><![CDATA[debug]]></category> <category><![CDATA[firefox]]></category> <category><![CDATA[Flash]]></category> <category><![CDATA[gaia]]></category> <category><![CDATA[tip]]></category> <category><![CDATA[tutorial]]></category> <category><![CDATA[website]]></category><guid isPermaLink="false">http://kevincao.com/2010/05/better-debugging-flash-website/</guid> <description><![CDATA[Flash网站开发中常常遇到loading功能、deeplinking、js与flash交互等问题，而这些问题只有在在真实的网络环境下才能进行有效的测试。还在为上传—测试—再上传—测试的重复劳动而烦恼吗？本文告诉你一个更简单有效的debug解决方案。 1.开发Flash网站就应该用网页（而不是swf文件）来进行测试。只需要在FDT的Run Configrations里面按照下图进行设置，就能在项目编译好之后自动打开浏览器来测试（请设置为Firefox，flash插件为debug版本，后面你就知道为什么了）。 2.如果是用debug模式运行，FDT的控制台应该就能接收到Flash传递出来的各种信息了。这里有使用FDT来debug的详细教程，我就不复述了。但即使不用debug模式，我们也可以得到trace信息的，只要我们祭出这两件两件法宝：Firebug和Flashbug。Firebug是网页开发者必备的插件，功能非常强大。而Flashbug是Firebug的扩展，专门负责输出Flash文件的trace信息。我们来看看这两个插件工作中的截图： 3.除了简单的输出信息以外，我们还有更专业的调试工具De MonsterDebugger。如果你和我们一样使用Gaia Framework来构建网站的话，其实你已经用上这个方便的工具了。只要把代码中的trace()换成GaiaDebug.log()，你就能在De MonsterDebugger的窗口中看到更为详尽的信息。 除此之外，De MonsterDebugger还有个非常棒的资源监视器：帧频、内存占用情况一目了然，你还能看到用户操作对整个程序执行时间造成的影响。我们在开发Mercedes-Benz Autoshow 2010 Web Special的过程中就是通过它来排查内存泄漏的问题。 4.接下来让我们更进一步：是否怀念Flash IDE中提供的模拟下载功能？以前我们测试loading都靠要它。现在用FDT作为主要开发工具，我们有了更好的替代方法。首先需要搭建一个本地的服务器环境。我用的是xampp，很简单易用的一个组合程序包。装好之后你的电脑就有Apache、MySql等服务器环境（如下图）。开启Apache服务后，就可以访问http://localhost或者http://127.0.0.1。 如果一切正常，那么接下来你就可以复制项目文件去xampp安装目录下的htdocs准备测试了。 5.虽然现在你有了一个服务器环境，但是访问本地网站的速度实在太快，所以在正式开始前，你还需要安装一个Firefox插件：Firefox Throttle。这是一个限速插件，通过它你可以任意选择想要模拟的带宽速度： 还要在第二个选项页勾选限制本地连接的速度： 6.到此我们的Flash Website Debug环境就要大功告成了。最后还要记得每次测试以后都要清空缓存。推荐装一个Cache Status扩展，能够进一步简化这个操作。 总结：在真实的网络测试环境下，我们可以去分析Firebug中输出的各项信息，这对批量加载、队列加载等复杂loading逻辑的debug非常有用。此外我们还可以很方便地测试浏览器的前进后退等deeplinking相关功能。当然，测试与js之间的交互传值控制也完全没有问题。 如果你也有调试方面的好方法，欢迎留言探讨。下载文中提到的软件/插件： Firebug Flashbug Firefox Throttle Cache Status De MonsterDebugger xampp Subscribe to the comments for this post? Share this on del.icio.us Share this on Facebook Post on Google Buzz Tweet [...]]]></description> <content:encoded><![CDATA[<p>Flash网站开发中常常遇到loading功能、deeplinking、js与flash交互等问题，而这些问题只有在在真实的网络环境下才能进行有效的测试。还在为上传—测试—再上传—测试的重复劳动而烦恼吗？本文告诉你一个更简单有效的debug解决方案。</p><p>1.开发Flash网站就应该用网页（而不是swf文件）来进行测试。只需要在FDT的Run Configrations里面按照下图进行设置，就能在项目编译好之后自动打开浏览器来测试（请设置为Firefox，flash插件为debug版本，后面你就知道为什么了）。 <img
style="display: inline; border: 0px;" title="image" src="http://kevincao.com/wp-content/uploads/2010/05/image.png" border="0" alt="image" width="500" height="214" /></p><p>2.如果是用debug模式运行，FDT的控制台应该就能接收到Flash传递出来的各种信息了。<a
href="http://www.sebastian-weyrauch.de/tutorials/fdt_debugging_tutorial/" target="_blank">这里</a>有使用FDT来debug的详细教程，我就不复述了。但即使不用debug模式，我们也可以得到trace信息的，只要我们祭出这两件两件法宝：<a
href="https://addons.mozilla.org/en-US/firefox/addon/1843" target="_blank">Firebug</a>和<a
href="https://addons.mozilla.org/en-US/firefox/addon/14465" target="_blank">Flashbug</a>。Firebug是网页开发者必备的插件，功能非常强大。而Flashbug是Firebug的扩展，专门负责输出Flash文件的trace信息。我们来看看这两个插件工作中的截图：</p><p><img
style="display: inline; border: 0px;" title="firebug" src="http://kevincao.com/wp-content/uploads/2010/05/firebug_thumb.jpg" border="0" alt="firebug" width="500" height="420" /> <img
style="display: inline; border: 0px;" title="flashbug" src="http://kevincao.com/wp-content/uploads/2010/05/flashbug.jpg" border="0" alt="flashbug" width="500" height="420" /></p><p><span
id="more-1314"></span></p><p>3.除了简单的输出信息以外，我们还有更专业的调试工具<a
href="http://www.monsterdebugger.com/" target="_blank">De MonsterDebugger</a>。如果你和我们一样使用<a
href="http://kevincao.com/2010/03/workflow-robotgaiaant/" target="_blank">Gaia Framework</a>来构建网站的话，其实你已经用上这个方便的工具了。只要把代码中的trace()换成GaiaDebug.log()，你就能在De MonsterDebugger的窗口中看到更为详尽的信息。</p><p><img
style="display: inline; border: 0px;" title="monsterdebug" src="http://kevincao.com/wp-content/uploads/2010/05/monsterdebug_thumb.png" border="0" alt="monsterdebug" width="500" height="363" /></p><p>除此之外，De MonsterDebugger还有个非常棒的资源监视器：帧频、内存占用情况一目了然，你还能看到用户操作对整个程序执行时间造成的影响。我们在开发<a
href="http://show.mercedes-benz.com.cn/2010/china/ShowCar/">Mercedes-Benz Autoshow 2010 Web Special</a>的过程中就是通过它来排查内存泄漏的问题。</p><p>4.接下来让我们更进一步：是否怀念Flash IDE中提供的模拟下载功能？以前我们测试loading都靠要它。现在用FDT作为主要开发工具，我们有了更好的替代方法。首先需要搭建一个本地的服务器环境。我用的是<a
href="http://www.apachefriends.org/zh_cn/xampp.html" target="_blank">xampp</a>，很简单易用的一个组合程序包。装好之后你的电脑就有Apache、MySql等服务器环境（如下图）。开启Apache服务后，就可以访问<a
href="http://localhost">http://localhost</a>或者<a
href="http://127.0.0.1">http://127.0.0.1</a>。</p><p><img
style="display: inline; border: 0px;" title="image" src="http://kevincao.com/wp-content/uploads/2010/05/image1.png" border="0" alt="image" width="450" height="379" /></p><p>如果一切正常，那么接下来你就可以复制项目文件去xampp安装目录下的htdocs准备测试了。</p><p>5.虽然现在你有了一个服务器环境，但是访问本地网站的速度实在太快，所以在正式开始前，你还需要安装一个Firefox插件：<a
href="https://addons.mozilla.org/en-US/firefox/addon/5917" target="_blank">Firefox Throttle</a>。这是一个限速插件，通过它你可以任意选择想要模拟的带宽速度：</p><p><img
style="display: inline; border: 0px;" title="image" src="http://kevincao.com/wp-content/uploads/2010/05/image2.png" border="0" alt="image" width="500" height="379" /></p><p>还要在第二个选项页勾选限制本地连接的速度：</p><p><img
style="display: inline; border: 0px;" title="image" src="http://kevincao.com/wp-content/uploads/2010/05/image3.png" border="0" alt="image" width="500" height="379" /></p><p>6.到此我们的Flash Website Debug环境就要大功告成了。最后还要记得每次测试以后都要<strong>清空缓存</strong>。推荐装一个<a
href="https://addons.mozilla.org/zh-CN/firefox/addon/1881" target="_blank">Cache Status</a>扩展，能够进一步简化这个操作。</p><p><img
style="display: inline; border: 0px;" title="image" src="http://kevincao.com/wp-content/uploads/2010/05/image4.png" border="0" alt="image" width="371" height="120" /></p><p>总结：在真实的网络测试环境下，我们可以去分析Firebug中输出的各项信息，这对批量加载、队列加载等复杂loading逻辑的debug非常有用。此外我们还可以很方便地测试浏览器的前进后退等deeplinking相关功能。当然，测试与js之间的交互传值控制也完全没有问题。</p><p>如果你也有调试方面的好方法，欢迎留言探讨。下载文中提到的软件/插件：</p><ul><li><a
href="https://addons.mozilla.org/en-US/firefox/addon/1843" target="_blank">Firebug</a></li><li><a
href="https://addons.mozilla.org/en-US/firefox/addon/14465" target="_blank">Flashbug</a></li><li><a
href="https://addons.mozilla.org/en-US/firefox/addon/5917" target="_blank">Firefox Throttle</a></li><li><a
href="https://addons.mozilla.org/zh-CN/firefox/addon/1881" target="_blank">Cache Status</a></li><li><a
href="http://www.monsterdebugger.com/" target="_blank">De MonsterDebugger</a></li><li><a
href="http://www.apachefriends.org/zh_cn/xampp.html" target="_blank">xampp</a></li></ul><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/05/better-debugging-flash-website/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/05/better-debugging-flash-website/&amp;title=Better+Debugging+Flash+Website" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/05/better-debugging-flash-website/&amp;t=Better+Debugging+Flash+Website" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/05/better-debugging-flash-website/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Better+Debugging+Flash+Website+-+http://b2l.me/9ud3t&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Better%20Debugging%20Flash%20Website%22&amp;body=Link: http://kevincao.com/2010/05/better-debugging-flash-website/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A Flash%E7%BD%91%E7%AB%99%E5%BC%80%E5%8F%91%E4%B8%AD%E5%B8%B8%E5%B8%B8%E9%81%87%E5%88%B0loading%E5%8A%9F%E8%83%BD%E3%80%81deeplinking%E3%80%81js%E4%B8%8Eflash%E4%BA%A4%E4%BA%92%E7%AD%89%E9%97%AE%E9%A2%98%EF%BC%8C%E8%80%8C%E8%BF%99%E4%BA%9B%E9%97%AE%E9%A2%98%E5%8F%AA%E6%9C%89%E5%9C%A8%E5%9C%A8%E7%9C%9F%E5%AE%9E%E7%9A%84%E7%BD%91%E7%BB%9C%E7%8E%AF%E5%A2%83%E4%B8%8B%E6%89%8D%E8%83%BD%E8%BF%9B%E8%A1%8C%E6%9C%89%E6%95%88%E7%9A%84%E6%B5%8B%E8%AF%95%E3%80%82%E8%BF%98%E5%9C%A8%E4%B8%BA%E4%B8%8A%E4%BC%A0%E2%80%94%E6%B5%8B%E8%AF%95%E2%80%94%E5%86%8D%E4%B8%8A%E4%BC%A0%E2%80%94%E6%B5%8B%E8%AF%95%E7%9A%84%E9%87%8D%E5%A4%8D%E5%8A%B3%E5%8A%A8%E8%80%8C%E7%83%A6%E6%81%BC%E5%90%97%EF%BC%9F%E6%9C%AC%E6%96%87%E5%91%8A%E8%AF%89%E4%BD%A0%E4%B8%80%E4%B8%AA%E6%9B%B4%E7%AE%80%E5%8D%95%E6%9C%89%E6%95%88%E7%9A%84debug%E8%A7%A3%E5%86%B3%E6%96%B9%E6" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/actionscript/" title="ActionScript" rel="tag">ActionScript</a>, <a
href="http://kevincao.com/tag/debug/" title="debug" rel="tag">debug</a>, <a
href="http://kevincao.com/tag/firefox/" title="firefox" rel="tag">firefox</a>, <a
href="http://kevincao.com/tag/flash/" title="Flash" rel="tag">Flash</a>, <a
href="http://kevincao.com/tag/gaia/" title="gaia" rel="tag">gaia</a>, <a
href="http://kevincao.com/tag/tip/" title="tip" rel="tag">tip</a>, <a
href="http://kevincao.com/tag/tutorial/" title="tutorial" rel="tag">tutorial</a>, <a
href="http://kevincao.com/tag/website/" title="website" rel="tag">website</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2010/03/workflow-robotgaiaant/" title="Workflow &#8211; RobotGaiaAnt！ (2010/03/25)">Workflow &#8211; RobotGaiaAnt！</a> (19)</li><li><a
href="http://kevincao.com/2010/03/workflow-patterns/" title="Workflow &#8211; Patterns (2010/03/27)">Workflow &#8211; Patterns</a> (0)</li><li><a
href="http://kevincao.com/2010/04/use-bat-to-switch-flash-player/" title="Use .bat to Switch Flash Player (2010/04/28)">Use .bat to Switch Flash Player</a> (0)</li><li><a
href="http://kevincao.com/2010/03/pv3d-culling-clipping/" title="PV3D Culling &#038; Clipping (2010/03/09)">PV3D Culling &#038; Clipping</a> (7)</li><li><a
href="http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/" title="Project &ndash; Mercedes-Benz Autoshow 2010 Web Special (2010/04/24)">Project &ndash; Mercedes-Benz Autoshow 2010 Web Special</a> (0)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/WvFTI0Fm31vJv2sDXwAiq6Hl45I/0/da"><img src="http://feedads.g.doubleclick.net/~a/WvFTI0Fm31vJv2sDXwAiq6Hl45I/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WvFTI0Fm31vJv2sDXwAiq6Hl45I/1/da"><img src="http://feedads.g.doubleclick.net/~a/WvFTI0Fm31vJv2sDXwAiq6Hl45I/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=VASh0kraGz8:I32rDf7qhuU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=VASh0kraGz8:I32rDf7qhuU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=VASh0kraGz8:I32rDf7qhuU:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/05/better-debugging-flash-website/feed/</wfw:commentRss> <slash:comments>10</slash:comments> <feedburner:origLink>http://kevincao.com/2010/05/better-debugging-flash-website/</feedburner:origLink></item> <item><title>Use .bat to Switch Flash Player</title><link>http://feedproxy.google.com/~r/kevincao/~3/MzUAH7T8SJI/</link> <comments>http://kevincao.com/2010/04/use-bat-to-switch-flash-player/#comments</comments> <pubDate>Wed, 28 Apr 2010 11:45:42 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Develop]]></category> <category><![CDATA[Flash]]></category> <category><![CDATA[tip]]></category> <category><![CDATA[tutorial]]></category><guid isPermaLink="false">http://kevincao.com/2010/04/use-bat-to-switch-flash-player/</guid> <description><![CDATA[在调试Flash程序的时候经常要用到Debug版本的Flash Player。但是平时浏览网站如果用Debug版的，不仅会有无谓的错误提示，还会造成执行缓慢，甚至导致浏览器崩溃。所以我们需要有很便捷的方法来切换播放插件的版本。 在Mac下，有wspluginswitcher可以实现这个功能。在Windows下，可以安装sephiroth开发的Firefox插件Flash Switcher。我这里介绍另一种办法：使用批处理来切换。 首先去这里下载好release和debug两个版本的安装文件（plug-in版本，使用IE的请用active-x）。关闭所有浏览器，安装release版。装好以后进入以下目录： 32bit：C:\Windows\System32\Macromed\Flash\ 64bit：C:\Windows\SysWOW64\Macromed\Flash\ 该目录下的NPSWF32.dll就是我们要找的Flash插件。把这个文件复制到别的地方（比如C:\players）。现在再安装一次Debug版，可以看到NPSWF32.dll的文件大小发生了改变，这个就是Debug版的插件了。 现在我们有了两个版本的插件，接下来就是写批处理bat文件的工作。这也非常简单，一句copy指令就可以了（请根据自己保存的目录来调整）： 切换为Debug copy C:\players\debug\NPSWF32.dll C:\Windows\SysWOW64\Macromed\Flash\ 切换为Release copy C:\players\release\NPSWF32.dll C:\Windows\SysWOW64\Macromed\Flash\ 保存两个bat文件到你们随手的地方。下次要切换版本的时候只要记得关闭浏览器，再双击，搞定。 以上方法还可以扩展到切换不同的播放器版本上，自己试试看吧:) Subscribe to the comments for this post? Share this on del.icio.us Share this on Facebook Post on Google Buzz Tweet This! Email this to a friend? Tags: Flash, tip, tutorial Related posts Better Debugging Flash Website [...]]]></description> <content:encoded><![CDATA[<p>在调试Flash程序的时候经常要用到Debug版本的<a
href="http://labs.adobe.com/downloads/flashplayer10.html" target="_blank">Flash Player</a>。但是平时浏览网站如果用Debug版的，不仅会有无谓的错误提示，还会造成执行缓慢，甚至导致浏览器崩溃。所以我们需要有很便捷的方法来切换播放插件的版本。</p><p>在Mac下，有<a
href="http://code.google.com/p/wspluginswitcher/">wspluginswitcher</a>可以实现这个功能。在Windows下，可以安装<a
href="http://www.sephiroth.it/" target="_blank">sephiroth</a>开发的Firefox插件<a
href="http://www.sephiroth.it/firefox/flash_switcher/" target="_blank">Flash Switcher</a>。我这里介绍另一种办法：使用批处理来切换。</p><p>首先去<a
href="http://labs.adobe.com/downloads/flashplayer10.html" target="_blank">这里</a>下载好release和debug两个版本的安装文件（plug-in版本，使用IE的请用active-x）。关闭所有浏览器，安装release版。装好以后进入以下目录：</p><blockquote><p>32bit：C:\Windows\System32\Macromed\Flash\</p><p>64bit：C:\Windows\SysWOW64\Macromed\Flash\</p></blockquote><p>该目录下的NPSWF32.dll就是我们要找的Flash插件。把这个文件复制到别的地方（比如C:\players）。现在再安装一次Debug版，可以看到NPSWF32.dll的文件大小发生了改变，这个就是Debug版的插件了。</p><p><img
style="border-bottom: 0px; border-left: 0px; margin: 0px 20px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://kevincao.com/wp-content/uploads/2010/04/image3.png" width="181" height="104" />现在我们有了两个版本的插件，接下来就是写批处理bat文件的工作。这也非常简单，一句copy指令就可以了（请根据自己保存的目录来调整）：</p><p>切换为Debug</p><blockquote><p>copy C:\players\debug\NPSWF32.dll C:\Windows\SysWOW64\Macromed\Flash\</p></blockquote><p>切换为Release</p><blockquote><p>copy C:\players\release\NPSWF32.dll C:\Windows\SysWOW64\Macromed\Flash\</p></blockquote><p>保存两个bat文件到你们随手的地方。下次要切换版本的时候只要记得关闭浏览器，再双击，搞定。</p><p>以上方法还可以扩展到切换不同的播放器版本上，自己试试看吧:)</p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/04/use-bat-to-switch-flash-player/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/04/use-bat-to-switch-flash-player/&amp;title=Use+.bat+to+Switch+Flash+Player" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/04/use-bat-to-switch-flash-player/&amp;t=Use+.bat+to+Switch+Flash+Player" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/04/use-bat-to-switch-flash-player/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Use+.bat+to+Switch+Flash+Player+-+http://b2l.me/9uc5w&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Use%20.bat%20to%20Switch%20Flash%20Player%22&amp;body=Link: http://kevincao.com/2010/04/use-bat-to-switch-flash-player/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %E5%9C%A8%E8%B0%83%E8%AF%95Flash%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%97%B6%E5%80%99%E7%BB%8F%E5%B8%B8%E8%A6%81%E7%94%A8%E5%88%B0Debug%E7%89%88%E6%9C%AC%E7%9A%84Flash%20Player%E3%80%82%E4%BD%86%E6%98%AF%E5%B9%B3%E6%97%B6%E6%B5%8F%E8%A7%88%E7%BD%91%E7%AB%99%E5%A6%82%E6%9E%9C%E7%94%A8Debug%E7%89%88%E7%9A%84%EF%BC%8C%E4%B8%8D%E4%BB%85%E4%BC%9A%E6%9C%89%E6%97%A0%E8%B0%93%E7%9A%84%E9%94%99%E8%AF%AF%E6%8F%90%E7%A4%BA%EF%BC%8C%E8%BF%98%E4%BC%9A%E9%80%A0%E6%88%90%E6%89%A7%E8%A1%8C%E7%BC%93%E6%85%A2%EF%BC%8C%E7%94%9A%E8%87%B3%E5%AF%BC%E8%87%B4%E6%B5%8F%E8%A7%88%E5%99%A8%E5%B4%A9%E6%BA%83%E3%80%82%E6%89%80%E4%BB%A5%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E6%9C%89%E5%BE%88%E4%BE%BF%E6%8D%B7%E7%9A%84%E6%96%B9%E6%B3%95%E6%9D%A5%E5%88%87%E6%8D%A2%E6%92%AD%E6%94%BE%E6%8F%92%E4%BB%B6%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%20%20%E5%9C%A8Mac%E4%B8%8B%EF%BC%8C%E6" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/flash/" title="Flash" rel="tag">Flash</a>, <a
href="http://kevincao.com/tag/tip/" title="tip" rel="tag">tip</a>, <a
href="http://kevincao.com/tag/tutorial/" title="tutorial" rel="tag">tutorial</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2010/05/better-debugging-flash-website/" title="Better Debugging Flash Website (2010/05/05)">Better Debugging Flash Website</a> (10)</li><li><a
href="http://kevincao.com/2010/03/pv3d-culling-clipping/" title="PV3D Culling &#038; Clipping (2010/03/09)">PV3D Culling &#038; Clipping</a> (7)</li><li><a
href="http://kevincao.com/2009/11/pv3d-3d-post-software-workflow/" title="Papervision 3D + 3D/Post Software Workflow (2009/11/16)">Papervision 3D + 3D/Post Software Workflow</a> (2)</li><li><a
href="http://kevincao.com/2009/11/interacting-with-papervision-3d/" title="Interacting with Papervision 3D (2009/11/16)">Interacting with Papervision 3D</a> (0)</li><li><a
href="http://kevincao.com/2005/07/gotoandlearn/" title="Flash视频教学网站 (2005/07/14)">Flash视频教学网站</a> (1)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/q0O-BLIe9F77KTMv4y1C7ZIfB9s/0/da"><img src="http://feedads.g.doubleclick.net/~a/q0O-BLIe9F77KTMv4y1C7ZIfB9s/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/q0O-BLIe9F77KTMv4y1C7ZIfB9s/1/da"><img src="http://feedads.g.doubleclick.net/~a/q0O-BLIe9F77KTMv4y1C7ZIfB9s/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=MzUAH7T8SJI:9-NPv4qleaM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=MzUAH7T8SJI:9-NPv4qleaM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=MzUAH7T8SJI:9-NPv4qleaM:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/04/use-bat-to-switch-flash-player/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://kevincao.com/2010/04/use-bat-to-switch-flash-player/</feedburner:origLink></item> <item><title>Project – Mercedes-Benz Autoshow 2010 Web Special</title><link>http://feedproxy.google.com/~r/kevincao/~3/xapTC3or6BY/</link> <comments>http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/#comments</comments> <pubDate>Fri, 23 Apr 2010 16:39:07 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Design]]></category> <category><![CDATA[Develop]]></category> <category><![CDATA[3D]]></category> <category><![CDATA[ActionScript]]></category> <category><![CDATA[ant]]></category> <category><![CDATA[as3signals]]></category> <category><![CDATA[gaia]]></category> <category><![CDATA[interactive]]></category> <category><![CDATA[Mercedes-Benz]]></category> <category><![CDATA[portfolio]]></category> <category><![CDATA[project]]></category> <category><![CDATA[robotlegs]]></category> <category><![CDATA[website]]></category><guid isPermaLink="false">http://kevincao.com/?p=1298</guid> <description><![CDATA[2010奔驰车展现场直击，超过一百多种不同的视角，带你领略奔驰的独特魅力。 Title : Mercedes-Benz Autoshow 2010 Web Special Client : Mercedes-Benz China Agency : Energy Source Date : 2010.4.23 Art &#38; Design : Tina’s Team Motion &#38; Flash &#38; Develop : ES Guru Team Integrate : ES Tech Team 3D : Bitone Subscribe to the comments for this post? Share this on del.icio.us Share this [...]]]></description> <content:encoded><![CDATA[<p><img
style="display: inline; border-width: 0px;" title="image" src="http://kevincao.com/wp-content/uploads/2010/04/image.png" border="0" alt="image" width="500" height="282" /></p><p><img
style="display: inline; border-width: 0px;" title="image" src="http://kevincao.com/wp-content/uploads/2010/04/image1.png" border="0" alt="image" width="500" height="282" /></p><p><img
style="display: inline; border-width: 0px;" title="image" src="http://kevincao.com/wp-content/uploads/2010/04/image2.png" border="0" alt="image" width="500" height="282" /></p><p>2010奔驰车展现场直击，超过一百多种不同的视角，带你领略奔驰的独特魅力。</p><blockquote><p>Title : <a
href="http://show.mercedes-benz.com.cn/2010/china/ShowCar/" target="_blank">Mercedes-Benz Autoshow 2010 Web Special</a><br
/> Client : Mercedes-Benz China<br
/> Agency : Energy Source<br
/> Date : 2010.4.23</p><p>Art &amp; Design : Tina’s Team<br
/> Motion &amp; Flash &amp; Develop : ES Guru Team<br
/> Integrate : ES Tech Team<br
/> 3D : Bitone</p></blockquote><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/&amp;title=Project+%26ndash%3B+Mercedes-Benz+Autoshow+2010+Web+Special" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/&amp;t=Project+%26ndash%3B+Mercedes-Benz+Autoshow+2010+Web+Special" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Project+%26ndash%3B+Mercedes-Benz+Autoshow+2010+Web+Special+-+http://b2l.me/9udmj&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Project%20%26ndash%3B%20Mercedes-Benz%20Autoshow%202010%20Web%20Special%22&amp;body=Link: http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %0D%0A%0D%0A%0D%0A%0D%0A%0D%0A%0D%0A2010%E5%A5%94%E9%A9%B0%E8%BD%A6%E5%B1%95%E7%8E%B0%E5%9C%BA%E7%9B%B4%E5%87%BB%EF%BC%8C%E8%B6%85%E8%BF%87%E4%B8%80%E7%99%BE%E5%A4%9A%E7%A7%8D%E4%B8%8D%E5%90%8C%E7%9A%84%E8%A7%86%E8%A7%92%EF%BC%8C%E5%B8%A6%E4%BD%A0%E9%A2%86%E7%95%A5%E5%A5%94%E9%A9%B0%E7%9A%84%E7%8B%AC%E7%89%B9%E9%AD%85%E5%8A%9B%E3%80%82%0D%0ATitle%20%3A%20Mercedes-Benz%20Autoshow%202010%20Web%20Special%0D%0AClient%20%3A%20Mercedes-Benz%20China%0D%0AAgency%20%3A%20Energy%20Source%0D%0ADate%20%3A%202010.4.23%0D%0A%0D%0AArt%20%26amp%3B%20Design%20%3A%20Tina%E2%80%99s%20Team%0D%0AMotion%20%26amp%3B%20Flash%20%26amp%3B%20D" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/3d/" title="3D" rel="tag">3D</a>, <a
href="http://kevincao.com/tag/actionscript/" title="ActionScript" rel="tag">ActionScript</a>, <a
href="http://kevincao.com/tag/ant/" title="ant" rel="tag">ant</a>, <a
href="http://kevincao.com/tag/as3signals/" title="as3signals" rel="tag">as3signals</a>, <a
href="http://kevincao.com/tag/gaia/" title="gaia" rel="tag">gaia</a>, <a
href="http://kevincao.com/tag/interactive/" title="interactive" rel="tag">interactive</a>, <a
href="http://kevincao.com/tag/mercedes-benz/" title="Mercedes-Benz" rel="tag">Mercedes-Benz</a>, <a
href="http://kevincao.com/tag/portfolio/" title="portfolio" rel="tag">portfolio</a>, <a
href="http://kevincao.com/tag/project/" title="project" rel="tag">project</a>, <a
href="http://kevincao.com/tag/robotlegs/" title="robotlegs" rel="tag">robotlegs</a>, <a
href="http://kevincao.com/tag/website/" title="website" rel="tag">website</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2009/05/project-mercedes-benz-suv-family-web-special/" title="Project &#8211; Mercedes-Benz SUV Family Web Special (2009/05/05)">Project &#8211; Mercedes-Benz SUV Family Web Special</a> (0)</li><li><a
href="http://kevincao.com/2009/11/project-mercedes-benz-starelite-experience-website/" title="Project &#8211; Mercedes-Benz StarElite Experience Website (2009/11/13)">Project &#8211; Mercedes-Benz StarElite Experience Website</a> (1)</li><li><a
href="http://kevincao.com/2009/05/project-mercedes-benz-e-class-web-special/" title="Project &#8211; Mercedes-Benz E-Class Web Special (2009/05/05)">Project &#8211; Mercedes-Benz E-Class Web Special</a> (0)</li><li><a
href="http://kevincao.com/2010/03/workflow-further-thought/" title="Workflow &ndash; Further Thought (2010/03/27)">Workflow &ndash; Further Thought</a> (2)</li><li><a
href="http://kevincao.com/2008/10/project-mercedez-benz-s-class-web-special/" title="Project &#8211; 奔驰S级轿车体验网站 (2008/10/06)">Project &#8211; 奔驰S级轿车体验网站</a> (6)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/8qwCHehZZH61jZ-okPfKNaGY3Kk/0/da"><img src="http://feedads.g.doubleclick.net/~a/8qwCHehZZH61jZ-okPfKNaGY3Kk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/8qwCHehZZH61jZ-okPfKNaGY3Kk/1/da"><img src="http://feedads.g.doubleclick.net/~a/8qwCHehZZH61jZ-okPfKNaGY3Kk/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=xapTC3or6BY:pCZ9H_TXGMM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=xapTC3or6BY:pCZ9H_TXGMM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=xapTC3or6BY:pCZ9H_TXGMM:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/</feedburner:origLink></item> <item><title>Experiment #08: Light Stroke</title><link>http://feedproxy.google.com/~r/kevincao/~3/onJvHxIiZFE/</link> <comments>http://kevincao.com/2010/04/experiment-08-light-stroke/#comments</comments> <pubDate>Sat, 03 Apr 2010 15:32:57 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Develop]]></category> <category><![CDATA[ActionScript]]></category> <category><![CDATA[experiment]]></category> <category><![CDATA[generative]]></category> <category><![CDATA[portfolio]]></category><guid isPermaLink="false">http://kevincao.com/2010/04/experiment-08-light-stroke/</guid> <description><![CDATA[在想一个项目的光线效果，正好发现了这个。不过它是用Processing写的，于是花了半天用ActionScript重写了一个。 源代码等项目完成后放出下载，请保持关注吧:P Subscribe to the comments for this post? Share this on del.icio.us Share this on Facebook Post on Google Buzz Tweet This! Email this to a friend? Tags: ActionScript, experiment, generative, portfolio Related posts Experiment #05: Rubik&#8217;s Cube (29) Experiment #03: Four Cameras Viewer (0) Twisted Arrow (2) Showreel 2007 (10) RubiksCube&#8217;s Interactive Material [...]]]></description> <content:encoded><![CDATA[<p>在想一个项目的光线效果，正好发现了<a
href="http://www.escapemotions.com/experiments/flame/" target="_blank">这个</a>。不过它是用Processing写的，于是花了半天用ActionScript重写了一个。</p><p><a
href="http://kevincao.com/experiment/flash/generative/lightstroke/" target="_blank"><img
style="display: inline; border: 0px;" title="lightstroke" src="http://kevincao.com/wp-content/uploads/2010/04/lightstroke.jpg" border="0" alt="lightstroke" width="500" height="210" /></a></p><p>源代码<span
style="text-decoration: line-through;">等项目完成后放出</span><a
href="http://kevincao-playground.googlecode.com/files/kevincao.com_lightstroke.zip" target="_blank">下载</a>，请保持关注吧:P</p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/04/experiment-08-light-stroke/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/04/experiment-08-light-stroke/&amp;title=Experiment+%2308%3A+Light+Stroke" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/04/experiment-08-light-stroke/&amp;t=Experiment+%2308%3A+Light+Stroke" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/04/experiment-08-light-stroke/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Experiment+%2308%3A+Light+Stroke+-+http://b2l.me/9udm7&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Experiment%20%2308%3A%20Light%20Stroke%22&amp;body=Link: http://kevincao.com/2010/04/experiment-08-light-stroke/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %E5%9C%A8%E6%83%B3%E4%B8%80%E4%B8%AA%E9%A1%B9%E7%9B%AE%E7%9A%84%E5%85%89%E7%BA%BF%E6%95%88%E6%9E%9C%EF%BC%8C%E6%AD%A3%E5%A5%BD%E5%8F%91%E7%8E%B0%E4%BA%86%E8%BF%99%E4%B8%AA%E3%80%82%E4%B8%8D%E8%BF%87%E5%AE%83%E6%98%AF%E7%94%A8Processing%E5%86%99%E7%9A%84%EF%BC%8C%E4%BA%8E%E6%98%AF%E8%8A%B1%E4%BA%86%E5%8D%8A%E5%A4%A9%E7%94%A8ActionScript%E9%87%8D%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AA%E3%80%82%0D%0A%0D%0A%0D%0A%0D%0A%E6%BA%90%E4%BB%A3%E7%A0%81%E7%AD%89%E9%A1%B9%E7%9B%AE%E5%AE%8C%E6%88%90%E5%90%8E%E6%94%BE%E5%87%BA%E4%B8%8B%E8%BD%BD%EF%BC%8C%E8%AF%B7%E4%BF%9D%E6%8C%81%E5%85%B3%E6%B3%A8%E5%90%A7%3AP" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/actionscript/" title="ActionScript" rel="tag">ActionScript</a>, <a
href="http://kevincao.com/tag/experiment/" title="experiment" rel="tag">experiment</a>, <a
href="http://kevincao.com/tag/generative/" title="generative" rel="tag">generative</a>, <a
href="http://kevincao.com/tag/portfolio/" title="portfolio" rel="tag">portfolio</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2009/04/experiment-05-rubiks-cube/" title="Experiment #05: Rubik&#8217;s Cube (2009/04/18)">Experiment #05: Rubik&#8217;s Cube</a> (29)</li><li><a
href="http://kevincao.com/2008/11/experiment-03-four-cameras-viewer/" title="Experiment #03: Four Cameras Viewer (2008/11/26)">Experiment #03: Four Cameras Viewer</a> (0)</li><li><a
href="http://kevincao.com/2009/07/twisted-arrow/" title="Twisted Arrow (2009/07/05)">Twisted Arrow</a> (2)</li><li><a
href="http://kevincao.com/2007/03/showreel-2007/" title="Showreel 2007 (2007/03/16)">Showreel 2007</a> (10)</li><li><a
href="http://kevincao.com/2009/09/rubikscubes-interactive-material-issue/" title="RubiksCube&#8217;s Interactive Material Issue (2009/09/04)">RubiksCube&#8217;s Interactive Material Issue</a> (0)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/VmtRqll0i0vh7jQrGA0GuCwtqxA/0/da"><img src="http://feedads.g.doubleclick.net/~a/VmtRqll0i0vh7jQrGA0GuCwtqxA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/VmtRqll0i0vh7jQrGA0GuCwtqxA/1/da"><img src="http://feedads.g.doubleclick.net/~a/VmtRqll0i0vh7jQrGA0GuCwtqxA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=onJvHxIiZFE:z1SwoW3bC9g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=onJvHxIiZFE:z1SwoW3bC9g:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=onJvHxIiZFE:z1SwoW3bC9g:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/04/experiment-08-light-stroke/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://kevincao.com/2010/04/experiment-08-light-stroke/</feedburner:origLink></item> <item><title>4个爆破效果插件(Cinema 4D)</title><link>http://feedproxy.google.com/~r/kevincao/~3/yFxIy6jnY8s/</link> <comments>http://kevincao.com/2010/03/4%e4%b8%aa%e7%88%86%e7%a0%b4%e6%95%88%e6%9e%9c%e6%8f%92%e4%bb%b6cinema-4d/#comments</comments> <pubDate>Wed, 31 Mar 2010 02:38:13 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Design]]></category> <category><![CDATA[Cinema 4D]]></category> <category><![CDATA[plugin]]></category><guid isPermaLink="false">http://kevincao.com/2010/03/4%e4%b8%aa%e7%88%86%e7%a0%b4%e6%95%88%e6%9e%9c%e6%8f%92%e4%bb%b6cinema-4d/</guid> <description><![CDATA[在Cinema 4D中制作爆破效果是件很容易的事。一般情况下在变形器菜单下的Explosion FX就能达到不错的效果。 但是如果你需要更加不规则的效果，则要手动的去把多边形进行切分。以下的4个插件能帮助你简化这个过程。 Xplode (需翻墙)is a new, low-cost plugin that breaks geometry into pieces. (price: 12 euro) Xbreaker is a free plugin that works with primitives, NURBS objects, splines and polygons. GeoTools is a solution by professional developer Remotion to fracture and break geometry. (price: 39 euro) Destruction - Two Greyscale Gorilla tutorials about [...]]]></description> <content:encoded><![CDATA[<p>在Cinema 4D中制作爆破效果是件很容易的事。一般情况下在变形器菜单下的Explosion FX就能达到不错的效果。</p><p><img
style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="explosion" border="0" alt="explosion" src="http://kevincao.com/wp-content/uploads/2010/03/explosion.png" width="500" height="284" /></p><p>但是如果你需要更加不规则的效果，则要手动的去把多边形进行切分。以下的4个插件能帮助你简化这个过程。</p><p><img
style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="interface" border="0" alt="interface" src="http://kevincao.com/wp-content/uploads/2010/03/interface.jpg" width="200" height="214" /></p><p><a
href="http://xplode.valkaari.com/en/xplode.php">Xplode</a> (需翻墙)is a new, low-cost plugin that breaks geometry into pieces. (price: 12 euro)</p><p> <span
id="more-1289"></span><p><img
alt="" src="http://pariahstudios.co.uk/Xbreaker_files/Xbreaker_logo%20copy.png" width="200" height="94" /> <br
/><a
href="http://pariahstudios.co.uk/Xbreaker.html">Xbreaker</a> is a <strong>free</strong> plugin that works with primitives, NURBS objects, splines and polygons.</p><p><img
title="" alt="" src="http://www.remotion4d.net/redokuwiki/lib/exe/fetch.php?w=&amp;h=&amp;cache=cache&amp;media=geotools:geotools2010logo2_small.jpg" width="200" height="151" /> <br
/><a
href="http://www.remotion4d.net/redokuwiki/doku.php?id=GeoTools">GeoTools</a> is a solution by professional developer Remotion to fracture and break geometry. (price: 39 euro)</p><p><img
title="Destruction_C4D" alt="Destruction_C4D" src="http://greyscalegorilla.com/blog/wp-content/uploads/2009/12/Destruction_C4D.jpg" width="200" height="121" /> <br
/><a
href="http://greyscalegorilla.com/blog/2009/12/shatter-and-destruction">Destruction</a> - Two Greyscale Gorilla tutorials about how to shatter objects with the new <strong>free</strong> plugin from <a
href="http://www.adamswaab.com/">Adam Swaab</a>.</p><p
align="right"><em>via Maxon April Newsletter</em></p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/03/4个爆破效果插件cinema-4d/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/03/4%e4%b8%aa%e7%88%86%e7%a0%b4%e6%95%88%e6%9e%9c%e6%8f%92%e4%bb%b6cinema-4d/&amp;title=4%E4%B8%AA%E7%88%86%E7%A0%B4%E6%95%88%E6%9E%9C%E6%8F%92%E4%BB%B6%28Cinema+4D%29" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/03/4%e4%b8%aa%e7%88%86%e7%a0%b4%e6%95%88%e6%9e%9c%e6%8f%92%e4%bb%b6cinema-4d/&amp;t=4%E4%B8%AA%E7%88%86%E7%A0%B4%E6%95%88%E6%9E%9C%E6%8F%92%E4%BB%B6%28Cinema+4D%29" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/03/4%e4%b8%aa%e7%88%86%e7%a0%b4%e6%95%88%e6%9e%9c%e6%8f%92%e4%bb%b6cinema-4d/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=4%E4%B8%AA%E7%88%86%E7%A0%B4%E6%95%88%E6%9E%9C%E6%8F%92%E4%BB%B6%28Cinema+4D%29+-+http://b2l.me/9uc5y&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%224%E4%B8%AA%E7%88%86%E7%A0%B4%E6%95%88%E6%9E%9C%E6%8F%92%E4%BB%B6%28Cinema%204D%29%22&amp;body=Link: http://kevincao.com/2010/03/4%e4%b8%aa%e7%88%86%e7%a0%b4%e6%95%88%e6%9e%9c%e6%8f%92%e4%bb%b6cinema-4d/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %E5%9C%A8Cinema%204D%E4%B8%AD%E5%88%B6%E4%BD%9C%E7%88%86%E7%A0%B4%E6%95%88%E6%9E%9C%E6%98%AF%E4%BB%B6%E5%BE%88%E5%AE%B9%E6%98%93%E7%9A%84%E4%BA%8B%E3%80%82%E4%B8%80%E8%88%AC%E6%83%85%E5%86%B5%E4%B8%8B%E5%9C%A8%E5%8F%98%E5%BD%A2%E5%99%A8%E8%8F%9C%E5%8D%95%E4%B8%8B%E7%9A%84Explosion%20FX%E5%B0%B1%E8%83%BD%E8%BE%BE%E5%88%B0%E4%B8%8D%E9%94%99%E7%9A%84%E6%95%88%E6%9E%9C%E3%80%82%20%20%20%20%20%E4%BD%86%E6%98%AF%E5%A6%82%E6%9E%9C%E4%BD%A0%E9%9C%80%E8%A6%81%E6%9B%B4%E5%8A%A0%E4%B8%8D%E8%A7%84%E5%88%99%E7%9A%84%E6%95%88%E6%9E%9C%EF%BC%8C%E5%88%99%E8%A6%81%E6%89%8B%E5%8A%A8%E7%9A%84%E5%8E%BB%E6%8A%8A%E5%A4%9A%E8%BE%B9%E5%BD%A2%E8%BF%9B%E8%A1%8C%E5%88%87%E5%88%86%E3%80%82%E4%BB%A5%E4%B8%8B%E7%9A%844%E4%B8%AA%E6%8F%92%E4%BB%B6%E8%83%BD%E5%B8%AE%E5%8A%A9%E4%BD%A0%E7%AE%80%E5%8C%96%E8%BF%99%E4%B8%AA%E8%BF%87%E7%A8%8B%E3%80%82%20%20%20%20%20Xplode%20" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/cinema-4d/" title="Cinema 4D" rel="tag">Cinema 4D</a>, <a
href="http://kevincao.com/tag/plugin/" title="plugin" rel="tag">plugin</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2009/07/twisted-arrow/" title="Twisted Arrow (2009/07/05)">Twisted Arrow</a> (2)</li><li><a
href="http://kevincao.com/2010/03/qa-why-cinema-4d/" title="Q&amp;A: Why Cinema 4D？ (2010/03/08)">Q&amp;A: Why Cinema 4D？</a> (2)</li><li><a
href="http://kevincao.com/2009/11/pv3d-3d-post-software-workflow/" title="Papervision 3D + 3D/Post Software Workflow (2009/11/16)">Papervision 3D + 3D/Post Software Workflow</a> (2)</li><li><a
href="http://kevincao.com/2009/12/mg-6-price-announcement-video/" title="MG 6 Price Announcement Video (2009/12/24)">MG 6 Price Announcement Video</a> (2)</li><li><a
href="http://kevincao.com/2009/05/making-of-ar-proposal/" title="Making of AR Proposal (2009/05/06)">Making of AR Proposal</a> (26)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/aqVog_RzEfhXJONjvh_CbLwXOfA/0/da"><img src="http://feedads.g.doubleclick.net/~a/aqVog_RzEfhXJONjvh_CbLwXOfA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/aqVog_RzEfhXJONjvh_CbLwXOfA/1/da"><img src="http://feedads.g.doubleclick.net/~a/aqVog_RzEfhXJONjvh_CbLwXOfA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=yFxIy6jnY8s:xCk25azbhXw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=yFxIy6jnY8s:xCk25azbhXw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=yFxIy6jnY8s:xCk25azbhXw:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/03/4%e4%b8%aa%e7%88%86%e7%a0%b4%e6%95%88%e6%9e%9c%e6%8f%92%e4%bb%b6cinema-4d/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://kevincao.com/2010/03/4%e4%b8%aa%e7%88%86%e7%a0%b4%e6%95%88%e6%9e%9c%e6%8f%92%e4%bb%b6cinema-4d/</feedburner:origLink></item> <item><title>Workflow – Further Thought</title><link>http://feedproxy.google.com/~r/kevincao/~3/tExDyPFD8r8/</link> <comments>http://kevincao.com/2010/03/workflow-further-thought/#comments</comments> <pubDate>Sat, 27 Mar 2010 07:08:35 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Develop]]></category> <category><![CDATA[Thought]]></category> <category><![CDATA[ActionScript]]></category> <category><![CDATA[ant]]></category> <category><![CDATA[as3signals]]></category> <category><![CDATA[design-pattern]]></category> <category><![CDATA[gaia]]></category> <category><![CDATA[robotlegs]]></category> <category><![CDATA[workflow]]></category><guid isPermaLink="false">http://kevincao.com/?p=1281</guid> <description><![CDATA[授人以渔，而不是授人以鱼。如果你能坚持看完前面三篇（1，2，3）还没有晕菜，或者甚至还有些疑问想要深究一下的，那么这篇文章就是为你而写的——关于这个工作流程和开发框架的来龙去脉。 这个开发框架的建立来源于Jesse Warden的这篇文章。通过它让我看到了Gaia与Robotlegs相结合的可能性。一般的Agency/Studio网站用Gaia框架已经足够了。但是引入MVC模式能够让开发架构更为清晰，方便进行更复杂的大型团队开发。随后再引入AS3 Signals基本是必然的，因为这个信号机制比Flash自带的Event好得多，就算不用这套框架你也应该尝试一下。 问题主要集中在于Gaia Page的职责划分问题：Page应该是MVC中的那个角色？或者Page甚至应该是一个完整的MVC模块？ 如果说按模块化开发的结构来考虑，每一个Page可以看作一个独立的模块。也就是说每一个Page都应该有一个独立的Module Context。但是很多情况下我们所做的网站开发没有那么大的复杂度。如果遵照这种划分思想，只会造成无谓的类增加，凭空增加了维护的难度。所以权衡之下，我不推荐这种做法。有兴趣的朋友可以看一下Robotlegs模块化开发的扩展。 于是我们回到只有一个Main Context的情况下来考虑。在这里，Page可以是一个View（视图），也可以是一个Mediator（中介）。 Jesse Warden的文章中使用了前者，通过IPage接口的映射规则来启动Robotlegs自动中介的功能。 //当pages.AboutPage的实例被添加到场景上的时候建立一个AboutMediator作为其中介 mediatorMap.mapView&#40;&#34;pages.AboutPage&#34;, AboutMediator, IAboutPage&#41;; 问题是使用这种中介机制，Page作为视图本身不应该处理事件。所以Gaia模板中的onTransitionIn, onTransitionOut和onDeeplink都成了摆设，这些事件应当被转发到对应的中介中去做处理。基于这种方式必须： 修改简化Gaia默认的Page模板。 建立一个扩展的PageMediator作为Page中介的基类，监听Page的几个默认事件。 后来我又尝试了第二种方向：把Page这一层直接作为中介，把真正的视图类归到views包下面。这种做法抛弃了Robotlegs的自动中介机制（不去继承Mediator），因为Gaia框架会负责加载和实例化Page。 通过Context的viewMap来设定注入规则，使得Page在被加载后能获取到对应的依赖关系（单独编译Page时要保留metadata的原因）。 //当属于pages包内的类的实例被添加到场景上的时候进行依赖注入 viewMap.mapPackage&#40;&#34;pages&#34;&#41;; 同时，Page还要负责实例化真正的视图类（View）。 view = new AboutView&#40;&#41;; view.init&#40;&#41;; addChild&#40;view&#41;; 这种做法让Robotlegs的自动中介功能成了摆设，而且中介是一个可视对象的子类也有点不符合逻辑。 综合比较下来，我还是选择了把Page当作中介的方式，手动去实例化视图。这种做法在不太复杂的开发中能够减少类的数量，相对而言比较符合我原先的开发习惯的。 我们再来看看Robotlegs的注入功能是如何实现？答案是通过监听ContextView的Event.ADDED_TO_STAGE事件，Robotlegs会判断是否为加到主场景上的每个实例进行依赖注入或者做中介映射。这点也是依赖注入框架被批判最多的地方，大量无意义的监听会消耗程序性能。特别在游戏开发等对性能需求严苛的环境下，这种浪费是致命的。 这点也是我没有采用Robotlegs自动映射中介功能的原因之一。由于我的Page中介不依赖于Robotlegs，所以可以很方便的关掉这种监听带来的性能损耗。具体做法是：只需当Page被加载的时候，打开监听，由Robotlegs完成注入；当Page加载完毕，关闭监听。 // MainMediator.as override public function onRegister&#40;&#41; : void &#123; Gaia.api.beforePreload&#40;enableViewMap&#41;; Gaia.api.afterPreload&#40;disableViewMap&#41;; &#125; &#160; private function enableViewMap&#40;event : GaiaEvent&#41; : void [...]]]></description> <content:encoded><![CDATA[<p>授人以渔，而不是授人以鱼。如果你能坚持看完前面三篇（<a
href="http://kevincao.com/2010/03/flash-design-develop-workflow/" target="_blank">1</a>，<a
href="http://kevincao.com/2010/03/workflow-robotgaiaant/" target="_blank">2</a>，<a
href="http://kevincao.com/2010/03/workflow-patterns/" target="_blank">3</a>）还没有晕菜，或者甚至还有些疑问想要深究一下的，那么这篇文章就是为你而写的——关于这个工作流程和开发框架的来龙去脉。</p><p>这个开发框架的建立来源于<a
href="http://jessewarden.com/" target="_blank">Jesse Warden</a>的<a
href="http://jessewarden.com/2009/10/how-to-use-robotlegs-on-top-of-gaia-part-1-of-3-quickstart.html?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+jessewarden+%28Flex+and+Flash+Developer+-+Jesse+Warden+dot+Kizz-ohm%29" target="_blank">这篇文章</a>。通过它让我看到了<a
href="http://www.gaiaflashframework.com/" target="_blank">Gaia</a>与<a
href="http://www.robotlegs.org/" target="_blank">Robotlegs</a>相结合的可能性。一般的Agency/Studio网站用Gaia框架已经足够了。但是引入MVC模式能够让开发架构更为清晰，方便进行更复杂的大型团队开发。随后再引入AS3 Signals基本是必然的，因为这个信号机制比Flash自带的Event好得多，就算不用这套框架你也应该尝试一下。</p><p>问题主要集中在于Gaia Page的职责划分问题：Page应该是MVC中的那个角色？或者Page甚至应该是一个完整的MVC模块？</p><p>如果说按模块化开发的结构来考虑，每一个Page可以看作一个独立的模块。也就是说每一个Page都应该有一个独立的Module Context。但是很多情况下我们所做的网站开发没有那么大的复杂度。如果遵照这种划分思想，只会造成无谓的类增加，凭空增加了维护的难度。所以权衡之下，我不推荐这种做法。有兴趣的朋友可以看一下<a
href="http://github.com/Stray/robotlegs-utilities-Modular" target="_blank">Robotlegs模块化开发的扩展</a>。</p><p>于是我们回到只有一个Main Context的情况下来考虑。在这里，Page可以是一个View（视图），也可以是一个Mediator（中介）。</p><p><span
id="more-1281"></span></p><p><a
href="http://jessewarden.com/2009/10/how-to-use-robotlegs-on-top-of-gaia-part-1-of-3-quickstart.html?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+jessewarden+%28Flex+and+Flash+Developer+-+Jesse+Warden+dot+Kizz-ohm%29" target="_blank">Jesse Warden的文章</a>中使用了前者，通过IPage接口的映射规则来启动Robotlegs自动中介的功能。</p><pre class="actionscript"><span style="color: #666666; ">//当pages.AboutPage的实例被添加到场景上的时候建立一个AboutMediator作为其中介</span>
mediatorMap.<span style="color: #FF9999;">mapView</span><span style="color: #b1b100;">&#40;</span><span style="color: #66cc66;">&quot;pages.AboutPage&quot;</span>, AboutMediator, IAboutPage<span style="color: #b1b100;">&#41;</span>;</pre><p>问题是使用这种中介机制，Page作为视图本身不应该处理事件。所以Gaia模板中的onTransitionIn, onTransitionOut和onDeeplink都成了摆设，这些事件应当被转发到对应的中介中去做处理。基于这种方式必须：</p><ul><li>修改简化Gaia默认的Page模板。</li><li>建立一个扩展的<a
href="http://kevincao.com/wp-content/uploads/2010/03/PageMediator.as" target="_blank">PageMediator</a>作为Page中介的基类，监听Page的几个默认事件。</li></ul><p>后来我又尝试了第二种方向：把Page这一层直接作为中介，把真正的视图类归到views包下面。这种做法抛弃了Robotlegs的自动中介机制（不去继承Mediator），因为Gaia框架会负责加载和实例化Page。</p><p>通过Context的viewMap来设定注入规则，使得Page在被加载后能获取到对应的依赖关系（单独编译Page时要保留metadata的原因）。</p><pre class="actionscript"><span style="color: #666666; ">//当属于pages包内的类的实例被添加到场景上的时候进行依赖注入</span>
viewMap.<span style="color: #FF9999;">mapPackage</span><span style="color: #b1b100;">&#40;</span><span style="color: #66cc66;">&quot;pages&quot;</span><span style="color: #b1b100;">&#41;</span>;</pre><p>同时，Page还要负责实例化真正的视图类（View）。</p><pre class="actionscript">view = <span style="color: #0099cc; font-weight: bold;">new</span> AboutView<span style="color: #b1b100;">&#40;</span><span style="color: #b1b100;">&#41;</span>;
view.<span style="color: #FF9999;">init</span><span style="color: #b1b100;">&#40;</span><span style="color: #b1b100;">&#41;</span>;
addChild<span style="color: #b1b100;">&#40;</span>view<span style="color: #b1b100;">&#41;</span>;</pre><p>这种做法让Robotlegs的自动中介功能成了摆设，而且中介是一个可视对象的子类也有点不符合逻辑。</p><p>综合比较下来，我还是选择了把Page当作中介的方式，手动去实例化视图。这种做法在不太复杂的开发中能够减少类的数量，相对而言比较符合我原先的开发习惯的。</p><p>我们再来看看Robotlegs的注入功能是如何实现？答案是通过监听ContextView的Event.ADDED_TO_STAGE事件，Robotlegs会判断是否为加到主场景上的每个实例进行依赖注入或者做中介映射。这点也是依赖注入框架被批判最多的地方，大量无意义的监听会消耗程序性能。特别在游戏开发等对性能需求严苛的环境下，这种浪费是致命的。</p><p>这点也是我没有采用Robotlegs自动映射中介功能的原因之一。由于我的Page中介不依赖于Robotlegs，所以可以很方便的关掉这种监听带来的性能损耗。具体做法是：只需当Page被加载的时候，打开监听，由Robotlegs完成注入；当Page加载完毕，关闭监听。</p><pre class="actionscript"><span style="color: #666666; ">// MainMediator.as</span>
override <span style="color: #0099cc;">public</span> <span style="color: #0099cc; font-weight: bold;">function</span> onRegister<span style="color: #b1b100;">&#40;</span><span style="color: #b1b100;">&#41;</span> : <span style="color: #0099cc;">void</span>
<span style="color: #b1b100;">&#123;</span>
	Gaia.<span style="color: #FF9999;">api</span>.<span style="color: #FF9999;">beforePreload</span><span style="color: #b1b100;">&#40;</span>enableViewMap<span style="color: #b1b100;">&#41;</span>;
	Gaia.<span style="color: #FF9999;">api</span>.<span style="color: #FF9999;">afterPreload</span><span style="color: #b1b100;">&#40;</span>disableViewMap<span style="color: #b1b100;">&#41;</span>;
<span style="color: #b1b100;">&#125;</span>
&nbsp;
<span style="color: #0099cc;">private</span> <span style="color: #0099cc; font-weight: bold;">function</span> enableViewMap<span style="color: #b1b100;">&#40;</span>event : GaiaEvent<span style="color: #b1b100;">&#41;</span> : <span style="color: #0099cc;">void</span>
<span style="color: #b1b100;">&#123;</span>
	viewMap.<span style="color: #0099cc;">enabled</span> = <span style="color: #0099cc; font-weight: bold;">true</span>;
<span style="color: #b1b100;">&#125;</span>
&nbsp;
<span style="color: #0099cc;">private</span> <span style="color: #0099cc; font-weight: bold;">function</span> disableViewMap<span style="color: #b1b100;">&#40;</span>event : GaiaEvent<span style="color: #b1b100;">&#41;</span> : <span style="color: #0099cc;">void</span>
<span style="color: #b1b100;">&#123;</span>
	viewMap.<span style="color: #0099cc;">enabled</span> = <span style="color: #0099cc; font-weight: bold;">false</span>;
<span style="color: #b1b100;">&#125;</span></pre><p>当然更适用于普遍情况的解决方案应该是：只有当需要被注入的对象实例化时，由一定的机制来通知系统进行注入的操作。关于这种机制的实现，有兴趣的朋友可以看看<a
href="http://eidiot.net/en/" target="_blank">eidiot</a>的<a
href="http://github.com/eidiot/robotlegs-utilities-LazyMediator" target="_blank">LazyMediator</a>。</p><p>我们再来看看信号机制带来的改进。</p><p>首先要在Robotlegs中使用Signals，需要<a
href="http://github.com/robertpenner/signals-extensions-CommandSignal" target="_blank">CommandSignal</a>或者<a
href="http://github.com/eidiot/SlidePlayer/blob/master/src/org/robotlegs/utilities/signals/SignalExecutorMap.as" target="_blank">SignalExecutorMap</a>。</p><p><a
href="http://joelhooks.com/" target="_blank">Joel Hooks</a>的<a
href="http://joelhooks.com/2010/02/14/robotlegs-as3-signals-and-the-signalcommandmap-example/" target="_blank">这篇文章</a>提供了一个示例。通过以下代码把信号映射为对应的命令：</p><pre class="actionscript">signalCommandMap.<span style="color: #FF9999;">mapSignalClass</span><span style="color: #b1b100;">&#40;</span>AddFoodItemToOrder, AddFoodItemToOrderCommand<span style="color: #b1b100;">&#41;</span>;</pre><p>在中介类中注入信号，就可以使用它去触发对应的命令了：</p><pre class="actionscript"><span style="color: #b1b100;">&#91;</span>Inject<span style="color: #b1b100;">&#93;</span>
<span style="color: #0099cc;">public</span> <span style="color: #0099cc; font-weight: bold;">var</span> addItem : AddFoodItemToOrder; <span style="color: #666666; ">// 注入</span>
...
<span style="color: #FF9999;">addItem</span>.<span style="color: #FF9999;">dipatch</span><span style="color: #b1b100;">&#40;</span>itemType<span style="color: #b1b100;">&#41;</span> <span style="color: #666666; ">// 触发</span></pre><p>这种方式非常直观地表现了中介具体关心哪一种信号类型，但是相应地需要对每一个信号都去建立一个类。另一种做法是使用统一的SignalBus静态类来管理信号，比如：</p><pre class="actionscript">package
<span style="color: #b1b100;">&#123;</span>
<span style="color: #0099cc;">public</span> <span style="color: #0099cc; font-weight: bold;">class</span> SignalBus
	<span style="color: #b1b100;">&#123;</span>
		<span style="color: #666666; ">// 定义一个Signal常量</span>
		<span style="color: #0099cc;">public</span> const addFoodItemToOrder : Signal = <span style="color: #0099cc; font-weight: bold;">new</span> Signal<span style="color: #b1b100;">&#40;</span>FoodType<span style="color: #b1b100;">&#41;</span>;
	<span style="color: #b1b100;">&#125;</span>
<span style="color: #b1b100;">&#125;</span></pre><p>映射命令：</p><pre class="actionscript"><span style="color: #666666; ">// signalBus是SignalBus类的实例</span>
signalCommandMap.<span style="color: #FF9999;">mapSignalClass</span><span style="color: #b1b100;">&#40;</span>signalBus.<span style="color: #FF9999;">addFoodItemToOrder</span>, AddFoodItemToOrderCommand<span style="color: #b1b100;">&#41;</span>;</pre><p>在中介类中：</p><pre class="actionscript"><span style="color: #b1b100;">&#91;</span>Inject<span style="color: #b1b100;">&#93;</span>
<span style="color: #0099cc;">public</span> <span style="color: #0099cc; font-weight: bold;">var</span> signalBus : SignalBus; <span style="color: #666666; ">// 注入SignalBus实例</span>
...
<span style="color: #FF9999;">signalBus</span>.<span style="color: #FF9999;">addFoodItemToOrder</span>.<span style="color: #FF9999;">dipatch</span><span style="color: #b1b100;">&#40;</span>itemType<span style="color: #b1b100;">&#41;</span> <span style="color: #666666; ">// 触发</span></pre><p>这样做的好处是可以少建立一些信号类，在我的开发模板中采用的是这种做法。你也可以查看使用这种方式的<a
href="http://markstar.co.uk/blog/2010/flashplatform/twitter-search-demo-using-robotlegs-signals-and-the-application-signal-bus/" target="_blank">一个例子</a>。</p><p>在开发框架之外，用Ant来进行一些批处理的工作也是这套工作流的亮点之一。如果你对Ant还不是很了解，建议你抽出点时间学习一下，对提高工作效率很有帮助：</p><ul><li><a
href="http://blog.base42.nl/2009/12/11/my-workflow-with-ant-and-fdt/" target="_blank">MY WORKFLOW WITH ANT AND FDT</a></li><li><a
href="http://blog.alanklement.com/2009/08/10/fdt-and-ant-a-users-guide-part-i/" target="_blank">FDT and ANT | A User’s Guide</a></li><li><a
href="http://www.boostworthy.com/blog/?p=194" target="_blank">FDT 3: You’re Gonna Need Some Ant With That Sauce</a></li></ul><p>写在最后：整理完这套框架以后，我的开发思路清晰了很多。通过不同模块的划分定义，在开发团队中，可以有人专门去研究表现层交互效果，有人专门来处理数据的处理。有了框架以后，再忘掉框架，深入到不同层面的细节，去用技术实现自己的创意吧！</p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/03/workflow-further-thought/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/03/workflow-further-thought/&amp;title=Workflow+%26ndash%3B+Further+Thought" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/03/workflow-further-thought/&amp;t=Workflow+%26ndash%3B+Further+Thought" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/03/workflow-further-thought/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Workflow+%26ndash%3B+Further+Thought+-+http://b2l.me/9udbQ&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Workflow%20%26ndash%3B%20Further%20Thought%22&amp;body=Link: http://kevincao.com/2010/03/workflow-further-thought/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %E6%8E%88%E4%BA%BA%E4%BB%A5%E6%B8%94%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E6%8E%88%E4%BA%BA%E4%BB%A5%E9%B1%BC%E3%80%82%E5%A6%82%E6%9E%9C%E4%BD%A0%E8%83%BD%E5%9D%9A%E6%8C%81%E7%9C%8B%E5%AE%8C%E5%89%8D%E9%9D%A2%E4%B8%89%E7%AF%87%EF%BC%881%EF%BC%8C2%EF%BC%8C3%EF%BC%89%E8%BF%98%E6%B2%A1%E6%9C%89%E6%99%95%E8%8F%9C%EF%BC%8C%E6%88%96%E8%80%85%E7%94%9A%E8%87%B3%E8%BF%98%E6%9C%89%E4%BA%9B%E7%96%91%E9%97%AE%E6%83%B3%E8%A6%81%E6%B7%B1%E7%A9%B6%E4%B8%80%E4%B8%8B%E7%9A%84%EF%BC%8C%E9%82%A3%E4%B9%88%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E5%B0%B1%E6%98%AF%E4%B8%BA%E4%BD%A0%E8%80%8C%E5%86%99%E7%9A%84%E2%80%94%E2%80%94%E5%85%B3%E4%BA%8E%E8%BF%99%E4%B8%AA%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%E5%92%8C%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6%E7%9A%84%E6%9D%A5%E9%BE%99%E5%8E%BB%E8%84%89%E3%80%82%0D%0A%0D%0A%E8%BF%99%E4%B8%AA%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6%E7%9A%84%E5%BB%BA%E7%AB%8B%E6%9D%A5%E6%BA%90%E4%BA" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/actionscript/" title="ActionScript" rel="tag">ActionScript</a>, <a
href="http://kevincao.com/tag/ant/" title="ant" rel="tag">ant</a>, <a
href="http://kevincao.com/tag/as3signals/" title="as3signals" rel="tag">as3signals</a>, <a
href="http://kevincao.com/tag/design-pattern/" title="design-pattern" rel="tag">design-pattern</a>, <a
href="http://kevincao.com/tag/gaia/" title="gaia" rel="tag">gaia</a>, <a
href="http://kevincao.com/tag/robotlegs/" title="robotlegs" rel="tag">robotlegs</a>, <a
href="http://kevincao.com/tag/workflow/" title="workflow" rel="tag">workflow</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2010/03/workflow-patterns/" title="Workflow &#8211; Patterns (2010/03/27)">Workflow &#8211; Patterns</a> (0)</li><li><a
href="http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/" title="Project &ndash; Mercedes-Benz Autoshow 2010 Web Special (2010/04/24)">Project &ndash; Mercedes-Benz Autoshow 2010 Web Special</a> (0)</li><li><a
href="http://kevincao.com/2010/02/design-pattern-2-singleton-registry-dependency-injection/" title="Design Pattern #2 &ndash; Singleton, Registry &amp; Dependency Injection (2010/02/25)">Design Pattern #2 &ndash; Singleton, Registry &amp; Dependency Injection</a> (2)</li><li><a
href="http://kevincao.com/2010/03/workflow-robotgaiaant/" title="Workflow &#8211; RobotGaiaAnt！ (2010/03/25)">Workflow &#8211; RobotGaiaAnt！</a> (19)</li><li><a
href="http://kevincao.com/2010/07/hanfont/" title="Flash汉字嵌入助手 (2010/07/05)">Flash汉字嵌入助手</a> (6)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/woOoWMb7EOvcSVR9uT7Gq2SSaHQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/woOoWMb7EOvcSVR9uT7Gq2SSaHQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/woOoWMb7EOvcSVR9uT7Gq2SSaHQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/woOoWMb7EOvcSVR9uT7Gq2SSaHQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=tExDyPFD8r8:fBkBl2-Q2IQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=tExDyPFD8r8:fBkBl2-Q2IQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=tExDyPFD8r8:fBkBl2-Q2IQ:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/03/workflow-further-thought/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <feedburner:origLink>http://kevincao.com/2010/03/workflow-further-thought/</feedburner:origLink></item> <item><title>Workflow – Patterns</title><link>http://feedproxy.google.com/~r/kevincao/~3/u3r_PTUsflE/</link> <comments>http://kevincao.com/2010/03/workflow-patterns/#comments</comments> <pubDate>Sat, 27 Mar 2010 04:15:27 +0000</pubDate> <dc:creator>Kevin</dc:creator> <category><![CDATA[Develop]]></category> <category><![CDATA[Thought]]></category> <category><![CDATA[ActionScript]]></category> <category><![CDATA[design-pattern]]></category> <category><![CDATA[gaia]]></category> <category><![CDATA[robotlegs]]></category> <category><![CDATA[tutorial]]></category> <category><![CDATA[workflow]]></category><guid isPermaLink="false">http://kevincao.com/2010/03/workflow-patterns/</guid> <description><![CDATA[本文是Flash网站工作流讨论的模式篇，没看过前两篇的朋友先要去补一下课：） Flash Design + Develop Workflow Workflow – RobotGaiaAnt！ Design Patterns（设计模式），对从事Flash开发的人员相对而言是比较难的知识点。从早期的ActionScript脚本一路走过来的Flash工作者很少有系统地学过成熟的OOP开发思想。包括我自己在内也一直都是半知半解，所以太专业的理论我也说不上，就尽可能的挑些容易理解的来说明一下，希望能够对进阶的开发者有所帮助。 通过RobotGaiaAnt快速构建出的网站结构已经包含了基本的网站开发模板（src目录下），在进行开发之前你需要了解以下几点： 这个结构是基于Gaia+Robotlegs+AS3 Signals（lib目录下）建立的，你需要熟悉这些API。 代码按照MVCS模式来进行组织。如果你还不是很理解这种设计模式，可以翻看我之前写的这篇和这篇。对Robotlegs的机制还不是很了解的，推荐看看eidiot的这个文档，还有他翻译的中文最佳实践。 然后你需要了解的是每个部分的职责分别是什么，不同的代码应该写在什么模块中。具体的指导做法就下载我这份文档学习一下吧。 Subscribe to the comments for this post? Share this on del.icio.us Share this on Facebook Post on Google Buzz Tweet This! Email this to a friend? Tags: ActionScript, design-pattern, gaia, robotlegs, tutorial, workflow Related posts Workflow &#8211; Further Thought [...]]]></description> <content:encoded><![CDATA[<p>本文是Flash网站工作流讨论的模式篇，没看过前两篇的朋友先要去补一下课：）</p><ul><li><a
href="http://kevincao.com/2010/03/flash-design-develop-workflow/">Flash Design + Develop Workflow</a></li><li><a
href="http://kevincao.com/2010/03/workflow-robotgaiaant/">Workflow – RobotGaiaAnt！</a></li></ul><p>Design Patterns（设计模式），对从事Flash开发的人员相对而言是比较难的知识点。从早期的ActionScript脚本一路走过来的Flash工作者很少有系统地学过成熟的OOP开发思想。包括我自己在内也一直都是半知半解，所以太专业的理论我也说不上，就尽可能的挑些容易理解的来说明一下，希望能够对进阶的开发者有所帮助。</p><p>通过<a
href="http://github.com/kyoji2/RobotGaiaAnt" target="_blank">RobotGaiaAnt</a>快速构建出的网站结构已经包含了基本的网站开发模板（src目录下），在进行开发之前你需要了解以下几点：</p><ol><li>这个结构是基于<a
href="http://www.gaiaflashframework.com/" target="_blank">Gaia</a>+<a
href="http://www.robotlegs.org/" target="_blank">Robotlegs</a>+<a
href="http://github.com/robertpenner/as3-signals" target="_blank">AS3 Signals</a>（lib目录下）建立的，你需要熟悉这些API。</li><li>代码按照MVCS模式来进行组织。如果你还不是很理解这种设计模式，可以翻看我之前写的<a
href="http://kevincao.com/2010/02/design-pattern-1-mvc-mvp/" target="_blank">这篇</a>和<a
href="http://kevincao.com/2010/02/design-pattern-2-singleton-registry-dependency-injection/" target="_blank">这篇</a>。对Robotlegs的机制还不是很了解的，推荐看看eidiot的<a
href="http://eidiot.net/en/2010/03/20/my-robotlegs-slides/" target="_blank">这个文档</a>，还有他翻译的<a
href="http://github.com/eidiot/robotlegs-documentation/blob/master/best-practices-zh-cn.textile" target="_blank">中文最佳实践</a>。</li><li>然后你需要了解的是每个部分的职责分别是什么，不同的代码应该写在什么模块中。具体的指导做法就<a
href="http://kevincao.com/project/workflow/Develop_Patterns.pdf" target="_blank">下载</a>我这份文档学习一下吧。</li></ol><p><a
href="http://kevincao.com/project/workflow/Develop_Patterns.pdf" target="_blank"><img
style="display: inline; border: 0px;" title="pattern" src="http://kevincao.com/wp-content/uploads/2010/03/20100327_00230.png" border="0" alt="pattern" width="500" height="312" /></a></p><div
class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-center"><ul
class="socials"><li
class="shr-comfeed"> <a
href="http://kevincao.com/2010/03/workflow-patterns/feed" rel="nofollow" class="external" title="Subscribe to the comments for this post?">Subscribe to the comments for this post?</a></li><li
class="shr-delicious"> <a
href="http://delicious.com/post?url=http://kevincao.com/2010/03/workflow-patterns/&amp;title=Workflow+-+Patterns" rel="nofollow" class="external" title="Share this on del.icio.us">Share this on del.icio.us</a></li><li
class="shr-facebook"> <a
href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://kevincao.com/2010/03/workflow-patterns/&amp;t=Workflow+-+Patterns" rel="nofollow" class="external" title="Share this on Facebook">Share this on Facebook</a></li><li
class="shr-googlebuzz"> <a
href="http://www.google.com/buzz/post?url=http://kevincao.com/2010/03/workflow-patterns/&amp;imageurl=" rel="nofollow" class="external" title="Post on Google Buzz">Post on Google Buzz</a></li><li
class="shr-twitter"> <a
href="http://twitter.com/home?status=Workflow+-+Patterns+-+http://b2l.me/9udem&amp;source=shareaholic" rel="nofollow" class="external" title="Tweet This!">Tweet This!</a></li><li
class="shr-mail"> <a
href="mailto:?subject=%22Workflow%20-%20Patterns%22&amp;body=Link: http://kevincao.com/2010/03/workflow-patterns/ (sent via shareaholic)%0D%0A%0D%0A----%0D%0A %E6%9C%AC%E6%96%87%E6%98%AFFlash%E7%BD%91%E7%AB%99%E5%B7%A5%E4%BD%9C%E6%B5%81%E8%AE%A8%E8%AE%BA%E7%9A%84%E6%A8%A1%E5%BC%8F%E7%AF%87%EF%BC%8C%E6%B2%A1%E7%9C%8B%E8%BF%87%E5%89%8D%E4%B8%A4%E7%AF%87%E7%9A%84%E6%9C%8B%E5%8F%8B%E5%85%88%E8%A6%81%E5%8E%BB%E8%A1%A5%E4%B8%80%E4%B8%8B%E8%AF%BE%EF%BC%9A%EF%BC%89%0D%0A%0D%0A%09Flash%20Design%20%2B%20Develop%20Workflow%0D%0A%09Workflow%20%E2%80%93%20RobotGaiaAnt%EF%BC%81%0D%0A%0D%0ADesign%20Patterns%EF%BC%88%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%EF%BC%89%EF%BC%8C%E5%AF%B9%E4%BB%8E%E4%BA%8BFlash%E5%BC%80%E5%8F%91%E7%9A%84%E4%BA%BA%E5%91%98%E7%9B%B8%E5%AF%B9%E8%80%8C%E8%A8%80%E6%98%AF%E6%AF%94%E8%BE%83%E9%9A%BE%E7%9A%84%E7%9F%A5%E8%AF%86%E7%82%B9%E3%80%82%E4%BB%8E%E6%97%A9%E6%9C%9F%E7%9A%84ActionScr" rel="nofollow" class="external" title="Email this to a friend?">Email this to a friend?</a></li></ul><div
style="clear:both;"></div></div>Tags: <a
href="http://kevincao.com/tag/actionscript/" title="ActionScript" rel="tag">ActionScript</a>, <a
href="http://kevincao.com/tag/design-pattern/" title="design-pattern" rel="tag">design-pattern</a>, <a
href="http://kevincao.com/tag/gaia/" title="gaia" rel="tag">gaia</a>, <a
href="http://kevincao.com/tag/robotlegs/" title="robotlegs" rel="tag">robotlegs</a>, <a
href="http://kevincao.com/tag/tutorial/" title="tutorial" rel="tag">tutorial</a>, <a
href="http://kevincao.com/tag/workflow/" title="workflow" rel="tag">workflow</a><br
/><h4>Related posts</h4><ul
class="st-related-posts"><li><a
href="http://kevincao.com/2010/03/workflow-further-thought/" title="Workflow &ndash; Further Thought (2010/03/27)">Workflow &ndash; Further Thought</a> (2)</li><li><a
href="http://kevincao.com/2010/03/workflow-robotgaiaant/" title="Workflow &#8211; RobotGaiaAnt！ (2010/03/25)">Workflow &#8211; RobotGaiaAnt！</a> (19)</li><li><a
href="http://kevincao.com/2010/04/project-mercedes-benz-autoshow-2010-web-special/" title="Project &ndash; Mercedes-Benz Autoshow 2010 Web Special (2010/04/24)">Project &ndash; Mercedes-Benz Autoshow 2010 Web Special</a> (0)</li><li><a
href="http://kevincao.com/2010/03/flash-design-develop-workflow/" title="Flash Design + Develop Workflow (2010/03/25)">Flash Design + Develop Workflow</a> (0)</li><li><a
href="http://kevincao.com/2010/02/design-pattern-2-singleton-registry-dependency-injection/" title="Design Pattern #2 &ndash; Singleton, Registry &amp; Dependency Injection (2010/02/25)">Design Pattern #2 &ndash; Singleton, Registry &amp; Dependency Injection</a> (2)</li></ul>
<p><a href="http://feedads.g.doubleclick.net/~a/KoypffiUxH2DDX5AKiKkUs8dLRM/0/da"><img src="http://feedads.g.doubleclick.net/~a/KoypffiUxH2DDX5AKiKkUs8dLRM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/KoypffiUxH2DDX5AKiKkUs8dLRM/1/da"><img src="http://feedads.g.doubleclick.net/~a/KoypffiUxH2DDX5AKiKkUs8dLRM/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/kevincao?a=u3r_PTUsflE:4MPatHllFfA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/kevincao?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/kevincao?a=u3r_PTUsflE:4MPatHllFfA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/kevincao?i=u3r_PTUsflE:4MPatHllFfA:F7zBnMyn0Lo" border="0"></img></a>
</div>]]></content:encoded> <wfw:commentRss>http://kevincao.com/2010/03/workflow-patterns/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://kevincao.com/2010/03/workflow-patterns/</feedburner:origLink></item> </channel> </rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk
Database Caching 25/88 queries in 0.688 seconds using disk

Served from: kevincao.com @ 2010-07-21 23:55:38 -->
