<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[qinghu's blog - Flash/Ria/Air]]></title>
<link>http://www.guodong.net/blog/</link>
<description><![CDATA[关注Flash,Flex,AS3,AIR,Php,DotNet]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[zhangqinghu@gmail.com(庆虎)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>qinghu&#39;s blog</title>
	<url>http://www.guodong.net/blog/images/logos.gif</url>
	<link>http://www.guodong.net/blog/</link>
	<description>qinghu&#39;s blog</description>
</image>

			<item>
			<link>http://www.guodong.net/blog/article.asp?id=305</link>
			<title><![CDATA[box2d积木]]></title>
			<author>zhangqinghu@gmail.com(admin)</author>
			<category><![CDATA[Flash/Ria/Air]]></category>
			<pubDate>Thu,24 Jun 2010 10:27:05 +0800</pubDate>
			<guid>http://www.guodong.net/blog/default.asp?id=305</guid>
		<description><![CDATA[玩了一个老外的超级积木的游戏满耐玩的，好像也是用box2d 做的，没事也搞了一关 试试。<br/><br/><img src="http://www.guodong.net/blog/attachments/month_1006/42010624102551.jpg" border="0" alt=""/><br/><br/><br/>只要积木不掉下去，维持几秒就算过关，计算停在半空 也算过关]]></description>
		</item>
		
			<item>
			<link>http://www.guodong.net/blog/article.asp?id=303</link>
			<title><![CDATA[FD+swc开发模式]]></title>
			<author>zhangqinghu@gmail.com(admin)</author>
			<category><![CDATA[Flash/Ria/Air]]></category>
			<pubDate>Mon,17 May 2010 16:08:12 +0800</pubDate>
			<guid>http://www.guodong.net/blog/default.asp?id=303</guid>
		<description><![CDATA[上次配合奥美一个项目，那位仁兄就是用这种方式开发，这次ase项目时间还算充裕，所以决定尝试换个开发方式。<br/><br/>原来不用flash编译更爽。。界面flash导出swc，在fd内调用<br/><br/><br/>结构大概有点乱，随便看看吧<br/><br/><img src="http://www.guodong.net/blog/attachments/month_1005/s201051716453.jpg" border="0" alt=""/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.guodong.net/blog/article.asp?id=302</link>
			<title><![CDATA[孙悟空诞生记]]></title>
			<author>zhangqinghu@gmail.com(admin)</author>
			<category><![CDATA[Flash/Ria/Air]]></category>
			<pubDate>Tue,16 Mar 2010 16:01:58 +0800</pubDate>
			<guid>http://www.guodong.net/blog/default.asp?id=302</guid>
		<description><![CDATA[正好有时间，做了个小东西玩玩，模型用的不太合适，脸部和人脸 区别太大了<br/><br/><img src="http://www.guodong.net/blog/attachments/month_1003/p20103161614.jpg" border="0" alt=""/><br/><br/>大致原理就是，拍屏，拖动几个控制点，根据点切图，替换3D模型中的贴图]]></description>
		</item>
		
			<item>
			<link>http://www.guodong.net/blog/article.asp?id=298</link>
			<title><![CDATA[pv3d赛车游戏]]></title>
			<author>zhangqinghu@gmail.com(admin)</author>
			<category><![CDATA[Flash/Ria/Air]]></category>
			<pubDate>Mon,18 Jan 2010 00:22:37 +0800</pubDate>
			<guid>http://www.guodong.net/blog/default.asp?id=298</guid>
		<description><![CDATA[只做了基本功能，没做超出地图等判断<br/><br/>原理就是，用角速度来移动车，相机始终保持一定距离 跟着车<br/><br/><br/>这个demo做完，车、地图、相机之间的关系又明白了一些，也明白了怎么用ViewportLayer解决破面问题。<br/><br/><img src="http://www.guodong.net/blog/attachments/month_1001/a201011802215.JPG" border="0" alt=""/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.guodong.net/blog/article.asp?id=297</link>
			<title><![CDATA[元旦在家搞的一个塔防游戏的原型]]></title>
			<author>zhangqinghu@gmail.com(admin)</author>
			<category><![CDATA[Flash/Ria/Air]]></category>
			<pubDate>Mon,04 Jan 2010 21:26:47 +0800</pubDate>
			<guid>http://www.guodong.net/blog/default.asp?id=297</guid>
		<description><![CDATA[只有基本功能，塔暂时是直接 程序写到固定位置的，还不能diy，等有空再说了。怪的移动，塔的攻击，和攻击范围等算法都已完成<br/><br/><img src="http://www.guodong.net/blog/attachments/month_1001/8201014212645.jpg" border="0" alt=""/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.guodong.net/blog/article.asp?id=296</link>
			<title><![CDATA[flash+摄像头生成动态GIF头像]]></title>
			<author>zhangqinghu@gmail.com(admin)</author>
			<category><![CDATA[Flash/Ria/Air]]></category>
			<pubDate>Thu,24 Dec 2009 17:51:13 +0800</pubDate>
			<guid>http://www.guodong.net/blog/default.asp?id=296</guid>
		<description><![CDATA[公司之前做的那个兄弟似乎做过一个类似的，我也试着用GIFEncoder，通过摄像头输出gif头像<br/><br/><img src="http://www.guodong.net/blog/attachments/month_0912/12009122417505.jpg" border="0" alt=""/><br/><br/>每隔半秒截次屏，共3帧 所以截3次 保存……<br/><br/>输出的图 就不上传了]]></description>
		</item>
		
			<item>
			<link>http://www.guodong.net/blog/article.asp?id=294</link>
			<title><![CDATA[PV3D+APE的筛子]]></title>
			<author>zhangqinghu@gmail.com(admin)</author>
			<category><![CDATA[Flash/Ria/Air]]></category>
			<pubDate>Tue,24 Nov 2009 10:28:01 +0800</pubDate>
			<guid>http://www.guodong.net/blog/default.asp?id=294</guid>
		<description><![CDATA[昨天同事问起，能否实现一个物理引擎的3D筛子，于是我大致做了个DEMO，旋转是随机的，碰撞是靠ape<br/><br/><img src="http://www.guodong.net/blog/attachments/month_0911/520091124102745.jpg" border="0" alt=""/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.guodong.net/blog/article.asp?id=293</link>
			<title><![CDATA[前些日子研究的一些摄像头交互]]></title>
			<author>zhangqinghu@gmail.com(admin)</author>
			<category><![CDATA[Flash/Ria/Air]]></category>
			<pubDate>Tue,24 Nov 2009 10:22:13 +0800</pubDate>
			<guid>http://www.guodong.net/blog/default.asp?id=293</guid>
		<description><![CDATA[前段时间去一朋友家玩，得知他最近就在玩些摄像头交互，于是引起了我的兴趣，我也做了些小应用。<br/>其实前段时间做一个benz项目，就用过到一次运动捕捉，但当时研究的不深，实现了就好<br/><br/>运动捕捉<br/><img src="http://www.guodong.net/blog/attachments/month_0911/720091124101910.jpg" border="0" alt=""/><br/><br/><br/>小游戏，通过肢体运动，判断运动部位是否和乐器碰撞，如果碰撞则发声<br/><img src="http://www.guodong.net/blog/attachments/month_0911/a20091124101928.jpg" border="0" alt=""/><br/><br/><br/><br/>颜色追中，其实这个不算成功，对环境太苛刻了，比如我使用一个红色物体，但此物体由于环境光影响会变，我还没想到怎么解决这个问题。<br/><img src="http://www.guodong.net/blog/attachments/month_0911/120091124102031.jpg" border="0" alt=""/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.guodong.net/blog/article.asp?id=292</link>
			<title><![CDATA[pv3d做的音乐光谱条]]></title>
			<author>zhangqinghu@gmail.com(admin)</author>
			<category><![CDATA[Flash/Ria/Air]]></category>
			<pubDate>Sun,15 Nov 2009 03:02:25 +0800</pubDate>
			<guid>http://www.guodong.net/blog/default.asp?id=292</guid>
		<description><![CDATA[核心代码其实是小日本写的，是一个FLARToolKit的应用，但那个例子是的，跑不起来，于是根据思路改了点，看起来还蛮酷的<br/><br/><img src="http://www.guodong.net/blog/attachments/month_0911/0200911153120.jpg" border="0" alt=""/><br/><br/><br/><div class="UBBPanel codePanel"><div class="UBBTitle"><img src="http://www.guodong.net/blog/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent"><br/><br/>package {<br/>&#160;&#160;&#160;&#160;import flash.display.*;<br/>&#160;&#160;&#160;&#160;import flash.events.*;<br/>&#160;&#160;&#160;&#160;import flash.filters.BlurFilter;<br/>&#160;&#160;&#160;&#160;import flash.geom.*;<br/>&#160;&#160;&#160;&#160;import flash.media.*;<br/>&#160;&#160;&#160;&#160;import flash.net.*;<br/>&#160;&#160;&#160;&#160;import flash.utils.ByteArray;<br/><br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.core.effects.BitmapLayerEffect;<br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.core.effects.utils.BitmapClearMode;<br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.core.effects.utils.BitmapDrawCommand;<br/><br/>&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.objects.primitives.Plane;<br/><br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.view.layer.BitmapEffectLayer;<br/><br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.cameras.*;<br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.core.proto.*;<br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.core.render.data.*;<br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.events.*;<br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.materials.*;<br/>&#160;&#160;&#160;&#160;<br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.render.*;<br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.scenes.*;<br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.view.*;<br/><br/>&#160;&#160;&#160;&#160;import o&#114;g.papervision3d.objects.*;<br/><br/>&#160;&#160;&#160;&#160;public class sample04 extends Sprite {<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private const WW:Number=320;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private const HH:Number=240;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private const PLANE_N:int=60;<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private var planeArray:Array;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private var sound:Sound;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private var bytes:ByteArray;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private var spectrum:Array;<br/><br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private var space:DisplayObject3D;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;public var scene:Scene3D;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;public var renderer:BasicRenderEngine;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;public var camera:Camera3D;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;public var camera_shadow:Camera3D;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;public var viewport:Viewport3D;<br/><br/><br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// コンストラクタ<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;public function sample04() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// ステージの設定<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;stage.scaleMode=StageScaleMode.NO_SCALE;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;stage.align=StageAlign.TOP_LEFT;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//stage.quality=StageQuality.HIGH;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;stage.frameRate=25;<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sound = new Sound();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sound.load(new URLRequest(&#34;MySound.mp3&#34;));<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sound.play();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// スペクトラム用の配列を初期化<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;bytes=new ByteArray();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;spectrum = new Array();<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;init3D();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;onInit();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private function init3D():void {<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scene= new Scene3D();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;renderer= new BasicRenderEngine();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;camera= new Camera3D();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;viewport = new Viewport3D(640,480,true);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;this.addChild(viewport);<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;space = scene.addChild(new DisplayObject3D());<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// 初期化を行う関数<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private function onInit():void {<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// Planeの設置<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var layer:BitmapEffectLayer=new BitmapEffectLayer(viewport, WW * 2, HH * 2, true, 0, BitmapClearMode.CLEAR_PRE, true);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;layer.addEffect(new BitmapLayerEffect(new BlurFilter(7, 7, 4), false));<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;layer.drawCommand=new BitmapDrawCommand(null, new ColorTransform(1, 1, 1, 0.25), BlendMode.ADD);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;layer.drawLayer.blendMode=BlendMode.OVERLAY;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;layer.clippingPoint = new Point(0, -1);<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;viewport.containerSprite.addLayer(layer);<br/><br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;planeArray=[];<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for (var i:int=0; i &lt; PLANE_N; i++) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var r:int=200;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var mat:ColorMaterial=new ColorMaterial(HSBtoRGB(i / PLANE_N, 1, 1), 1, true);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var p:Plane=new Plane(mat, 100, 3);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;p.material.doubleSided=true;<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;space.addChild(p);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;planeArray[i] = p;<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;p.x=r * Math.cos(360 / PLANE_N * i * Math.PI / 180);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;p.y=r * Math.sin(360 / PLANE_N * i * Math.PI / 180);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;p.rotationY = 90;<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(p)<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;layer.addDisplayObject3D(p);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;addEventListener(Event.ENTER_FRAME, onEnterFrame);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;stage.addEventListener(Event.RESIZE, onResize);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// リサイズイベント用関数<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private function onResize(e:Event):void {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;viewport.x=(stage.stageWidth - WW * 2) * 0.5 - 4;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;viewport.y=(stage.stageHeight - HH * 2) * 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// エンターフレームイベント用関数<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private function onEnterFrame(e:Event):void {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;space.yaw(1);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;space.pitch(1);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// スペクトラムの処理<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;SoundMixer.computeSpectrum(bytes, true, 0);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var i:int;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for (i = 0; i &lt; 256; i++) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;spectrum[i] = bytes.readFloat();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for (var j=0; j &lt; PLANE_N; j++) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var p:Plane = planeArray[j]as Plane;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;p.scaleX = 1 + 20 * spectrum[Math.floor(256 / PLANE_N * j)];<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;p.rotationZ -= 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;renderer.renderScene(scene,camera,viewport);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;// HSB -&gt; RGBの変換<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private function HSBtoRGB(hue:Number, saturation:Number, brightness:Number):uint {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var r:int=0;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var g:int=0;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var b:int=0;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (saturation == 0) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;r=g=b=brightness * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} else {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var h:Number=(hue - Math.floor(hue)) * 6.0;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var f:Number=h - Math.floor(h);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var p:Number=brightness * (1.0 - saturation);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var q:Number=brightness * (1.0 - saturation * f);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var t:Number=brightness * (1.0 - (saturation * (1.0 - f)));<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;switch (int(h)) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case 0 :<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;r=brightness * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;g=t * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;b=p * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case 1 :<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;r=q * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;g=brightness * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;b=p * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case 2 :<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;r=p * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;g=brightness * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;b=t * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case 3 :<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;r=p * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;g=q * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;b=brightness * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case 4 :<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;r=t * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;g=p * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;b=brightness * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;case 5 :<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;r=brightness * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;g=p * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;b=q * 255.0 + 0.5;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return r &lt;&lt; 16 | g &lt;&lt; 8 | b &lt;&lt; 0;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/><br/>&#160;&#160;&#160;&#160;}<br/>}<br/><br/></div></div>]]></description>
		</item>
		
			<item>
			<link>http://www.guodong.net/blog/article.asp?id=291</link>
			<title><![CDATA[APE物理引擎做的大脚车]]></title>
			<author>zhangqinghu@gmail.com(admin)</author>
			<category><![CDATA[Flash/Ria/Air]]></category>
			<pubDate>Sun,15 Nov 2009 02:53:05 +0800</pubDate>
			<guid>http://www.guodong.net/blog/default.asp?id=291</guid>
		<description><![CDATA[车的元素是偷来的，用ape物理引擎做了个开车的小demo，飞跃什么还真蛮逼真的~~<br/><br/><img src="http://www.guodong.net/blog/attachments/month_0911/w2009111525319.jpg" border="0" alt=""/><br/>]]></description>
		</item>
		
</channel>
</rss>
