﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-bman's it blog-随笔分类-笔记</title><link>http://www.cnitblog.com/bman/category/6815.html</link><description>Do our coding</description><language>zh-cn</language><lastBuildDate>Tue, 27 Sep 2011 07:36:11 GMT</lastBuildDate><pubDate>Tue, 27 Sep 2011 07:36:11 GMT</pubDate><ttl>60</ttl><item><title>一个毕业设计和另一个毕业设计</title><link>http://www.cnitblog.com/bman/archive/2008/05/11/43600.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Sun, 11 May 2008 07:31:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/05/11/43600.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/43600.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/05/11/43600.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/43600.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/43600.html</trackback:ping><description><![CDATA[<p>帮同学制作的一个AJAX风格的购物车WEB演示,(关键字PHP JQUERY SQLITE) <a href="http://www.cnitblog.com/Files/bman/DoWebShopping.rar">/Files/bman/DoWebShopping.rar</a><br>同学制作的一个微型HTTP服务器实作 (关键字 C# HTTP)&nbsp;&nbsp; <span><a href="http://code.google.com/p/weiwei/">http://code.google.com/p/weiwei/</a></span></p>
<img src ="http://www.cnitblog.com/bman/aggbug/43600.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-05-11 15:31 <a href="http://www.cnitblog.com/bman/archive/2008/05/11/43600.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>.Net应用程序配置文件中自定义节的应用域问题</title><link>http://www.cnitblog.com/bman/archive/2008/03/28/41627.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Fri, 28 Mar 2008 09:34:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/03/28/41627.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/41627.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/03/28/41627.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/41627.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/41627.html</trackback:ping><description><![CDATA[<p>配置文件段:<br>&nbsp;&nbsp;&nbsp; &lt;section name="Httpd.RouterDict"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type="wwHttpd.RouterDictSection, wwHttpdTest.dll, Version=1.0.0.0, PublicKeyToken=Null"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allowExeDefinition="MachineToApplication" /&gt;<br><br>出错代码段<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; routerDict = ((RouterDictSection)cfg.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GetSection(routerDictKey)).ChildElements;<br><br>(异常是不能把 RouterDictElementCollection转换为 RouterDictElementCollection,&nbsp;&nbsp;&nbsp; ChildElements返回RouterDictElementCollection, routerDict是RouterDictElementCollection引用)<br><br>问题解决记录:<br><br>这册的问题可能是这个方面的问题引起的,我通过调试检测到了程序在运行时调用了2次相同名字的程序DLL文件, 可能是由于我用xunit进行测试的缘故,在读配置文件中的自定义节的时候程序加载了临时文件中的我测试的DLL的副本(不知道为什么为生成这个副本的,.NET自动生成的)所以造成了虽然2个类的名字和命名空间相同,但其实是两个DLL中同名的类,所以不能转换,目前要想办法解决这个加载路径和程序集部署问题 <br><br>又想到了一点,就是由于我把TEST的DLL和XUNIT的UI程序方置在两个不同的目录中,因为读取配置文件中的节的时候如果遇到自定义节的时候会读取相应自定义类,由于UI是EXE,我测试的只是一个DLL,配置文件跟着EXE走,所以.NET加载规则先搜索EXE目录下面有没有相关DLL,没有就去其他PATH里找,所以就在读取配置文件的时候找到了副本DLL,而我类型转换的代码执行是在测试DLL中,所以就造成了这个类型的歧意 <br><br>问题解决了，我查看了xunit的源代码，发现xunit在读取要测试的DLL的时候会先创建一个appdomain（应用域）这样在测试DLL中的所有TYPE都在这个域的assembly中了，而在读配置文件的时候是通过currentAppdomain（程序当前域）读取的，这样从配置文件生成的对象和DLL中的程序的类型转换属于不同的TYPE了，现在就是如果要测试这种情况的代码用XUNIT好象有些问题，不知道有没有其他的解决方法 <br>&nbsp; </p>
<img src ="http://www.cnitblog.com/bman/aggbug/41627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-03-28 17:34 <a href="http://www.cnitblog.com/bman/archive/2008/03/28/41627.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>这几天在开发一个自适应统一回收内存池分配器</title><link>http://www.cnitblog.com/bman/archive/2008/03/22/41329.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Fri, 21 Mar 2008 19:20:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/03/22/41329.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/41329.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/03/22/41329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/41329.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/41329.html</trackback:ping><description><![CDATA[PupAllocator<br><br>一个用C++写的自适应的统一内存回收的内存池分配器.<br>小巧,方便,性能测试在我的环境中debug模式下比普通malloc, free快30%左右,但在release模式下速度提升比较小在5%左右.<br>目前需要进一步测试是否有内存泄露,更多的实践使用和对于参数设置对内存的使用量影响比较大.<br>开发工具是VS2008<br>代码打包(0.3<strong>beta):</strong> <a href="http://www.cnitblog.com/Files/bman/AllocatorSY.rar">/Files/bman/AllocatorSY.rar</a><br>概念图:<br><img height=512 alt="" src="http://www.cnitblog.com/images/cnitblog_com/bman/PupAllocator.JPG" width=518 border=0><br><br>参考资料:<br><a href="http://cpp.winxgui.com/cn:autofreealloc">http://cpp.winxgui.com/cn:autofreealloc</a><br>
<img src ="http://www.cnitblog.com/bman/aggbug/41329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-03-22 03:20 <a href="http://www.cnitblog.com/bman/archive/2008/03/22/41329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>近日一个项目的简略概念图</title><link>http://www.cnitblog.com/bman/archive/2008/03/17/41060.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Mon, 17 Mar 2008 15:35:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/03/17/41060.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/41060.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/03/17/41060.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/41060.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/41060.html</trackback:ping><description><![CDATA[<img height=513 alt="" src="http://www.cnitblog.com/images/cnitblog_com/bman/YLStudentDemo1.JPG" width=613 border=0> 
<img src ="http://www.cnitblog.com/bman/aggbug/41060.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-03-17 23:35 <a href="http://www.cnitblog.com/bman/archive/2008/03/17/41060.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对于权限树的设想</title><link>http://www.cnitblog.com/bman/archive/2008/03/04/40487.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Tue, 04 Mar 2008 15:34:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/03/04/40487.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/40487.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/03/04/40487.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/40487.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/40487.html</trackback:ping><description><![CDATA[关于权限系统的设计,我想到了一个类似树结构的权限设计方法<br>先排列出所有的权限列表,如:<br>S:&nbsp;查询 A: 添加 U: 更新 D: 删除<br><br>对于权限树,每个结点表示一个权限组标识,每个叶表示一个权限<br>建立权限树,先从根结点开始,根结点代表最高权限组,继承父结点的子结点有2个属性,一个撤消的权限,一个是增加的权限,子结点先继承所有父结点的权限,再删除撤消属性中的权限,添加增加属性中的权限,就成了该权限组所具有的权限.<br><br>对于权限树所具有的操作是,添加子权限组,更改权限组属性,删除权限组(相关子结点一同删除,所以建议别做删除,在需要新的权限组的时候添加), 移动结点, 复制结点, 优化树(通过树遍历把重复,多余等结点屏蔽),提升用户权限(一个用户最高只能把另一用户提升到与自己相同的权限组),降低用户权限.<br><br>权限树列举:<br><img height=606 alt="" src="http://www.cnitblog.com/images/cnitblog_com/bman/jurisdiction_tree.JPG" width=799 border=0>
<img src ="http://www.cnitblog.com/bman/aggbug/40487.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-03-04 23:34 <a href="http://www.cnitblog.com/bman/archive/2008/03/04/40487.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个免费的WPF的DATAGRID控件</title><link>http://www.cnitblog.com/bman/archive/2008/02/25/40106.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Mon, 25 Feb 2008 03:22:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/02/25/40106.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/40106.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/02/25/40106.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/40106.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/40106.html</trackback:ping><description><![CDATA[<a href="http://xceed.com/Grid_WPF_New.html">http://xceed.com/Grid_WPF_New.html</a>
<img src ="http://www.cnitblog.com/bman/aggbug/40106.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-02-25 11:22 <a href="http://www.cnitblog.com/bman/archive/2008/02/25/40106.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自己实现了遍MD5信息摘要算法</title><link>http://www.cnitblog.com/bman/archive/2008/02/23/40071.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Sat, 23 Feb 2008 13:10:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/02/23/40071.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/40071.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/02/23/40071.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/40071.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/40071.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 主要代码:typedef&nbsp;unsigned&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;byte;typedef&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int32;typedef&nbsp;unsigned&nbsp;...&nbsp;&nbsp;<a href='http://www.cnitblog.com/bman/archive/2008/02/23/40071.html'>阅读全文</a><img src ="http://www.cnitblog.com/bman/aggbug/40071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-02-23 21:10 <a href="http://www.cnitblog.com/bman/archive/2008/02/23/40071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>位级操作小记</title><link>http://www.cnitblog.com/bman/archive/2008/02/22/40045.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Fri, 22 Feb 2008 10:14:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/02/22/40045.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/40045.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/02/22/40045.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/40045.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/40045.html</trackback:ping><description><![CDATA[<p>11100 &lt;&lt; 2 == 28 * 2 * 2<br>11100 &gt;&gt; 2 == 28 / 2 / 2<br>bit to byte == bit &gt;&gt; 3<br>x mod 64 == x &amp; 0x3F <br><br>从本机字次序转换成小端<br>unsigned int i, j;<br>for (i = 0, j = 0; j &lt; len; i++, j += 4) {<br>&nbsp;output[j] = (byte)(input[i] &amp; 0xff);<br>&nbsp;output[j+1] = (byte)((input[i] &gt;&gt; 8) &amp; 0xff);<br>&nbsp;output[j+2] = (byte)((input[i] &gt;&gt; 16) &amp; 0xff);<br>&nbsp;output[j+3] = (byte)((input[i] &gt;&gt; 24) &amp; 0xff);<br>}</p>
<p>从小端转换成本机字次序<br>unsigned int i, j;<br>for (i = 0, j = 0; j &lt; len; i++, j += 4)<br>&nbsp;output[i] = ((uint32)input[j]) | (((uint32)input[j+1]) &lt;&lt; 8) |<br>&nbsp;&nbsp;(((uint32)input[j+2]) &lt;&lt; 16) | (((uint32)input[j+3]) &lt;&lt; 24);</p>
<img src ="http://www.cnitblog.com/bman/aggbug/40045.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-02-22 18:14 <a href="http://www.cnitblog.com/bman/archive/2008/02/22/40045.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自己写的一个简单的MD2文件渲染DEMO</title><link>http://www.cnitblog.com/bman/archive/2008/02/19/39901.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Mon, 18 Feb 2008 18:06:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/02/19/39901.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/39901.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/02/19/39901.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/39901.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/39901.html</trackback:ping><description><![CDATA[使用 VS2005SP1 + DX9SDK 开发<br><br>还没有实现纹理,关键帧插值动画和GLCOMMAND绘制方法<br><br>代码下载地址:<a title="md2 demo version 1" href="http://www.cnitblog.com/Files/bman/md2_demo_v1.rar"><br>md2 demo version 1</a>
<img src ="http://www.cnitblog.com/bman/aggbug/39901.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-02-19 02:06 <a href="http://www.cnitblog.com/bman/archive/2008/02/19/39901.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自己构想的一个3D文件格式</title><link>http://www.cnitblog.com/bman/archive/2008/02/16/39810.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Fri, 15 Feb 2008 16:31:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/02/16/39810.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/39810.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/02/16/39810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/39810.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/39810.html</trackback:ping><description><![CDATA[<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#&nbsp;文件头&nbsp;</span><span style="COLOR: #000000">2008</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">15</span><span style="COLOR: #000000">&nbsp;by&nbsp;b<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>header&nbsp;{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;FileType:MDL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;文件类型<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Version:</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;版本号<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;NumAction:</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;动作数量<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;TextureW:</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;纹理宽度<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;TextureH:</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;纹理高度<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;TextureName:box.bmp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;纹理文件名<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>#&nbsp;动作1<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>Action&nbsp;{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ActionName:Action1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;动作名<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;NumVertex:</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;每帧顶点数量<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;NumFrame:</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;帧数<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>#&nbsp;动作1的顶点数据<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>ActionData&nbsp;{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Frame1<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;FrameTime:</span><span style="COLOR: #000000">3.0</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;此帧时长<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Vertex:-</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;顶点坐标<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;TexCoord:</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;纹理坐标<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Vertex:</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;顶点坐标<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;TexCoord:</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;纹理坐标<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Vertex:</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;顶点坐标<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;TexCoord:</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;纹理坐标<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Vertex:-</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;顶点坐标<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;TexCoord:</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1.0</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;纹理坐标<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Frame2<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;#<img src="http://www.cnitblog.com/Images/dot.gif"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Frame3<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;FrameTime:</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;最后一帧设置时长无意义<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;#<img src="http://www.cnitblog.com/Images/dot.gif"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>#&nbsp;动作2<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>Action&nbsp;{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;结构同动作1<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;#<img src="http://www.cnitblog.com/Images/dot.gif"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>#&nbsp;动作2的顶点数据<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>ActionData&nbsp;{<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;结构同动作1的顶点数据<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;#<img src="http://www.cnitblog.com/Images/dot.gif"><br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>#&nbsp;文件结束</span></div>
<br>这个是比较简单的3D格式，只使用简单的纹理和顶点数据组成，用关键帧技术来实现动画。<br>在2帧之间用插值运算求出中间位置，每2帧间的过度时间用第1帧的时长表示，所以最后一帧的时长不会使用。 
<img src ="http://www.cnitblog.com/bman/aggbug/39810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-02-16 00:31 <a href="http://www.cnitblog.com/bman/archive/2008/02/16/39810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>写了一个对RO游戏中spr文件读取的小程序</title><link>http://www.cnitblog.com/bman/archive/2008/02/14/39748.html</link><dc:creator>bman</dc:creator><author>bman</author><pubDate>Thu, 14 Feb 2008 13:10:00 GMT</pubDate><guid>http://www.cnitblog.com/bman/archive/2008/02/14/39748.html</guid><wfw:comment>http://www.cnitblog.com/bman/comments/39748.html</wfw:comment><comments>http://www.cnitblog.com/bman/archive/2008/02/14/39748.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/bman/comments/commentRss/39748.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/bman/services/trackbacks/39748.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: //&nbsp;spr&nbsp;format&nbsp;analysis&nbsp;demo//&nbsp;2008-2-14&nbsp;by&nbsp;b#include&nbsp;&lt;stdio.h&gt;#include&nbsp;&lt;windows.h&gt;#define&nbsp;SIMPLEtypedef&nbsp;unsigned&nbsp;char&nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.cnitblog.com/bman/archive/2008/02/14/39748.html'>阅读全文</a><img src ="http://www.cnitblog.com/bman/aggbug/39748.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/bman/" target="_blank">bman</a> 2008-02-14 21:10 <a href="http://www.cnitblog.com/bman/archive/2008/02/14/39748.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>