﻿<?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博客-牛牛猪－研究所-随笔分类-Flex / AS3</title><link>http://www.cnitblog.com/cmoron/category/7310.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 26 Sep 2011 14:44:03 GMT</lastBuildDate><pubDate>Mon, 26 Sep 2011 14:44:03 GMT</pubDate><ttl>60</ttl><item><title>3D Lighting!</title><link>http://www.cnitblog.com/cmoron/archive/2008/09/05/48733.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Thu, 04 Sep 2008 16:15:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/09/05/48733.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/48733.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/09/05/48733.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/48733.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/48733.html</trackback:ping><description><![CDATA[摘要: <br><img src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/lt1.jpg"><br><br>模拟了一个电光效果，同样使用了上回文章提及到的DisplacementMapFilter类，并且解决了消耗过大的问题。原因是提供给DisplacementMapFilter的源图像太大，导致在处理的时候消耗了大量CPU。假如能够获得3D对象每一帧所的矩形区域，只对这个区域进行处理就能大大减少消耗了。如何才能获得3D对象的区域？我们知道每个3D对象都保存了所有顶点坐标，每个顶点坐标是一个Vertex3D类，这个Vertex3D类里面有一个顶点实例属性，他是vertex3DInstance类型，这是投影到屏幕的最终坐标。OK，就拿这些坐标来求区域吧。<br><br>Preview:<a href="http://niuniuzhu.cn/p/Lighting" target=_blank>http://niuniuzhu.cn/p/Lighting</a><br>&nbsp;&nbsp;<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/09/05/1284766.html">阅读全文</a><img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1284766.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/42091/" target=_blank>[新闻]淘宝将与阿里妈妈合并 大淘宝战略启动</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/09/05/1284766.html">http://www.cnblogs.com/niuniuzhu/archive/2008/09/05/1284766.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/48733.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-09-05 00:15 <a href="http://www.cnitblog.com/cmoron/archive/2008/09/05/48733.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PerlinNoiseEffect for PV3D</title><link>http://www.cnitblog.com/cmoron/archive/2008/08/31/48734.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Sun, 31 Aug 2008 08:04:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/08/31/48734.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/48734.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/08/31/48734.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/48734.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/48734.html</trackback:ping><description><![CDATA[<p><img height=255 alt="" src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/ef.jpg" width=230 border=0></p>
<p>&nbsp;</p>
<p>写了个PerlinNoiseEffect类，但效率很差，对于较大的bitmapData运行起来会比较累。</p>
<p>&nbsp;</p>
<p>Code:</p>
<div class=cnblogs_code><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="COLOR: #000000">scene.addChild(dae);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;bfx:BitmapEffectLayer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BitmapEffectLayer(viewport,&nbsp;viewportWidth,&nbsp;viewportHeight,&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;BitmapClearMode.CLEAR_PRE,&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewport.containerSprite.addLayer(bfx);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bfx.addDisplayObject3D(dae,&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bfx.blendMode&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;BlendMode.ADD;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;perlinNoise_bmd:BitmapData&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BitmapData(bfx.width,&nbsp;bfx.height);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bfx.addEffect(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;PerlinNoiseEffect(perlinNoise_bmd,&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;DisplacementMapFilter(perlinNoise_bmd,&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Point(),&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">,&nbsp;DisplacementMapFilterMode.COLOR),&nbsp;</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">15</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bfx.addEffect(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BitmapColorEffect(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,&nbsp;.</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">,&nbsp;.</span><span style="COLOR: #000000">85</span><span style="COLOR: #000000">,&nbsp;.</span><span style="COLOR: #000000">95</span><span style="COLOR: #000000">));</span></div>
<p>&nbsp;</p>
<p>Download:<a title=PerlinNoiseEffect.as href="http://files.cnblogs.com/niuniuzhu/as3/PerlinNoiseEffect.rar">PerlinNoiseEffect.as</a></p>
<p>Preview:<a href="http://niuniuzhu.cn/p/PerlinNoise/" target=_blank>http://niuniuzhu.cn/p/PerlinNoise/</a></p>
<img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1280639.html?type=1" width=1><br><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/31/1280639.html">http://www.cnblogs.com/niuniuzhu/archive/2008/08/31/1280639.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/48734.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-08-31 16:04 <a href="http://www.cnitblog.com/cmoron/archive/2008/08/31/48734.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Lines3D类一个让我困惑的问题</title><link>http://www.cnitblog.com/cmoron/archive/2008/08/28/48735.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Thu, 28 Aug 2008 04:32:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/08/28/48735.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/48735.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/08/28/48735.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/48735.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/48735.html</trackback:ping><description><![CDATA[摘要: 在我做的其中一个关于Lines3D实验时候碰到需要动态改变line的始末座标的问题。看了一下lines3D类，渲染方式也是采用仿射变换实现。在实例化lines3D时，提供了几个参数，其中包括有始末顶点座标v0和v1（Vertex3D类）。猜想如果能改变这两个座标，是否能实现线条的跳动效果？但答案竟然是否定。我使用如下代码：&nbsp;&nbsp;<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/28/1278531.html">阅读全文</a><img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1278531.html?type=1" width=1><br><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/28/1278531.html">http://www.cnblogs.com/niuniuzhu/archive/2008/08/28/1278531.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/48735.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-08-28 12:32 <a href="http://www.cnitblog.com/cmoron/archive/2008/08/28/48735.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3D粒子的排列和分散</title><link>http://www.cnitblog.com/cmoron/archive/2008/08/25/48447.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Mon, 25 Aug 2008 02:56:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/08/25/48447.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/48447.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/08/25/48447.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/48447.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/48447.html</trackback:ping><description><![CDATA[摘要: <br><img height=227 alt="" src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/pr.jpg" width=360 border=0><br><br>Preview:<a href="http://niuniuzhu.cn/p/PixelsRank" target=_blank>http://niuniuzhu.cn/p/PixelsRank</a><br><br>由于粒子拥有初速度vx0,vy0,vz0，其中vx0,vz0我们不用改变，它们是粒子能够分散到四周的重要条件。看看vy0，初速度我为0，假设粒子和地板之间的距离为d，有这样一个公式vy -= dy * p.weight * .004，当距离越远，加速度就越大，这个不难理解。当粒子和地板发生碰撞，也就是d=0的时候，vy改变方向：vy *= -1。并且vx,vy,vz都会损失速度vx *= _damp，vy *= _damp;，vz *= _damp;。直到vx=vy=vz=0，粒子停止运动。当所有粒子停止运&nbsp;&nbsp;<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/25/1275578.html">阅读全文</a><img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1275578.html?type=1" width=1><br><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/25/1275578.html">http://www.cnblogs.com/niuniuzhu/archive/2008/08/25/1275578.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/48447.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-08-25 10:56 <a href="http://www.cnitblog.com/cmoron/archive/2008/08/25/48447.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Pixel3D Spring - 3D粒子爆炸</title><link>http://www.cnitblog.com/cmoron/archive/2008/08/21/48197.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Wed, 20 Aug 2008 17:47:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/08/21/48197.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/48197.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/08/21/48197.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/48197.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/48197.html</trackback:ping><description><![CDATA[摘要: <br>Preview:<a href="http://niuniuzhu.cn/p/PixelSprings/" target=_blank>http://niuniuzhu.cn/p/PixelSprings/</a><br><br>做这个demo花了比较长时间，第一，曾经让我思考了很久的三维球体碰撞反弹算法。十分幸运，我在搜索相关资料的时候，找到一个二维球体碰撞反弹的例子。该例子图文并茂，很好的分析了各种碰撞的情况，并介绍了算法。<br><br>如何发散到三维空间里应用呢？突然想起能量守恒定律，似乎粒子在一个理想空间（没有外力作用，没有能量损失）下运动，那么他具有初速度vx0,vy0,vz0，合速度为v0 = vx0^2 + vy0^2 + vz0^2 。<br><img height=306 alt="" src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/ps.jpg" width=332><br>&nbsp;&nbsp;<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/21/1272671.html">阅读全文</a><img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1272671.html?type=1" width=1><br><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/21/1272671.html">http://www.cnblogs.com/niuniuzhu/archive/2008/08/21/1272671.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/48197.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-08-21 01:47 <a href="http://www.cnitblog.com/cmoron/archive/2008/08/21/48197.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]Mapping Textures in 3DS Max using Photoshop</title><link>http://www.cnitblog.com/cmoron/archive/2008/08/18/48198.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Mon, 18 Aug 2008 15:52:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/08/18/48198.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/48198.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/08/18/48198.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/48198.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/48198.html</trackback:ping><description><![CDATA[<p>一个外国学生写的教程。</p>
<p>&nbsp;</p>
<p><embed src=http://www.youtube.com/v/MUelHqYpWFI&amp;hl=en&amp;fs=1 width=425 height=344 type=application/x-shockwave-flash allowfullscreen="true"></p>
<p>&nbsp;</p>
<p>帖子原文： </p>
<p>&nbsp;</p>
<p>One of my students (Alex Green) put together this example on mapping textures in 3DS Max using Photoshop. We are working on a site for Duke Energy and have been building washers and dryers all week. <br><br>The big joke around here is that we teach them to build jet planes (for fun) and next washers and dryers - that's reality! <br><br>Alex is a graphics design student and Flex Guru, and he is graduating in December! <br><br>Enjoy the video</p>
</embed><img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1270702.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/41801/" target=_blank>[新闻]《星际争霸2》新图</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/18/1270702.html">http://www.cnblogs.com/niuniuzhu/archive/2008/08/18/1270702.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/48198.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-08-18 23:52 <a href="http://www.cnitblog.com/cmoron/archive/2008/08/18/48198.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]Awesome!Motion Pixels in PV3D!</title><link>http://www.cnitblog.com/cmoron/archive/2008/08/14/48134.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Wed, 13 Aug 2008 18:13:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/08/14/48134.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/48134.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/08/14/48134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/48134.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/48134.html</trackback:ping><description><![CDATA[摘要: 一个基于PV3D的粒子效果。该实验展示了大量粒子在引力场作用下的&#8220;奇观&#8221;。 同时还展示了PV3D的pixel3d类和BitmapLayerEffect类的强大功能。该实验使用了3200个pixel和5个引力场和两个EffectLayer，稍微显得有些力不从心。 <br><br>稍后还做一些Sound方面的试验，期待有更加惊人的效果。 <br><br>Preview:<a href="http://niuniuzhu.cn/p/MotionPixel" target=_blank>http://niuniuzhu.cn/p/MotionPixel</a> <br><br><img src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/mp3.jpg"> <br><br>&nbsp;&nbsp;<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/14/1267486.html">阅读全文</a><img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1267486.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/41770/" target=_blank>[新闻]WordPress 2008 年发展迅猛</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/14/1267486.html">http://www.cnblogs.com/niuniuzhu/archive/2008/08/14/1267486.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/48134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-08-14 02:13 <a href="http://www.cnitblog.com/cmoron/archive/2008/08/14/48134.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]SandBox-沙子艺术</title><link>http://www.cnitblog.com/cmoron/archive/2008/08/12/47929.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Tue, 12 Aug 2008 04:34:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/08/12/47929.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/47929.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/08/12/47929.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/47929.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/47929.html</trackback:ping><description><![CDATA[摘要: <img class=desc_img src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/s_sandb.jpg">看到一个表演沙子的视频受到启发，并参考了国外一个网站的demo，，心血来潮做了一个模仿。但发现该demo一个严重的弊端—CPU占用非常高，那是由于每次遍历粒子是否在鼠标范围内的结果。于是我做了一下优化，在没有鼠标动作的时候，放弃这些多余的计算。但仍然存在弊端，对于在鼠标有动作的时候，运算依然没有得到有效优化。打算在遍历粒子上做些小动作，例如把整个容器划分为几个区域，根据鼠标点击范围选择该从哪些范围内获取粒子。这样在运算上会得到有效的优化。<br><br>碍于CPU的高占用率，画布无法调整得更大，待解决了上述问题后，或许能得到更多的扩展应用。<br><br>Preview:<a href="http://niuniuzhu.cn/p/SandBox" target=_blank>http://niuniuzhu.cn/p/SandBox</a><br>&nbsp;&nbsp;<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/12/1265831.html">阅读全文</a><img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1265831.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/41602/" target=_blank>[新闻]微软与好莱坞联姻 欲做强Zune与iPod一争高低</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/12/1265831.html">http://www.cnblogs.com/niuniuzhu/archive/2008/08/12/1265831.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/47929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-08-12 12:34 <a href="http://www.cnitblog.com/cmoron/archive/2008/08/12/47929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]Casting shadows in PV3D</title><link>http://www.cnitblog.com/cmoron/archive/2008/08/11/47930.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Mon, 11 Aug 2008 03:23:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/08/11/47930.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/47930.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/08/11/47930.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/47930.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/47930.html</trackback:ping><description><![CDATA[摘要: <img class=desc_img src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/3dm11.jpg">偶然发现一个外国人写的基于PV3D的投射阴影类——Papervision Shadow Casting。除了效率比较低（这是PV3D的通病了，和这个类没任何关系 - -!），还算是比较强了。 <br>先不多说，我们先看看如何使用。 <br>首先，我们需要光源 <br>然后创建一个DisplayObject3D，例子里用了DAE <br>Preview:<a href="http://niuniuzhu.cn/p/3DRenderDemo/index.html?p=4" target=_blank>http://niuniuzhu.cn/p/3DRenderDemo/index.html?p=4</a>&nbsp;&nbsp;<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/11/1265035.html">阅读全文</a><img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1265035.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/41601/" target=_blank>[新闻]2008年8月12日IT博客精选</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/08/11/1265035.html">http://www.cnblogs.com/niuniuzhu/archive/2008/08/11/1265035.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/47930.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-08-11 11:23 <a href="http://www.cnitblog.com/cmoron/archive/2008/08/11/47930.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]Emitter粒子特效</title><link>http://www.cnitblog.com/cmoron/archive/2008/07/27/47172.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Sun, 27 Jul 2008 04:09:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/07/27/47172.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/47172.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/07/27/47172.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/47172.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/47172.html</trackback:ping><description><![CDATA[<p>在Google Code里发现一个老外写的例子特效。有兴趣的朋友可以到他的<a href="http://code.google.com/p/emitter/" target=_blank>Project Home</a>看看。</p>
<p>&nbsp;</p>
<p>project: <a href="http://code.google.com/p/emitter/" target=_blank rel=nofollow>http://code.google.com/p/emitter/</a>&nbsp;
<p>Blog:&nbsp;<a href="http://cjcat.blogspot.com/">http://cjcat.blogspot.com/</a>
<p>&nbsp;</p>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://homepage.ntu.edu.tw/~b95901008/bbsfiles/AS/examples/2008/07242008%20CJW%20prototype/Main.swf"><img id=BLOGGER_PHOTO_ID_5223700064398836130 style="CURSOR: pointer" alt="" src="http://bp1.blogger.com/_4-LtXwX7Yuo/SH5PiD-tgaI/AAAAAAAAAJw/e_KhOLGwjsc/s400/CJWp.PNG" border=0></a>&nbsp;<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://homepage.ntu.edu.tw/~b95901008/bbsfiles/AS/Emitter%20test/Storm.swf"><img id=BLOGGER_PHOTO_ID_5211744703172642994 style="CURSOR: pointer" alt="" src="http://bp3.blogger.com/_4-LtXwX7Yuo/SFPWMcyhCLI/AAAAAAAAAIk/d4wfgmPdhUM/s400/Storm.PNG" border=0></a>&nbsp;<img id=BLOGGER_PHOTO_ID_5210696962119395058 style="CURSOR: pointer" alt="" src="http://bp2.blogger.com/_4-LtXwX7Yuo/SFAdR5NVZvI/AAAAAAAAAIM/_cq7mjwFpoM/s400/Missiles.PNG" border=0></p>
<img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1252387.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/41322/" target=_blank>[新闻]微软决定开放Xbox 360游戏开发平台</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/07/27/1252387.html">http://www.cnblogs.com/niuniuzhu/archive/2008/07/27/1252387.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/47172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-07-27 12:09 <a href="http://www.cnitblog.com/cmoron/archive/2008/07/27/47172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]Deph of field + TweenLite</title><link>http://www.cnitblog.com/cmoron/archive/2008/07/17/46840.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Thu, 17 Jul 2008 08:26:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/07/17/46840.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/46840.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/07/17/46840.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/46840.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/46840.html</trackback:ping><description><![CDATA[在看了<a href="http://mrdoob.com/blog/page/7/" target=_blank>Mr.doob</a>的blog后，发现一个很cool的效果。球体打散后，在按照各类形状排列起来。这和之前看到一个日本3D引擎roxik的排列十分相似。参考其代码做了一个demo。其中某些排列形状在3DMAX中建模，获得顶点并导出AS类。当然效率不理想，比起roxilk来说差很远，仍然期待它的开源。<br><br>Preview:<a style="COLOR: #ff9900" href="http://niuniuzhu.9lzy.cn/3DRenderDemo/" target=_blank>http://niuniuzhu.9lzy.cn/3DRenderDemo/</a><br><br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/3dm6.jpg" border=0>&nbsp; <img alt="" src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/3dm7.jpg" border=0> <img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1245285.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/41168/" target=_blank>[新闻]阿里巴巴切入P2C</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/07/17/1245285.html">http://www.cnblogs.com/niuniuzhu/archive/2008/07/17/1245285.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/46840.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-07-17 16:26 <a href="http://www.cnitblog.com/cmoron/archive/2008/07/17/46840.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]PV3D绘制3D线条 - 3DMAX插件AS3GeomClassExporter导出顶点到AS类</title><link>http://www.cnitblog.com/cmoron/archive/2008/07/16/46841.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Wed, 16 Jul 2008 05:12:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/07/16/46841.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/46841.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/07/16/46841.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/46841.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/46841.html</trackback:ping><description><![CDATA[摘要: <br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/p3d0.jpg" border=0><br>我们分析一下这些代码，其中v开头的，是顶点坐标，uv开头的是面，f是对应的顶点和面的信息，用于添加到一个geometry.faces数组，然后根据这个数组的点面信息绘制图形。这时，如果你需要实例化这个类，直接addChild到场景，物件就会绘制出来了。 <br><br>如果用到线条绘制这个"V"，我们需要怎么做呢？十分简单。我们只需要他的顶点信息，也就是v开头的东西了。我们把这些信息复制出来，提供给Lines3D类使用。利用Lines3D里的addNewLine方法把线条按照顶点座标画出来。 <br><br>Preview:</font></font><a href="http://niuniuzhu.9lzy.cn/goText3D" target=_blank>http://niuniuzhu.9lzy.cn/goText3D</a> <br>&nbsp;&nbsp;<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/07/16/1244238.html">阅读全文</a><img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1244238.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/41166/" target=_blank>[新闻]Google搜索引擎改进了对Flash的索引</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/07/16/1244238.html">http://www.cnblogs.com/niuniuzhu/archive/2008/07/16/1244238.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/46841.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-07-16 13:12 <a href="http://www.cnitblog.com/cmoron/archive/2008/07/16/46841.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]优雅的线条 － 绘制3D线条</title><link>http://www.cnitblog.com/cmoron/archive/2008/07/13/46673.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Sun, 13 Jul 2008 09:30:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/07/13/46673.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/46673.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/07/13/46673.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/46673.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/46673.html</trackback:ping><description><![CDATA[<p>在2.0中，线条的绘制和之前的版本有所出入。PV3D提供了两个相关的类，Line3D和Lines3D。其中Lines3D继承了<font face=Verdana>DisplayObject3D</font>，能够直接被Addchild进容器。但查看Line3D的族谱，却发现他只继承了<font face=Verdana>AbstractRenderable</font>和实现了<font face=Verdana>IRenderable</font>接口。无法被Addchild进容器。那么这个Line3D干什么的呢？我看了一下Lines3D的代码。发现有几个重要的方法：<font face=Verdana>addLine</font>()，<font face=Verdana><font face=Verdana>addNewLine()，<font face=Verdana>addNewSegmentedLine()。这三个方法允许在Lines3D实例里面添加线条。大概明白了，我们可以创建一个Line3D实例，用<font face=Verdana>addLine</font>()方法添加进Lines3D，然后再Addchild到容器，后面两个方法大致相同。现在说说<font face=Verdana>addNewSegmentedLine</font>方法，看了一下代码，这个方法把该添加的线条分成了N段，不太明白作者的意图，大概能够分别控制每段线条吧。但用<font face=Verdana><font face=Verdana>addNewLine</font></font>不是有同样效果吗？不太理解。<br><br>Preview:<a href="http://niuniuzhu.9lzy.cn/goLine3D" target=_blank>http://niuniuzhu.9lzy.cn/goLine3D</a><br></font></font></font></p>
<img alt="" src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/3dworld4.jpg" border=0> <img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1240656.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/41119/" target=_blank>[新闻]微软公布一款可折叠鼠标</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/07/11/1240656.html">http://www.cnblogs.com/niuniuzhu/archive/2008/07/11/1240656.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/46673.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-07-13 17:30 <a href="http://www.cnitblog.com/cmoron/archive/2008/07/13/46673.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Effects on PV3D</title><link>http://www.cnitblog.com/cmoron/archive/2008/07/08/46419.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Mon, 07 Jul 2008 16:58:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/07/08/46419.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/46419.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/07/08/46419.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/46419.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/46419.html</trackback:ping><description><![CDATA[<p><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/3dworld3.jpg" border=0><br><br>参考一些外国的demo，做了3个effect，分享之。<br><br>随机坐标创建50个3D矩形</p>
<div class=cnblogs_code><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(var&nbsp;i:</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_36_487_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_36_487_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_36_487_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_36_487_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_36_487_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_36_487_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_36_487_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_36_487_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_36_487_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_36_487_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;p:Plane&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Plane(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;ColorMaterial(Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">0xFFFFFF</span><span style="COLOR: #000000">),&nbsp;Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">180</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">,&nbsp;Math.random()</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">180</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.x&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Math.random()&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">500</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.y&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Math.random()&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">500</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.z&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Math.random()&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">700</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">400</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.material.doubleSided&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scene.addChild(p);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.useOwnContainer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;planes.push(p);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;depthDemo&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.filters&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;[</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BlurFilter()];<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p.alpha&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Math.random()&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.1</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<p>为每个矩形创建Blur效果<br><br></p>
<div class=cnblogs_code><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(depthDemo)<br><img id=Codehighlighter1_17_235_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_17_235_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_17_235_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_17_235_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_17_235_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_17_235_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_17_235_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_17_235_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_17_235_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_17_235_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;each(var&nbsp;do3d:DisplayObject3D&nbsp;in&nbsp;planes)<br><img id=Codehighlighter1_72_230_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_72_230_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_72_230_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_72_230_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_72_230_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_72_230_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_72_230_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_72_230_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_72_230_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_72_230_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(do3d.container)<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;deph:</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">(do3d.container.screenDepth);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do3d.filters[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].blurX&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;do3d.filters[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">].blurY&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">(deph&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0.005</span><span style="COLOR: #000000">);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<p>创建一个3D球体</p>
<div class=cnblogs_code><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">var&nbsp;s:Sphere&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Sphere(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;WireframeMaterial(),&nbsp;</span><span style="COLOR: #000000">150</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>s.name&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">sphere&nbsp;11</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>scene.addChild(s);</span></div>
<br>创建一个特效层<br><br>
<div class=cnblogs_code><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">var&nbsp;bfx:BitmapEffectLayer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BitmapEffectLayer(viewport,&nbsp;</span><span style="COLOR: #000000">500</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">500</span><span style="COLOR: #000000">);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>viewport.containerSprite.addLayer(bfx);</span></div>
<br>把球体加入这个特效层，并为层定义特效<br><br>
<div class=cnblogs_code><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">bfx.addDisplayObject3D(s);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>bfx.addEffect(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BitmapLayerEffect(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;BlurFilter(</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">)));<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>bfx.setScroll(</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>bfx.setTracking(s);</span></div>
<br>光照效果在前面的文章已提供源码，请参阅。<br><br>Preview:<a href="http://niuniuzhu.cn/p/3DRenderDemo/index.html" target=_blank>http://niuniuzhu.cn/p/3DRenderDemo/index.html</a><br><img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1237845.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/37569/" target=_blank>[新闻]康盛 Manyou 开放平台 (MYOP) 体验版上线</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/07/08/1237845.html">http://www.cnblogs.com/niuniuzhu/archive/2008/07/08/1237845.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/46419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-07-08 00:58 <a href="http://www.cnitblog.com/cmoron/archive/2008/07/08/46419.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]PV3D的光影效果</title><link>http://www.cnitblog.com/cmoron/archive/2008/07/05/46341.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Sat, 05 Jul 2008 14:01:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/07/05/46341.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/46341.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/07/05/46341.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/46341.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/46341.html</trackback:ping><description><![CDATA[<p>2.0版为我们提供了六个光影效果类：<br>GouraudMaterial<br>PhongMaterial<br>CellMaterial<br>FlatShadeMaterial<br>EnvMapMaterial<br>EnvMapShader<br><br>其中尝试了<font face=Verdana>GouraudMaterial</font>，创建代码如下：</p>
<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">var&nbsp;light:PointLight3D&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;PointLight3D(</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">);<br><img src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&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>var&nbsp;m:GouraudMaterial&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;GouraudMaterial(light,&nbsp;</span><span style="COLOR: #000000">0x000000</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0x006699</span><span style="COLOR: #000000">);</span></div>
<p><br></p>
由于这些类都继承了<font face=Verdana>MaterialObject3D</font>，可以直接创建3D对象了。<br><br>
<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">var&nbsp;ball:Sphere&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Sphere(m,&nbsp;</span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">12</span><span style="COLOR: #000000">);</span></div>
<br>这就创建了一个半径30，颜色从白色过渡到深蓝色的球体了。<br><br>Preview:<a href="http://niuniuzhu.9lzy.cn/3dTest/test3D_2.html" target=_blank>http://niuniuzhu.9lzy.cn/3dTest/test3D_2.html</a><br><br>Source:<a href="http://niuniuzhu.9lzy.cn/3dTest/srcview/index.html" target=_blank>http://niuniuzhu.9lzy.cn/3dTest/srcview/index.html</a><br><br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/3dworld2.jpg" border=0> <img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1236722.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/37543/" target=_blank>[新闻]李开复：中文搜索是谷歌战略核心</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/07/05/1236722.html">http://www.cnblogs.com/niuniuzhu/archive/2008/07/05/1236722.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/46341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-07-05 22:01 <a href="http://www.cnitblog.com/cmoron/archive/2008/07/05/46341.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]Some goods for PV3D!</title><link>http://www.cnitblog.com/cmoron/archive/2008/07/05/46342.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Sat, 05 Jul 2008 04:24:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/07/05/46342.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/46342.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/07/05/46342.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/46342.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/46342.html</trackback:ping><description><![CDATA[Project site: <a href="http://pv3d.org/" target=_blank>http://pv3d.org/</a><br>Materials:<a href="http://www.insideria.com/2008/05/textures-wireframe-bitmap-movi-1.html" target=_blank>http://www.insideria.com/2008/05/textures-wireframe-bitmap-movi-1.html</a> <br><br>GO3D - Tween for 3D: <a href="http://www.rockonflash.com/blog/?p=121" target=_blank>http://www.rockonflash.com/blog/?p=121</a><br>顺带一提，这个GO3D在3D应用上，比起TweenLite更加专业。这是他的SVN：http://goplayground.googlecode.com/svn/trunk/JohnGrden/GO3D<br>BasicView视频: <font face=Verdana><a href="http://archive.pv3d.org/?p=59" target=_blank><font face=Verdana>http://archive.pv3d.org/?p=59</font></a></font> <img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1236210.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/37543/" target=_blank>[新闻]李开复：中文搜索是谷歌战略核心</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/07/05/1236210.html">http://www.cnblogs.com/niuniuzhu/archive/2008/07/05/1236210.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/46342.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-07-05 12:24 <a href="http://www.cnitblog.com/cmoron/archive/2008/07/05/46342.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]PV3D+TweenLite——让3D镜头也缓动起来！</title><link>http://www.cnitblog.com/cmoron/archive/2008/07/04/46282.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Thu, 03 Jul 2008 17:48:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/07/04/46282.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/46282.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/07/04/46282.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/46282.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/46282.html</trackback:ping><description><![CDATA[PV3D提供了一个<font face=Verdana>BasicView</font>的类，继承这个类，可以让我们轻易在舞台上创建镜头，3D对象。<br><br>
<div class=cnblogs_code><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;function&nbsp;ThreeDStage(cameraType:String,&nbsp;owner:DisplayObject)<br><img id=Codehighlighter1_72_305_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_72_305_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_72_305_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_72_305_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_72_305_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_72_305_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_72_305_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_72_305_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_72_305_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_72_305_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">super</span><span style="COLOR: #000000">(owner.width,&nbsp;owner.height,&nbsp;</span><span style="COLOR: #0000ff">false</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">,&nbsp;cameraType);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.camera.focus&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.camera.zoom&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">&nbsp;(var&nbsp;i:</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">40</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_234_301_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_234_301_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_234_301_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_234_301_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_234_301_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_234_301_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_234_301_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_234_301_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_234_301_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_234_301_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;ball:Ball&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Ball(src);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scene.addChild(ball);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br>然后添加一个Timer对象，定时执行镜头的移动、旋转。<br><br>
<div class=cnblogs_code><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Timer(</span><span style="COLOR: #000000">4000</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer.addEventListener(TimerEvent.TIMER,&nbsp;onTimer);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;timer.start();</span></div>
<br>在这个监听函数里面，我们使用TweenLite类来移动和旋转镜头。<br><br>
<div class=cnblogs_code><img id=Codehighlighter1_36_463_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_36_463_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_36_463_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_36_463_Closed_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_36_463_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_36_463_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_36_463_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_36_463_Open_Text').style.display='inline';" alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TweenLite.</span><span style="COLOR: #0000ff">goto</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.camera,&nbsp;</span><span style="COLOR: #000000">2.5</span><span style="COLOR: #000000">,&nbsp;</span><span id=Codehighlighter1_36_463_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_36_463_Open_Text><span style="COLOR: #000000">{x:</span><span style="COLOR: #000000">360</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Math.round(Math.random()&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">720</span><span style="COLOR: #000000">),<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y:</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Math.round(Math.random()&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">400</span><span style="COLOR: #000000">),<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z:</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Math.round(Math.random()&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">400</span><span style="COLOR: #000000">),<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rotationX:</span><span style="COLOR: #000000">40</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Math.round(Math.random()&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">80</span><span style="COLOR: #000000">),<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rotationY:</span><span style="COLOR: #000000">40</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Math.round(Math.random()&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">80</span><span style="COLOR: #000000">),<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rotationZ:</span><span style="COLOR: #000000">40</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;Math.round(Math.random()&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">80</span><span style="COLOR: #000000">),<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ease:GetEasingFunction.easingFunction(_tweenType).easeOut,<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onComplete:_stopRendering}</span></span><span style="COLOR: #000000">);</span></div>
<br>这样我们的镜头就具备缓动效果了。<br>顺便说一下，在这个<font face=Verdana>BasicView</font>类里面，有三个方法，<font face=Verdana>startRendering</font>()和<font face=Verdana>stopRendering</font>()和<font face=Verdana>singleRender()。第一个是开始每帧绘制3D对象，第二个是停止绘制3D对象，第三个是只绘制一次3D对象。<br><br>Preview:<font face=Verdana>http://niuniuzhu.9lzy.cn/3dTest/test3D.html</font><br><br>Source:<font face=Verdana>http://niuniuzhu.9lzy.cn/3dTest/srcview/index.html</font><br><br><img alt="" src="http://www.cnblogs.com/images/cnblogs_com/niuniuzhu/3dworld1.jpg" border=0></font> <img height=1 src="http://www.cnblogs.com/niuniuzhu/aggbug/1235202.html?type=1" width=1><br><br><a href="http://news.cnblogs.com/n/37514/" target=_blank>[新闻]哪一个 Linux 发行版最流行?</a><br>文章来源:<a href="http://www.cnblogs.com/niuniuzhu/archive/2008/07/04/1235202.html">http://www.cnblogs.com/niuniuzhu/archive/2008/07/04/1235202.html</a><img src ="http://www.cnitblog.com/cmoron/aggbug/46282.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-07-04 01:48 <a href="http://www.cnitblog.com/cmoron/archive/2008/07/04/46282.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PV3D实例——创建第一个3D世界！</title><link>http://www.cnitblog.com/cmoron/archive/2008/07/02/46252.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Wed, 02 Jul 2008 14:01:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/07/02/46252.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/46252.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/07/02/46252.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/46252.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/46252.html</trackback:ping><description><![CDATA[心血来潮使用PV3D做了几个球体。但效率实在不敢恭维。<img height=20 src="http://www.cnitblog.com/Emoticons/QQ/02.gif" width=20 border=0><img height=20 src="http://www.cnitblog.com/Emoticons/QQ/02.gif" width=20 border=0><br><br>Preview:<a href="http://niuniuzhu.9lzy.cn/3dTest/test3D.html">http://niuniuzhu.9lzy.cn/3dTest/test3D.html</a><br><br>Source:<a href="http://niuniuzhu.9lzy.cn/3dTest/srcview/index.html">http://niuniuzhu.9lzy.cn/3dTest/srcview/index.html<br></a><br><img src="http://www.cnitblog.com/images/cnitblog_com/cmoron/3dworld.jpg" border=0><img src ="http://www.cnitblog.com/cmoron/aggbug/46252.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-07-02 22:01 <a href="http://www.cnitblog.com/cmoron/archive/2008/07/02/46252.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>flex + c# 的多人在线网络游戏(MMORPG)</title><link>http://www.cnitblog.com/cmoron/archive/2008/06/25/45985.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Wed, 25 Jun 2008 09:37:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/06/25/45985.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/45985.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/06/25/45985.html#Feedback</comments><slash:comments>24</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/45985.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/45985.html</trackback:ping><description><![CDATA[先感谢朋友们帮忙测试，过程中服务端出现了一次异常导致所有玩家掉线，暂时找不到原因。在本地测试，开了10个人物未发现问题。程序为了加快搜寻速度，所有静态物件和动态物件（角色）都使用一个一维数组来记录ID，这样每次搜寻（用于深度排序、玩家上下线等的遍历）只需要遍历这个一维数组，在获得下标之后，根据这个下标从数组对象中取得整个对象，当然，前提需要整个过程中这个一维数组和这个对象数组的排序保持一致（大概就是这里出现了异常，是服务器和客户端之间出现延时，使得两个数组排序出现了变化，数据差异引发了异常）。今后开放源码后，我会写一下体会和心得，还会写一些用到的算法和方法。今天累了。明天继续吧。<br><br>先放一张截图。<br><br><img src="http://www.cnitblog.com/images/cnitblog_com/cmoron/ceshi.jpg" border=0>&nbsp;<img src ="http://www.cnitblog.com/cmoron/aggbug/45985.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-06-25 17:37 <a href="http://www.cnitblog.com/cmoron/archive/2008/06/25/45985.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>令我困扰的粘包问题。</title><link>http://www.cnitblog.com/cmoron/archive/2008/06/17/45795.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Mon, 16 Jun 2008 16:27:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/06/17/45795.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/45795.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/06/17/45795.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/45795.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/45795.html</trackback:ping><description><![CDATA[最近看了非常多精彩的socket文章，让我获益不少。但依然没法完全解决粘包的问题。<br><br>客户端，封包。把数据用一个类封装起来，此数据应该分为三个部分，分别为包头，包身，包尾（这个我没有用到）。其中包头包括了协议类型和数据长度，包身就是数据了。<br>服务端，拆包。先建立一个固定长度的缓冲区，当数据把这个缓冲区填充后，分析包头，把类型和长度（假设为M）取出。把包身（假设长度为N）截取M字节。如果M&nbsp;=N，则数据包完整。如果M &gt; N，数据包不完整，继续循环接收。如果M&lt;N，有完整数据包，但还有第二个包紧跟其后（粘包）。<br><br><img src="http://www.cnitblog.com/images/cnitblog_com/cmoron/packContent.jpg" border=0><img src ="http://www.cnitblog.com/cmoron/aggbug/45795.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-06-17 00:27 <a href="http://www.cnitblog.com/cmoron/archive/2008/06/17/45795.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于flash 9.0.124版本socket的安全策略</title><link>http://www.cnitblog.com/cmoron/archive/2008/06/06/45048.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Thu, 05 Jun 2008 17:01:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/06/06/45048.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/45048.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/06/06/45048.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/45048.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/45048.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在Adobe Flash Player升级到9.0.124后，由于安全策略的更改，使得在socket或xmlsocket的应用里，原先如用http方式加载安全策略的手段不能继续使用了，类似此类应用必须使用xmlsocket://方式来提供安全策略。flashplayer的安全策略检测过程如下：<br><br>1,首先检测目标服务器的843端口是否提供安全策略<br>2,如果1没有检测到策略，则检测actionscript是否使用了Security.loadPolicyFile(xmlsocket://) 手段提供安全策略，如果还没检测到，则使用第3步检测<br>3,检测目标服务器目标端口是否提供安全策略&nbsp;&nbsp;<a href='http://www.cnitblog.com/cmoron/archive/2008/06/06/45048.html'>阅读全文</a><img src ="http://www.cnitblog.com/cmoron/aggbug/45048.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-06-06 01:01 <a href="http://www.cnitblog.com/cmoron/archive/2008/06/06/45048.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Flex 4 SDK Downloads</title><link>http://www.cnitblog.com/cmoron/archive/2008/06/04/44969.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Wed, 04 Jun 2008 09:43:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/06/04/44969.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/44969.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/06/04/44969.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/44969.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/44969.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4 &nbsp;&nbsp;<a href='http://www.cnitblog.com/cmoron/archive/2008/06/04/44969.html'>阅读全文</a><img src ="http://www.cnitblog.com/cmoron/aggbug/44969.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-06-04 17:43 <a href="http://www.cnitblog.com/cmoron/archive/2008/06/04/44969.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>斜45度2D游戏测试</title><link>http://www.cnitblog.com/cmoron/archive/2008/06/03/44828.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Tue, 03 Jun 2008 02:15:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/06/03/44828.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/44828.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/06/03/44828.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/44828.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/44828.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 花几晚时间做了一个简单DEMO。角色的8方向动作实现，A* + 二叉堆的寻路，物体与角色的深度排序（角色绕到物件后面和前面的遮挡问题）。其中的物品和人物排序，还要多谢群里3tion给的一篇参考文章。难度还是集中在A*方面，虽然已经用二叉堆进行了优化，但反应速度还是很一般。今天看了一篇关于A*的分层寻路，鉴于对地图有一定限制，所以先放起来。接下来研究关于暗雷遇敌，和回合制的开发。<br><br>Preview:http://cmoron.kki.cn/2dgame/2Dgamedemo.html<br><br><img src="http://www.cnitblog.com/images/cnitblog_com/cmoron/1.jpg" border=0><br>&nbsp;&nbsp;<a href='http://www.cnitblog.com/cmoron/archive/2008/06/03/44828.html'>阅读全文</a><img src ="http://www.cnitblog.com/cmoron/aggbug/44828.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-06-03 10:15 <a href="http://www.cnitblog.com/cmoron/archive/2008/06/03/44828.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>带波形MP3播放器</title><link>http://www.cnitblog.com/cmoron/archive/2008/06/03/44827.html</link><dc:creator>牛牛猪</dc:creator><author>牛牛猪</author><pubDate>Tue, 03 Jun 2008 02:13:00 GMT</pubDate><guid>http://www.cnitblog.com/cmoron/archive/2008/06/03/44827.html</guid><wfw:comment>http://www.cnitblog.com/cmoron/comments/44827.html</wfw:comment><comments>http://www.cnitblog.com/cmoron/archive/2008/06/03/44827.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cnitblog.com/cmoron/comments/commentRss/44827.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/cmoron/services/trackbacks/44827.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 前一段时间写了一个mp3播放器，突发奇想想学习一下音频的分析之类的东西。参考了网上一些关于音频的介绍和一些波形效果的绘画方法，写了一个带波形显示的播放器。<br><br>Previwe:http://cmoron.kki.cn/musicPlayer/Music.html<br><br><img src="http://www.cnitblog.com/images/cnitblog_com/cmoron/7.jpg" border=0>&nbsp;&nbsp;<a href='http://www.cnitblog.com/cmoron/archive/2008/06/03/44827.html'>阅读全文</a><img src ="http://www.cnitblog.com/cmoron/aggbug/44827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/cmoron/" target="_blank">牛牛猪</a> 2008-06-03 10:13 <a href="http://www.cnitblog.com/cmoron/archive/2008/06/03/44827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>