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

<channel>
	<title>猫的新窝</title>
	<atom:link href="http://cat.ourkernel.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://cat.ourkernel.com</link>
	<description>止心，少语，莫愁</description>
	<lastBuildDate>Mon, 24 May 2010 12:04:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>psp2000 v2误刷官方5.03解决方案</title>
		<link>http://cat.ourkernel.com/2010/05/psp2000-v2%e8%af%af%e5%88%b7%e5%ae%98%e6%96%b95-03%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/</link>
		<comments>http://cat.ourkernel.com/2010/05/psp2000-v2%e8%af%af%e5%88%b7%e5%ae%98%e6%96%b95-03%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/#comments</comments>
		<pubDate>Mon, 24 May 2010 12:04:21 +0000</pubDate>
		<dc:creator>cat</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[psp]]></category>

		<guid isPermaLink="false">http://cat.ourkernel.com/?p=508</guid>
		<description><![CDATA[早上收到jiaN的psp2000，兴奋地安装上了伊苏7，结果发现游戏被加速了，google一把后发现原来是因为系统版本不够高。然后不知道手上psp2000到底是v2，还是v3想想稳妥些，按v3的刷，理论上可以回头的。。结果刷到官方版本5.03后发现悲剧了，上不去，下不来。再问了jiaN，说是v2的版本-___-这么好刷的版本被我折腾的这么麻烦。。。也好的就是 v2似乎想变成砖头也挺难的（这也就是我为什么现在还买2000的缘故^_^，乐在折腾）
psp2000v2的破解，其实除了用神电外，还有个方法就是RF，关键问题就变成了RF如何在version5.03上面运行了。google了个下午，终于看到了希望。用HEN加载RF，问题是原版HEN屡屡失败（rpwt&#8230;失败了。。。起码2个小时吧）后来找到了个修改版的tiff(依旧需要原版的HEN）果然一次性ok&#8230;加载HEN后，在运行RF，刷回5.00M33，再升级为5.50Gen-D。一场挣扎落下了帷幕
]]></description>
		<wfw:commentRss>http://cat.ourkernel.com/2010/05/psp2000-v2%e8%af%af%e5%88%b7%e5%ae%98%e6%96%b95-03%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【zT】winXp局域网共享</title>
		<link>http://cat.ourkernel.com/2010/05/%e3%80%90zt%e3%80%91winxp%e5%b1%80%e5%9f%9f%e7%bd%91%e5%85%b1%e4%ba%ab/</link>
		<comments>http://cat.ourkernel.com/2010/05/%e3%80%90zt%e3%80%91winxp%e5%b1%80%e5%9f%9f%e7%bd%91%e5%85%b1%e4%ba%ab/#comments</comments>
		<pubDate>Tue, 11 May 2010 08:00:41 +0000</pubDate>
		<dc:creator>cat</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[zT]]></category>

		<guid isPermaLink="false">http://cat.ourkernel.com/?p=506</guid>
		<description><![CDATA[
&#19979;&#36733;: open.txtWindows Registry Editor Version 5.00
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]
&#34;restrictanonymous&#34;=dword:00000000
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
&#34;restrictanonymous&#34;=dword:00000000
; 以上两行在系统中的位置是：本地安全策略-安全选项-网络访问：不允许SAM帐户和共享
; 的匿名枚举。系统默认值是：已停用。
; 解说：操作系统默认:利用ipc$通道可以建立空连接,匿名枚举出该机有多少帐户。显然
; 有一定的安全隐患。本系统已设为不允许空连接了。以此提高单机拨号上网的安全性。
; 负面影响是局域网不能互访了。要更改一下才可以解决。
&#160;
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
&#34;limitblankpassworduse&#34;=dword:00000000
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]
&#34;limitblankpassworduse&#34;=dword:00000000
; 以上两行在系统中的位置是：本地安全策略--安全选项--帐户：使用空白密码的本地帐户
; 只允许进行控制台登录。系统默认值是：已启用。
; 解说：很多人的帐户是不加密码的。这样，当局域网中别的电脑访问本机时，会弹出错误提示：
; 登录失败：用户帐户限制………。这是XP系统的一条安全策略造成的，防止别人趁你空密码时
; 进入你的电脑。如果你觉得无所谓，不必做这些限制，那就把它设为：已停用。
&#160;
&#160;
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count]
&#34;HRZR_EHAPCY&#34;=hex:0C,00,00,00,26,00,00,00,F0,FB,E5,52,64,95,C6,01
&#34;HRZR_EHAPCY:&#34;P:\JVAQBJF\flfgrz32\sverjnyy.pcy&#34;,Jvaqbjf 防火墙&#34;=hex:0C,00,00,00,08,00,00,00,F0,FB,E5,52,64,95,C6,01
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
&#34;445:TCP&#34;=&#34;445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005&#34;
&#34;137:UDP&#34;=&#34;137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001&#34;
&#34;138:UDP&#34;=&#34;138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002&#34;
&#34;139:TCP&#34;=&#34;139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004&#34;
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Epoch]
&#34;Epoch&#34;=dword:000001ED
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Providers]
&#34;LogonTime&#34;=hex:E8,31,8E,4F,64,95,C6,01
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
&#34;445:TCP&#34;=&#34;445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005&#34;
&#34;137:UDP&#34;=&#34;137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001&#34;
&#34;138:UDP&#34;=&#34;138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002&#34;
&#34;139:TCP&#34;=&#34;139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004&#34;
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Epoch]
&#34;Epoch&#34;=dword:000001ED
; 以上数值对应系统中的位置：控制面板--防火墙--例外--文件和打印机共享。系统默认：不选。
; 解说：所有的策略都设置好了，局域网依然不能访问，提示：您没有权限使用网络资源，找
; 不到网络路径！呵呵，真是令人火冒三丈！其实XP还有一道关卡，就是防火墙，必须要经过
; 防火墙的允许才行。
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
&#34;forceguest&#34;=dword:00000001
; 以上数值对应系统中的位置是：控制面板--管理工具--本地安全策略--本地策略--安全选项，
; 网络访问：本地帐户的共享和安全模式：仅来宾-本地用户以来宾份验证。这时，当局域网
; 其他机访问本机时，不会弹出对话框，就可以直接进入。在家庭网等完全可以信任的区域，
; 建议使用这种方式。
&#160;
&#160;
；《GhostXP_SP2电脑公司特别版》作者编写。感谢您的使用。
&#19979;&#36733;: close.txtWindows Registry Editor Version 5.00
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]
&#34;restrictanonymous&#34;=dword:00000001
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
&#34;restrictanonymous&#34;=dword:00000001
; 以上两行在系统中的位置是：本地安全策略-安全选项-网络访问：不允许SAM帐户和共享
; 的匿名枚举。系统默认值是：已停用。
; 解说：操作系统默认:利用ipc$通道可以建立空连接,匿名枚举出该机有多少帐户。显然
; 有一定的安全隐患。本系统已设为不允许空连接了。以此提高单机拨号上网的安全性。
; 负面影响是局域网不能互访了。要更改一下才可以解决。
&#160;
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
&#34;limitblankpassworduse&#34;=dword:00000001
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa]
&#34;limitblankpassworduse&#34;=dword:00000001
; 以上两行在系统中的位置是：本地安全策略--安全选项--帐户：使用空白密码的本地帐户
; 只允许进行控制台登录。系统默认值是：已启用。
; 解说：很多人的帐户是不加密码的。这样，当局域网中别的电脑访问本机时，会弹出错误提示：
; 登录失败：用户帐户限制………。这是XP系统的一条安全策略造成的，防止别人趁你空密码时
; 进入你的电脑。如果你觉得无所谓，不必做这些限制，那就把它设为：已停用。
&#160;
&#160;
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count]
&#34;HRZR_EHAPCY&#34;=hex:0C,00,00,00,2A,00,00,00,90,AF,A4,87,A4,95,C6,01
&#34;HRZR_EHAPCY:&#34;P:\JVAQBJF\flfgrz32\sverjnyy.pcy&#34;,Jvaqbjf 防火墙&#34;=hex:0C,00,00,00,13,00,00,00,90,AF,A4,87,A4,95,C6,01
&#160;
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG]
&#34;Seed&#34;=hex:AC,6F,9A,2B,11,64,44,68,EC,90,1B,76,72,A7,0A,14,\
4C,79,37,BB,FD,BD,70,B2,B2,58,D5,B5,89,5C,B6,4E,\
3B,18,A5,26,46,BC,3E,6A,30,A4,7D,A0,56,E6,6A,B5,\
57,3A,BF,A1,CD,CA,B6,64,4C,F9,0E,D2,64,ED,86,1F,\
61,F6,D1,01,0B,7C,8D,BD,73,10,C8,4E,57,93,4E,90
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
&#34;445:TCP&#34;=&#34;445:TCP:LocalSubNet:Disabled:@xpsp2res.dll,-22005&#34;
&#34;137:UDP&#34;=&#34;137:UDP:LocalSubNet:Disabled:@xpsp2res.dll,-22001&#34;
&#34;138:UDP&#34;=&#34;138:UDP:LocalSubNet:Disabled:@xpsp2res.dll,-22002&#34;
&#34;139:TCP&#34;=&#34;139:TCP:LocalSubNet:Disabled:@xpsp2res.dll,-22004&#34;
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Epoch]
&#34;Epoch&#34;=dword:000001FC
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
&#34;445:TCP&#34;=&#34;445:TCP:LocalSubNet:Disabled:@xpsp2res.dll,-22005&#34;
&#34;137:UDP&#34;=&#34;137:UDP:LocalSubNet:Disabled:@xpsp2res.dll,-22001&#34;
&#34;138:UDP&#34;=&#34;138:UDP:LocalSubNet:Disabled:@xpsp2res.dll,-22002&#34;
&#34;139:TCP&#34;=&#34;139:TCP:LocalSubNet:Disabled:@xpsp2res.dll,-22004&#34;
&#160;
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Epoch]
&#34;Epoch&#34;=dword:000001FC
; 以上数值对应系统中的位置：控制面板--防火墙--例外--文件和打印机共享。系统默认：不选。
; 解说：所有的策略都设置好了，局域网依然不能访问，提示：您没有权限使用网络资源，找
; 不到网络路径！呵呵，真是令人火冒三丈！其实XP还有一道关卡，就是防火墙，必须要经过
; 防火墙的允许才行。
&#160;
；《GhostXP_SP2电脑公司特别版》作者编写。感谢您的使用。
]]></description>
		<wfw:commentRss>http://cat.ourkernel.com/2010/05/%e3%80%90zt%e3%80%91winxp%e5%b1%80%e5%9f%9f%e7%bd%91%e5%85%b1%e4%ba%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在word的右键菜单中添加打印功能</title>
		<link>http://cat.ourkernel.com/2010/04/%e5%9c%a8word%e7%9a%84%e5%8f%b3%e9%94%ae%e8%8f%9c%e5%8d%95%e4%b8%ad%e6%b7%bb%e5%8a%a0%e6%89%93%e5%8d%b0%e5%8a%9f%e8%83%bd/</link>
		<comments>http://cat.ourkernel.com/2010/04/%e5%9c%a8word%e7%9a%84%e5%8f%b3%e9%94%ae%e8%8f%9c%e5%8d%95%e4%b8%ad%e6%b7%bb%e5%8a%a0%e6%89%93%e5%8d%b0%e5%8a%9f%e8%83%bd/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 06:57:23 +0000</pubDate>
		<dc:creator>cat</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://cat.ourkernel.com/?p=441</guid>
		<description><![CDATA[工具-&#62;自定义-&#62;工具栏，勾选其中的快捷菜单，显示一条快捷菜单工具栏，然后切换到命令标签，拖动打印功能到菜单上的文字-&#62;文字的菜单子项目中即可。
]]></description>
		<wfw:commentRss>http://cat.ourkernel.com/2010/04/%e5%9c%a8word%e7%9a%84%e5%8f%b3%e9%94%ae%e8%8f%9c%e5%8d%95%e4%b8%ad%e6%b7%bb%e5%8a%a0%e6%89%93%e5%8d%b0%e5%8a%9f%e8%83%bd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Win下用软件关闭显示器电源</title>
		<link>http://cat.ourkernel.com/2010/04/%e5%9c%a8win%e4%b8%8b%e7%94%a8%e8%bd%af%e4%bb%b6%e5%85%b3%e9%97%ad%e6%98%be%e7%a4%ba%e5%99%a8%e7%94%b5%e6%ba%90/</link>
		<comments>http://cat.ourkernel.com/2010/04/%e5%9c%a8win%e4%b8%8b%e7%94%a8%e8%bd%af%e4%bb%b6%e5%85%b3%e9%97%ad%e6%98%be%e7%a4%ba%e5%99%a8%e7%94%b5%e6%ba%90/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 06:55:37 +0000</pubDate>
		<dc:creator>cat</dc:creator>
				<category><![CDATA[C/C++]]></category>

		<guid isPermaLink="false">http://cat.ourkernel.com/?p=433</guid>
		<description><![CDATA[看到galaxy的《在Win下用软件关闭显示器电源》，得到启发后，google到了比较真的真相。
&#19979;&#36733;: a.cpp#include &#60;windows.h&#62;
int main(void)
{
&#160; &#160; // Eliminate user''s interaction for 500 ms
&#160; &#160; Sleep(500);
&#160; &#160; // Turn off monitor
&#160; &#160; SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM)&#160;2);
&#160; &#160; // Turn on monitor
&#160; &#160; // SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) -1);
&#160; &#160; // Low power monitor
&#160; &#160; // SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 1);
&#160; &#160; return&#160;0;
}
另外看到个比较悲剧而和我无关的消息，iphone新的SDK明确的拒绝了第三方的，或者跨平台工具，语言。.
沧桑的传送门->>>>>点击这里
]]></description>
		<wfw:commentRss>http://cat.ourkernel.com/2010/04/%e5%9c%a8win%e4%b8%8b%e7%94%a8%e8%bd%af%e4%bb%b6%e5%85%b3%e9%97%ad%e6%98%be%e7%a4%ba%e5%99%a8%e7%94%b5%e6%ba%90/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>coolcode支持的格式</title>
		<link>http://cat.ourkernel.com/2010/04/coolcode%e6%94%af%e6%8c%81%e7%9a%84%e6%a0%bc%e5%bc%8f/</link>
		<comments>http://cat.ourkernel.com/2010/04/coolcode%e6%94%af%e6%8c%81%e7%9a%84%e6%a0%bc%e5%bc%8f/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 11:23:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Memo]]></category>

		<guid isPermaLink="false">http://cat.ourkernel.com/?p=428</guid>
		<description><![CDATA[不知道哪里去找coolcode的官网了，今天要贴个VBA的代码，发现似乎不支持该语言的着色。
baidu后做个备案～
coolcode支持语言有：
actionscript
cpp
css
df
dtd
html
java
javascript
mysql
perl
php
python
ruby
sql
xml
]]></description>
		<wfw:commentRss>http://cat.ourkernel.com/2010/04/coolcode%e6%94%af%e6%8c%81%e7%9a%84%e6%a0%bc%e5%bc%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>打印格式票据</title>
		<link>http://cat.ourkernel.com/2010/04/%e6%89%93%e5%8d%b0%e6%a0%bc%e5%bc%8f%e7%a5%a8%e6%8d%ae/</link>
		<comments>http://cat.ourkernel.com/2010/04/%e6%89%93%e5%8d%b0%e6%a0%bc%e5%bc%8f%e7%a5%a8%e6%8d%ae/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 11:17:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[programing]]></category>
		<category><![CDATA[VBA]]></category>

		<guid isPermaLink="false">http://cat.ourkernel.com/?p=423</guid>
		<description><![CDATA[原本想用python或者QT写一个，刚想动手就发现读取excel的内容api就很麻烦了。该想法直接夭折了。只好祭出VBA。。。
而且excel对于打印票据这种东西，天生有优势。于是边百度边写了几百行代码，感谢microsoft的编辑器，调试很方便（比我用过的python编辑器还强大），再次膜拜微软一把。。
不足：对打开的表格要求很高（需要做格式判断），不够聪明
贴代码，vba的代码看的懂英文单词的基本都知道什么意思,把以下内容复制到宏代码中

&#19979;&#36733;: vba.txtSub printSpecial()
'
' 功能:打印选中用户工资单
' 宏由 xningcat 录制，时间: 2010-4-14
'
&#160;&#160; &#160;Dim wksh As Worksheet
&#160;&#160; &#160;Set wksh = ActiveWorkbook.Worksheets(1)
&#160;&#160; &#160;Dim name As String
&#160;&#160; &#160;name = Selection.Value2
&#160;&#160; &#160;name = trimName(name)
&#160;&#160; &#160;Dim fRng As Range
&#160;&#160; &#160;Set fRng = wksh.Next.UsedRange.Find(what:=name, lookat:=xlWhole)
&#160;&#160; &#160;Dim cardNo As String
&#160;&#160; &#160;If Not fRng Is Nothing Then
&#160;&#160; &#160; &#160; &#160;cardNo = fRng.Offset(0, 1).Value
&#160;&#160; &#160; &#160; &#160;'调整打印的格式
&#160;&#160; &#160; [...]]]></description>
		<wfw:commentRss>http://cat.ourkernel.com/2010/04/%e6%89%93%e5%8d%b0%e6%a0%bc%e5%bc%8f%e7%a5%a8%e6%8d%ae/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>最近遇到一些问题集锦</title>
		<link>http://cat.ourkernel.com/2010/03/%e6%9c%80%e8%bf%91%e9%81%87%e5%88%b0%e4%b8%80%e4%ba%9b%e9%97%ae%e9%a2%98%e9%9b%86%e9%94%a6/</link>
		<comments>http://cat.ourkernel.com/2010/03/%e6%9c%80%e8%bf%91%e9%81%87%e5%88%b0%e4%b8%80%e4%ba%9b%e9%97%ae%e9%a2%98%e9%9b%86%e9%94%a6/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 09:20:26 +0000</pubDate>
		<dc:creator>cat</dc:creator>
				<category><![CDATA[Memo]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://cat.ourkernel.com/?p=419</guid>
		<description><![CDATA[★ 用ghost光盘安装系统时，找不到硬盘或者光驱中的内容。
可能原因：因为SATA设置为ACHI模式。导致在dos下无法识别到该设备
解决方案：设置为IDE或者兼容模式（视不同BIOS描述）或者使用PE系统进行安装，使用一键备份软件同样需要注意该问题。
★ 500G的移动硬盘在DOS下无法识别。
解决方案：使用PE，或者分成若干个较小的分区（100G左右吧）
★ 旧设备需要串口，新笔记本未提供。
解决方案：购买一个USB hub+USB转串口的线来实现，需要折腾的是，串口有若干个COM1&#8230;COM8，很多软件只考虑到了某个COM口，所以必要时候还要调整为相应的口即可。
★ AOC的一体机未提供驱动。
解决方案：用雨林木风的ghost安装后，应该找不到无线网卡驱动，用随机带的vista的无线网卡驱动狸猫换太子
★ window下设置双网关。
解决方案：因为内外网使用不同网关，所以需要设置修改路由表，命令为：
route -p add 192.168.0.0 mask 255.255.0.0 192.168.11.253
-p参数为，永久性修改
★ 手机WIFI需要访问内外网。
解决方案：内外网网关不同，手机无法设置网关。买个DLINK的DIR-685（不是广告，我暂时遇到只有这个路由器有这个功能)，其中可以设置路由表。（还有NAS。。。非常虎的路由器，就是太贵了）
★ python读取Unicode编码文件，中文乱码。
解决方案：不知如何下手，改成gbk先完成任务再说。。。
]]></description>
		<wfw:commentRss>http://cat.ourkernel.com/2010/03/%e6%9c%80%e8%bf%91%e9%81%87%e5%88%b0%e4%b8%80%e4%ba%9b%e9%97%ae%e9%a2%98%e9%9b%86%e9%94%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>批量获取豆单</title>
		<link>http://cat.ourkernel.com/2010/01/%e6%89%b9%e9%87%8f%e8%8e%b7%e5%8f%96%e8%b1%86%e5%8d%95/</link>
		<comments>http://cat.ourkernel.com/2010/01/%e6%89%b9%e9%87%8f%e8%8e%b7%e5%8f%96%e8%b1%86%e5%8d%95/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 07:05:55 +0000</pubDate>
		<dc:creator>cat</dc:creator>
				<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://cat.ourkernel.com/?p=415</guid>
		<description><![CDATA[两个月多没写代码，这两天为了下载个500集的豆单,并把flv转化为mp3
第一，利用http://www.flvcd.com/，输入豆单地址，解析豆单的flv地址flvUrlParse.htm
第二，利用Internet Download Manager，解析flvUrlParse.htm，下载到
F:/download/flv/
第三，转化为Mp3
第四，正则提取flvUrlPasrse.htm，把转换后的mp3名字整理。

结果本来很简单的东西，却写了两天多。。。。
在好几个sb的错误上花费了很多时间：
while(fin.good()&#38;&#38;!fin.eof()){
&#160; &#160; &#160; &#160; fin.getline(szBuffer,LEN);
上面代码是死循环。。。。
直接判断fin.getline的返回值即可。
然后，利用boost的xpressive做正则
sregex rex = sregex::compile( &#34;&#60;td [^&#62;]*&#62;&#60;a href=\&#34;([^\&#34;]*/(\\d*).flv?[^\&#34;]*)\&#34;[^&#62;]*&#62;([^&#62;]*)&#60;/a&#62;&#60;/td&#62;&#34;);
&#160;
&#160; &#160; int&#160;const subs[] = { 1 ,2 ,3};
&#160; &#160; sregex_token_iterator&#160;cur( strBuffer.begin(), strBuffer.end(), rex, subs );
&#160; &#160; sregex_token_iterator&#160;end;
&#160;
&#160; &#160; for( ; cur != end; ++cur&#160;)
&#160; &#160; {
&#160; &#160; &#160; &#160; std::cout &#60;&#60; *cur &#60;&#60; endl;
&#160; &#160; &#160; &#160; //getchar();
&#160; &#160; }
subs 是获取的匹配
0为全匹配串
－1为未匹配串
1，2，3依次为子匹配串
boost库的xpressive确实强大，唯一的缺点就是模板的编译时间太长了，引入xpressive后，编译有3秒直接飙升到了1分钟多。就算添加了预编译头，还需要近20秒，不过实话说，预编译头还是有作用的
后来想想，编译代价太大了，改用python来写。。。。。
然后，悲剧又开始了
if __name__ [...]]]></description>
		<wfw:commentRss>http://cat.ourkernel.com/2010/01/%e6%89%b9%e9%87%8f%e8%8e%b7%e5%8f%96%e8%b1%86%e5%8d%95/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>【zT】设计Qt风格的C++API</title>
		<link>http://cat.ourkernel.com/2009/12/%e3%80%90zt%e3%80%91%e8%ae%be%e8%ae%a1qt%e9%a3%8e%e6%a0%bc%e7%9a%84capi/</link>
		<comments>http://cat.ourkernel.com/2009/12/%e3%80%90zt%e3%80%91%e8%ae%be%e8%ae%a1qt%e9%a3%8e%e6%a0%bc%e7%9a%84capi/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 13:42:59 +0000</pubDate>
		<dc:creator>cat</dc:creator>
				<category><![CDATA[Memo]]></category>
		<category><![CDATA[zT]]></category>

		<guid isPermaLink="false">http://cat.ourkernel.com/?p=405</guid>
		<description><![CDATA[ 
设计Qt风格的C++API
作者Matthias Ettrich，译者Googol Lee，原文地址在这里。

在奇趣（Trolltech），为了改进Qt的开发体验，我们做了大量的研究。这篇文章里，我打算分享一些我们的发现，以及一些我们在设计Qt4时用到的原则，并且展示如何把这些原则应用到你的代码里。


好的API的六个特性
便利陷阱
布尔参数陷阱
静态多态
命名的艺术
指针还是引用？
例子：QProgressBar
如何把API设计好


设计应用程序接口，API，是很难的。这是一门和设计语言同样难的艺术。这里可以选择太多的原则，甚至有很多原则和其他原则有矛盾。
现在，计算机科学教育把很大的力气放在算法和数据结构上，而很少关注设计语言和框架背后的原则。这让应用程序员完全没有准备去面对越来越重要的任务：创造可重用的组件。
在面向对象语言普及之前，可重用的通用代码大部分是由库提供者写的，而不是应用程序员。在Qt的世界里，这种状况有了明显的改善。在任何时候，用Qt编程 就是写新的组件。一个典型的Qt应用程序至少都会有几个在程序中反复使用的自定义组件。一般来说，同样的组件会成为其他应用程序的一部分。KDE，K桌面 环境，走得更远，用许多追加的库来扩展Qt，实现了数百个附加类。（一般来说，一个类就是一个可重用组件，原文这里没有写清楚。）
但是，一个好的，高效的C++ API是由什么组成的呢？是好还是坏，取决于很多因素——比如，手头的工作和特定的目标群体。好的API有很多特性，一些特性是大家都想要的，而另一些则是针对特定问题域的。

好的API的六个特性
API是面向程序员的，用来描述提供给最终用户的GUI是什么样子。API中的P带表程序员（Programmer），而不是程序（Program），用来强调API是给程序员用的，给人类的程序员用的。
我们坚信API应该是最小化且完整的，拥有清晰且简单的语义，直觉化，容易记忆，并且引导人写出易读的代码。

最小化：最小化的API是指一个类尽可能只拥有最少的公开成员且尽可能只拥有最少的类。这个原则可以让API更简单易懂，更好记，更容易除错，且更容易改变。
完整的：完整的API是指要提供所有期望的功能。这个可能与最小化原则相冲突。另外，如果一个成员函数属于一个不应该属于的类，很多潜在的使用者都会找不到这个函数。
拥有清晰且简单的语义：就像其他设计工作一样，你必须遵守最小惊奇原则（the principle of least surprise）。让常见的任务简单易行。不常见的工作可行，但不会让用户过分关注。解决特殊问题时，不要让解决方案没有必要的过度通用。（比如，Qt3中的QMimeSourceFactory可以通过调用QImageLoader来实现不同的API。）
直觉化：就 像电脑上的其他东西一样，API必须是直觉化的。不同的经验和背景会导致在判断什么是直觉而什么不是时不同的感觉。如果 一个中级用户不读文档就可以使用（a semi-experienced user gets away without reading the documentation，没懂这里的get away该怎么翻译），并且一个程序员不懂API就可以理解缩写的代码，这种API就是直觉化的。
易于记忆：让API易于记忆，使用统一且精确的命名方法。使用可识别的模式和概念，并且避免缩写。
引导易读的代码（Lead to readable code）：代码一经写就，会读（并且除错和修改）多次。易读的代码可能会花点时间来写，但是可以节省产品周期中的其他时间。

最后，记住，不同类型的用户会用到API的不同部分。虽然简单的实例化一个Qt类是非常直觉化的，让资深专家在试图子类化之前读一遍文档，是很合理的。


便利陷阱
这是个常见的误解：更好的API，用更少的代码完成一件事。永远记住代码一次写就，之后需要不断的阅读并理解。比如：
    QSlider *slider = new QSlider(12, 18, 3, 13, Qt::Vertical,
                   [...]]]></description>
		<wfw:commentRss>http://cat.ourkernel.com/2009/12/%e3%80%90zt%e3%80%91%e8%ae%be%e8%ae%a1qt%e9%a3%8e%e6%a0%bc%e7%9a%84capi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>【zT】谁见到过风？——《Braid的艺术：为不凡的游戏创造卓绝的艺术世界》</title>
		<link>http://cat.ourkernel.com/2009/12/%e3%80%90zt%e3%80%91%e8%b0%81%e8%a7%81%e5%88%b0%e8%bf%87%e9%a3%8e%ef%bc%9f%e2%80%94%e2%80%94%e3%80%8abraid%e7%9a%84%e8%89%ba%e6%9c%af%ef%bc%9a%e4%b8%ba%e4%b8%8d%e5%87%a1%e7%9a%84%e6%b8%b8%e6%88%8f/</link>
		<comments>http://cat.ourkernel.com/2009/12/%e3%80%90zt%e3%80%91%e8%b0%81%e8%a7%81%e5%88%b0%e8%bf%87%e9%a3%8e%ef%bc%9f%e2%80%94%e2%80%94%e3%80%8abraid%e7%9a%84%e8%89%ba%e6%9c%af%ef%bc%9a%e4%b8%ba%e4%b8%8d%e5%87%a1%e7%9a%84%e6%b8%b8%e6%88%8f/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 13:36:45 +0000</pubDate>
		<dc:creator>cat</dc:creator>
				<category><![CDATA[Memo]]></category>
		<category><![CDATA[zT]]></category>

		<guid isPermaLink="false">http://cat.ourkernel.com/?p=401</guid>
		<description><![CDATA[前不久，好朋友钟文将一篇谈Braid艺术风格的文章打印出来，给我看，我从那时起便多 方收集Braid的资料。直到最近，才在Xbox360上玩了它的试玩版，作者（Jonathan Blow对待这部作品的态度更像是一位作家，而不是游戏开发者）和画家David Hellman的完美配合更令我深深感动。也许不久后会有机会在PC或360上玩到这款出类拔萃的个人作品的完整版，不过，我迫不及待的要将这篇出自 David Hellman的文章介绍给你，希望你能喜欢这款作品。由于译者并不从事美术相关工作，有错漏之处，还请行家不吝指出。
Who has seen the wind?
Neither you nor I.
But when the trees bow down their heads,
The wind is passing by.
谁见到过风？
你没有，我也没有。
但当树儿低下头，
便是风儿经过的时候。

《Braid的艺术：为不凡的游戏创造卓绝的艺术世界》
作者：David Hellman
译者：陈灼
在我参与进来之前，Braid已经在GDC上露面过两次了。创造者Jonathan Blow在Experimental Gameplay Workshop和独立游戏节上展示了Braid的独特游戏性：基于时间操纵的2D横版解谜游戏，甚至还获得过最佳创意奖。除了还需要一些很微小的打磨之 外，这款个人风格突出的作品已经基本完成，从头到尾玩起来毫无问题。
不过，从视觉效果而言，Braid还显得十分粗糙。那些方块，梯子，钉刺，看起来是那样的“横版解谜过关游戏化”，形貌毫不掩饰其作用，他们的存在 目的就是在向玩家直接了当的传递：“我是某某游戏元素”，这样的信号。是的，从游戏的观念出发，Braid也许只需要简单的视觉效果就够了，但是它处处强 烈表现出一种信念，那就是它要利用游戏这一媒介传递某种思想。
散布在Braid各关卡开始前的散文般的文字段落，令作者的野心昭然若揭。这些文字片断之中，充满了对友情，悔恨，时间悖论的敏感与沉思。“世界 2”揭示了一种无限制的复现机制——面对所有的错误，你都可以令时间倒转，这意味着不再存在“错误”。显然，这儿映射的是恋人之间油然而生的那种相互间完 美的宽恕之情。
你似乎要匆匆下结论，说这一切听起来太堂皇了。不，并非如此。上述联系，从来都不显得牵强。当我享受这款，一方面向超级马里奥致敬，另一方面又是一个独树一帜，活泼利用其时间控制机制的平台游戏时，这些观念啦，映射啦，都是自然而然的在我脑海中浮现的。
2006年夏天，我以Visual Artist的身份加入到项目中来。我的挑战，不仅仅在于要清晰的展现出Braid世界的机制与行为，更重要的是要帮助作者完成他的叙事意图，随你怎么理 解，逸事也好，技巧也罢，或许还有哲学。总之，这篇文章的目的在于，向大家展示，我如何为一款几乎已经完成开发，特立独行的作品进行视觉效果设计的过程。 还有我所遇到的挑战，以及我们拉拉杂杂的一些想法和工具相关的话题。
不以尝试为耻
起初，Jonathan给我传了一幅游戏截图，让我在上面涂涂画画。

就是这张啦，以程序员的美术细胞之名，主赞美它。尽管视觉效果十分简陋，但是从功能角度来看，游戏风格已经相当老练。钥匙，开关，楼梯，钉刺，怪物，还有一个穿西服的家伙，全都有了。和最终的发售版本相比，这款游戏从外观上来看，发生了巨大的变化。

这是我的第一次尝试。我故意不去理会截图所框定的元素和调色板。看上去很像超任时代的耀西岛。背景有散射光样的风格，颜色从中央荡漾开去。在e-mail中，我用“飘逸”来形容这种气氛。

接下来的一张，风格大变样。相当诡异，背景充满了舞者的身影。Jonathan曾用“思索推测型世界”来描述Braid的设定，因此我试图体现出一种空间意义上的抽离感，不想把制作者的意图透露得那么直白。
为什么不看看前景呢，其中有些完全不同的想法，但却与主体更为合拍。（舞蹈家到底有什么关联？不说啦。）我们最终没有采用这个点子，而使用了其他更为巧妙和隐蔽的手法来为故事提供铺垫和陪衬。下面还会详述。

古代废墟版。(TM).

调色板是这幅图的精华所在，粉蓝，豆绿和浅橙，极为优美的混合在一起。我就喜欢这样，当这些弱势颜色相遇时，它们都指望对方来撑场面。
举例来说，粉蓝在这儿并不是真的蓝色，实际上是灰色和同样分量的绿色以及黄色的混合。不过对我而言，从整体上来看，它更像是蓝系颜色。在别的地方有更戏剧化的案例，比如这儿：Joseph Albers 。
经过这一番提炼后，对于怎样表现一个世界，我的新想法又来了。我给乔纳森写信。信中提到，可以创造出一种具有特殊背景的世界，这个背景将会利用视差容纳不同层次的图层。这样一来，当背景元素“飘落”到近处时候，远处的元素就会产生效果明显的景深。
很多游戏都运用过上述手法，但是对我而言，我想尽量避免由此带来的背景元素相互之间的割裂感。因而，我对所有物品的边缘都进行了模糊化处理，并且在边缘通过特别的绘图手法来进行过渡。我们最终采用了这种方法，游戏背景显得像流水一样交汇，但总是带有有一层模模糊糊的感觉。

啊，色调调节了。我们尝试过多种色调。这张图最引人瞩目的改变是那些叶子。我的想法是让那些叶子“飘落”到屏幕上，然后停留在那里，这会令人像是要仰起头来看背景。
还是那回事，这都是为了“思索推测型世界”，为了模糊空间感而作的努力。不过实际情况却表现得有点太过了，“向你的脸上飘了过来”。
当我把这张概念发给乔纳森后，他对下面中间“挖”出来的那一块大矩形咬牙切齿。这种几何学上的诱惑，显然会让玩家在一款解谜游戏中产生疑惑，他们下意识里会认为所有特别的事物都有存在理由。
如果某些纯粹出于美学意义考虑放置到游戏中的元素和物品，在解谜游戏中让玩家对着它想破了脑瓜子，这无疑是很失败的设计。随着我们进一步开发，我越来越注意到这一点，我明白，千万不能让玩家感到迷惑，让他们分散注意力。

现在我们一下子跳到了未来，同样的场景，看我们的多次原型设计和最终游戏风格差别有多大！万岁！
“等一等，Hellman，”你没准会想。“你刚刚还在说，你要尽力避免那些纯美学上的事物和元素。但是现在我却看到了你在里面画了一百万棵植物和海藻！这是不是所谓的‘智识上的不诚实’？嗯？”实际上一点也不是。
好玩的地方就在这里，大量的大量的海藻画在这儿，堆在那儿，目的就是为了让玩家一眼扫过去就会产生“一大堆海藻啊”，这样的印象。他们不会再浪费精 力和头脑来思考这堆海藻到底会对过关和解谜起到什么作用。我觉得，为了体现上述概念，这款作品的表现形式相当优雅，这样，你就能集中精力，从你要寻找的事 物上学习到所需的东西。当然，以自己的角度出发，我宁愿从另外的切入点来看待这个问题。
世界2先行
经过这些不同方向的概念图创意之后，到了该进行实际工作的阶段了。我们得花时间抽出一些能实际放到游戏中的组件，看看在游戏中的表现效果如何。乔纳森已经专门为引擎写了一个地图编辑器，它很强大，无论尺寸怎么样，形状如何奇怪的组件，都能拼进去。
他让我挑一张已经完成的概念图。然后把它打碎，打碎到这样一种程度：利用那些碎片可以将游戏中的第一个世界完整的拼合起来。（世界2是玩家在游戏中遇到的第一个世界，因为某种含蓄的原因，没有一开始就告诉他们理由）
我在这儿撰写幕后故事，有时候会给人造成一种错误的印象，人们会把事情想象得更加简单和绝对。就像那些展示进化论的肤浅插图：鱼儿跃出海面，变化成黑猩猩，在变成直立智人，直到最后变成Groucho Marx（美国喜剧演员）的形象。
如果你把那些在千百万年的进化过程中，被残酷淘汰掉的物种统统忽略不计的话，看起来是挺简单的。你在本文中看到的每一张图片的背后都有至少半打的后备，我之所以不能把他们都拿过来，是为了不让文字被图片彻底淹没。但是，这丝毫不能减弱那些未见天日的图片的重要性。

无疑，整个制作过程中，也包含了某些更顺畅的阶段。你看这幅概念图，绿色在整体上得到压倒性的充分应用。假定我在创作这幅概念图的时候，心里憋闷得 很，这样可能保险些。岩石构成的石壁犬牙交错，乍一看像某种两栖动物的皮肤，再一看又像是破碎的绿玻璃。现在到了要做出决定的时候了，在我所有的尝试中， 到底哪一份最令我满意呢？我继续在探索。
最终，我坐到了更早期的概念图面前：

在下面这幅图中，我对豆绿和粉蓝进行更细节化，更自然的处理。草地现在看起来就更柔软，也更“草”，石头看起来也更加棱角分明。背景是进行抽象后的图案，教堂和房屋的白色轮廓风格特别，线条感十足。

我长吁了一口气，这样看上去好多了。不过乔纳森告诉我，气氛不对头，和世界2不符。颜色很鲜活，但是不自然，有点过了。世界2是整个冒险的开始阶段，充满乐观精神。在这一大关里，游戏还得向玩家介绍基本的要素呢，包括怎么跳，怎么攀爬。
最重要的是，这儿的时间特技是“倒放”，不附带任何惩罚的，让玩家在任何时候都可以让时间倒流。这是一个非常强调宽恕的世界。艺术风格必须表现出这种宽恕和进取。

这样，就带来了接下来这幅，看她，拥有更“朴素”的颜色：褐色的岩石，蓝蓝的天空。这幅图的大问题在于扰人心绪的背景。我想要在图中增加更多的“视觉亮点”，于是才会有背景中的天然拱门，以及左侧那片渐渐升高的草原。这样一来，三维世界的维度感变得含糊了。
随着我越来越深入到整个项目中，同时也越来越欣赏这款作品，再加上乔纳森的进一步阐释。我开始意识到，增加与游戏性截然相反的视觉亮点，是毫无意义的。需要增强的部分，必然是对游戏性起到支撑作用的。
举例来说，当玩家走到悬崖边缘时，他看到一座梯子从天而降，问题在于，这是悬崖和梯子的双重概念。在上面这张概念图中，背景的右侧将悬崖部分延伸出去了。这就干扰了悬崖概念，给玩家带来的直接印象。
同理，亮黄色的树木也太过于夺人注目了，虽然他并未和任何实质的游戏性相关联。

与此同时，我仍旧继续探索适合的表现方式，来应用在岩石和草地上。上面这幅图中，我分别用了各种不同的风格来展现岩石和草地的风貌。一步步的，我开 始敲定下来某些成分，并且将这些概念性的图片打成碎片。这些碎片必须可以导入到乔纳森的开发工具中去，随意排列组合，复制粘贴。下面会详述这一点。

这幅图中包含了早期的一些碎片，它们要么就是太大了，要么就是形状太特别了。无法满足开发工具对于灵活性的强烈要求。最后还是保留了这些碎片，不过只能在世界2第一幕的某些特别地点，无法在整个游戏中加以应用。

一些石崖和石头。

总是石头和草地，看久了未免让人生厌，我画了些花儿。（顺便说一句，从现在开始，原型阶段的主人公造型，将被Edmund McMillen的设计所替代。当然，最终这两个设计都会在发售版游戏中被另一个设计取代。）

增加一个让玩家进出的门。还有一个梯子，当然，最后我们没有在所有地方加以应用。

一棵树。看起来很像瑞士军刀啊，没错，我就是从中汲取了灵感，画成了这样一棵树。所有的枝丫都是可以移走的碎片，也就是说，可以组成各种不同形状的树。结果呢，根本就没有怎么用到它们！这棵树还是保留了下来，在游戏中，不过没有任何枝条了。

通过这张大图，你会看到，这些碎片最终是如何拼成了一整张地图的。不过，这里看到的仍然是Photoshop下面的mockup（模型）。青草，岩 石和花儿都处在前景的图层中。我另外在背景图层绘制远景。利用PS来制作mockup非常重要，因为只有这样我才能确保所有的组建都能够相互完美融合，就 像是一幅绘画所需要的不同元素。
尽管背景部分的概念设计起步更早，但对于早期的研究方向，我根本不能满意。它们太过卡通化，不够含蓄，线条分明。
自始至终，我都希望能够创造出某种具有抽象感的，特别的画风，要含蓄，不能太过直白的定义一处风景。如果你正在创作的作品，他的深度含义，是确定与 模糊的综合体，你就很难运用不含蓄的手法。特别是在游戏中，你实际上是要赋予各种分离的对象，以明确的功能。总之，我希望她们之间能融会得更加完美。
我当时主要在考虑的就是前景和背景之间的关联问题，以及如何对他们进行显著的区分化。也许前景可以通过更高的渲染度，更强的细节，来和背景拉开距离？
还有，背景的物体可以做的粗糙些，例如有含混不清的边缘。换句话说，越是和游戏性相关联的物件，就越会容纳高度的细节设计。
与游戏性关联较弱的物体，将会融入到周遭的气氛中去，参与美学意义上的构建，但是绝不会干扰玩家对他身边具体的物理环境的观感。

这幅图片令我相信，我的方向是正确的。在背景中，来自天空的蓝色与来自树叶的绿色相融，树叶的绿色反过来又和天空的颜色交融。在门的上方，一棵树被蓝色的烟雾缭绕所笼罩，这阵烟雾，同时也向右散开……
既要保证即兴风格，又要留下特别的自然笔触，我如何才能将这幅绘画打碎成种种可以复用的组件呢？将整幅画铺开来作为地图的平实背景，尺寸还显得过小。我心目中的背景应当有纵深感，有显著的远近视差效果，远处的物件将会比近处的移动起来更慢。
如果构图元素的边缘通常既不规则，也不明确，我怎么样才能决定哪儿是头，哪儿是尾呢？将手头的各种分离的图案和造型加以组合，创造出具有内在聚合效应，富有视觉冲击力的印象派感觉的绘画背景，对我来说是一个极大的挑战，我接受了这个挑战，并且应战到了项目的最后时刻。

这是在Photoshop中进行编辑的天空碎片。我对边缘用橡皮擦工具进行了羽化处理，因而，即便在相互重叠的情况下，它们之间仍可以保持一种连绵不绝的形态。

树木

所有背景元素都已经为世界2准备好了……
开发者模式
下面让我们看看，那些石头和草皮的碎片如何组合成可玩的关卡。本章将向大家展示乔纳森开发的编辑工具，我用这个工具来搭建Braid的游戏场景。这是实际游戏的一个后台，好像工地，充满了脚手架和其他器械。（声明：按钮上的字太大，因为我们把字体修改后，再也没去管了。）

这是游戏中，玩家在离开家之后，一开始来到的世界2的第一个场景。一张截图完全不能说明问题，你必须要到游戏中去，才能感受到这个场景的动态效 果。（陈灼译注：在实际游戏中，这个场景美丽的让人心碎，草地上光影流转，空气中雾霭蒙蒙，天上云影变换，太阳光芒萦绕，凡高的《星空》精神在这里有了活 的形态。）

按下一个秘密按钮，哗，我们来到了开发者模式！Tim（主人公）消失了，各种各样的控制面板出现了，那些开发者才需要看到的组件也现形了。现在我们可以隐藏掉各种不同的元素，那么，就让我们一块一块来解释吧。

前景：现在我们只打开前景部分，这儿是Tim跑来跳去的场所。注意到了吗？草地和石块不再斑斓，阴影也不再显得那么自然。为什么呢？因为所有的粒子效果都关闭了。

粒子效果： 现在我们来打开粒子效果模式。在开发者状态下，每一个粒子物件都有一个很大“点和箭头”标志，在正常情况下，玩家是看不见的。对于不太了解粒子发射器是什么的人来说，我解释一下，粒子物件实际上就是将一张或者多张系列图片的组和。
举例来说，有些关卡设定在秋天的森林中，背景是落叶纷飞的景色。我手绘了一批叶子，然后将它们导入进粒子物件。粒子物件会由此创造出成千上百的叶 子，每一个都会旋转和飘零。你可以通过调整各种各样的参数，来决定最终发射粒子的动态效果。基本上来说，在Braid中你看到的风景中，所有能动的东西， 只要不是特别的物件例如角色，都要拜各种不同的粒子效果所赐。
在上图的下方，你可以发现，这些粒子效果是如何应用到草地上的，他们带来了草地上流转的光华。地表由许许多多单独的草叶构成，往下一点，则是绒毛样 的，锯齿状的，波浪形的粒子效果构成。当所有东西都组合到一起来之后，他们并不会显得太过于夺目，而是会和草地很好的融和在一起，使整体效果看上去更加醒 目和活泼。当然，这也是意图所在。

背景： [...]]]></description>
		<wfw:commentRss>http://cat.ourkernel.com/2009/12/%e3%80%90zt%e3%80%91%e8%b0%81%e8%a7%81%e5%88%b0%e8%bf%87%e9%a3%8e%ef%bc%9f%e2%80%94%e2%80%94%e3%80%8abraid%e7%9a%84%e8%89%ba%e6%9c%af%ef%bc%9a%e4%b8%ba%e4%b8%8d%e5%87%a1%e7%9a%84%e6%b8%b8%e6%88%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
