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

<channel>
	<title>miniapp</title>
	<atom:link href="http://miniapp.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://miniapp.org/blog</link>
	<description>ログ</description>
	<lastBuildDate>Mon, 19 Sep 2011 21:01:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FlashBuilderの便利機能とかショートカットとか</title>
		<link>http://miniapp.org/blog/2011/06/09/276/</link>
		<comments>http://miniapp.org/blog/2011/06/09/276/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 06:52:37 +0000</pubDate>
		<dc:creator>miniapp</dc:creator>
				<category><![CDATA[IDE]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://miniapp.org/blog/2011/06/09/276/</guid>
		<description><![CDATA[				【1．ソース解析偏】
				下記はhoge.method()と書いてある箇所や、public function method():voidという箇所あったとして、methodの部分にカーソルを置いて行う。
				重要度★★★★★ (必須)
				定義元にジャンプ
				F3
				実装部分を探す
				⌘+G
				F3で参照元に飛ぶとインターフェースに飛んでしまう場合に威力を発揮
				関数がどこから呼ばれているか探す
				右クリック → 呼び出し階層を開く (Control + Alt + H)
				戻る/進む
				⌘ + [ (戻る)、⌘ + ] (進む)
				F3等で定義元に飛んだ後、元の場所に戻る。マウスの戻る、進むボタンを押しても同じ。
				(WindowsならAlt + ←、Alt + →)
				重要度★★★★ (重要)
				クラス名でファイル検索
				⌘ + Shift + r
				ワークスペース全体から検索
				⌘ + Shift + f (flashbuilder4.5は ⌘ + h)
				重要度★★★ (便利)
				直近に出た単語を補完
				Control + . (WindowsだとAlt + /)
				Control + spaceの補完とは違い、候補を出さずに直近に出た単語から補完する。追加で連続入力できる。
				コメントアウト生成
				⌘ + Shift + d
				
				import文を整理 (不要なimportも削除してくれる)
				⌘ + Shift + o
				直近まで編集していた箇所に戻る
				Control + q
				手元が狂って妙な箇所に画面がフォーカスしてしまった際に便利
				行数指定をして移動
				⌘ + l
				デバッグ用にパブリッシュ
				⌘ [...]]]></description>
			<content:encoded><![CDATA[				<h3>【1．ソース解析偏】</h3>
				<p>下記はhoge.method()と書いてある箇所や、public function method():voidという箇所あったとして、methodの部分にカーソルを置いて行う。</p>
				<h2>重要度★★★★★ (必須)</h2>
				<h3>定義元にジャンプ</h3>
				<p>F3</p>
				<h3>実装部分を探す</h3>
				<p>⌘+G</p>
				<p>F3で参照元に飛ぶとインターフェースに飛んでしまう場合に威力を発揮</p>
				<h3>関数がどこから呼ばれているか探す</h3>
				<p>右クリック → 呼び出し階層を開く (Control + Alt + H)</p>
				<h3>戻る/進む</h3>
				<p>⌘ + [ (戻る)、⌘ + ] (進む)</p>
				<p>F3等で定義元に飛んだ後、元の場所に戻る。マウスの戻る、進むボタンを押しても同じ。</p>
				<p>(WindowsならAlt + ←、Alt + →)</p>
				<h2>重要度★★★★ (重要)</h2>
				<h3>クラス名でファイル検索</h3>
				<p>⌘ + Shift + r</p>
				<h3>ワークスペース全体から検索</h3>
				<p>⌘ + Shift + f (flashbuilder4.5は ⌘ + h)</p>
				<h2>重要度★★★ (便利)</h2>
				<h3>直近に出た単語を補完</h3>
				<p>Control + . (WindowsだとAlt + /)</p>
				<p>Control + spaceの補完とは違い、候補を出さずに直近に出た単語から補完する。追加で連続入力できる。</p>
				<h3>コメントアウト生成</h3>
				<p>⌘ + Shift + d</p>
				<p><img src="http://miniapp.org/wordpress/wp-content/uploads/2011/09/comment.png" width="389" height="143" alt="comment.png" /></p>
				<h3>import文を整理 (不要なimportも削除してくれる)</h3>
				<p>⌘ + Shift + o</p>
				<h3>直近まで編集していた箇所に戻る</h3>
				<p>Control + q</p>
				<p>手元が狂って妙な箇所に画面がフォーカスしてしまった際に便利</p>
				<h3>行数指定をして移動</h3>
				<p>⌘ + l</p>
				<h3>デバッグ用にパブリッシュ</h3>
				<p>⌘ + F11</p>
				<h2>重要度★★ </h2>
				<h3>開いているファイルを表示</h3>
				<p>⌘ + e</p>
				<h3>1行コメントアウト</h3>
				<p>⌘ + /</p>
				<h3>複数行コメントアウト</h3>
				<p>⌘ + Shift + C</p>
				<h2>重要度★</h2>
				<h3>インクリメンタル検索</h3>
				<p>⌘ + J (⌘ + Shift + J)</p>
				<p>フッター部分に『インクリメンタル検索』と表示されたら、検索したい単語をタイプする。</p>
				<h3>クラスのプロパティ、メソッドを表示</h3>
				<p> ⌘ + o</p>
				<h3>ショートカット一覧を表示</h3>
				<p>⌘ + Shift + l</p>
				<h3>【2．デバッグ偏】</h3>
				<p><b>■ブックマーク</b><br />
				行数表示の部分を右クリック → ブックマークに追加 ウィンドウ → 他のビュー → ビューの表示windowが立ち上がるので、 一般フォルダからブックマークを選択。 <img src="http://miniapp.org/wordpress/wp-content/uploads/2011/06/view.png" width="439" height="480" alt="view.png" /><br />
				ブックマークに追加した部分が表示される。 <img src="http://miniapp.org/wordpress/wp-content/uploads/2011/06/view2.png" width="480" height="141" alt="view2.png" /></p>
				<p>
				<b>■条件つきブレークポイント</b><br />
				普通にブレークポイントを設定<br />
				ブレークポイントマークを右クリック → ブレークポイントプロパティ<br />
				条件を使用するにチェックを入れて、条件を入れる。</p>
				<p><b>■監視式の作成</b><br />
				プロパティを右クリック → 監視式の作成</p>
				<p><img src="http://miniapp.org/wordpress/wp-content/uploads/2011/06/%E7%9B%A3%E8%A6%96%E5%BC%8F.png" width="185" height="109" alt="監視式.png" /></p>
				<p>ブレークポイントで止まった際、そのプロパティの値が表示されるようになる。</p>
				<p><b>■プロファイラ</b><br />
				Mac版はバグがあるので、そのままでは使用できない。下記の手順を踏む。</p>
				<p>Finderを開き、⌘ + Shift + Gを入力。<br />
				/private/etc/と入力してエンター。<br />
				<img src="http://miniapp.org/wordpress/wp-content/uploads/2011/06/etc.png" width="480" height="286" alt="etc.png" /></p>
				<p>hostsという名のファイルがあるのでテキストエディタ等で開き、</p>
				<pre>
::1             localhost
</pre>
				<p>と記述されている箇所の先頭に#を書いてコメントアウトする。 <img src="http://miniapp.org/wordpress/wp-content/uploads/2011/06/ipv6.png" width="225" height="48" alt="ipv6.png" /></p>
				<p>【参考】<br />
				<a href="http://boondockradio.net/blog/?p=476">Flash Builder 4 Premium でデバッグプレイヤーが起動できなくなった！ | BOONDOCK RADIO</a></p>
]]></content:encoded>
			<wfw:commentRss>http://miniapp.org/blog/2011/06/09/276/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>経路探索 + クォータービュー</title>
		<link>http://miniapp.org/blog/2010/09/06/248/</link>
		<comments>http://miniapp.org/blog/2010/09/06/248/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 10:53:51 +0000</pubDate>
		<dc:creator>miniapp</dc:creator>
				<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://miniapp.org/blog/2010/09/06/248/</guid>
		<description><![CDATA[				
				クォータービューでの経路探索を試作。いまさらですが。
				青い障害物を避け、クリックした箇所に赤い箱が移動します。
				障害物はランダムに配置されます。
				iso + A*
				見てお分かりの通り詳解 ActionScript 3.0アニメーションの3章・4章の組み合わせです。
				メインとなるソースコードのみ貼っておきます。他の使用しているクラスは書籍と同じなので省きます。
				
package {
	import com.friendsofed.isometric.DrawnIsoBox;
	import com.friendsofed.isometric.DrawnIsoTile;
	import com.friendsofed.isometric.IsoUtils;
	import com.friendsofed.isometric.IsoWorld;
	import com.friendsofed.isometric.Point3D;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.events.MouseEvent;
	import flash.geom.Point;
	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.easing.Linear;
	import org.libspark.betweenas3.tweens._iTween;

	[SWF(backgroundColor=0xFFFFFF, width=830, height=500, frameRate=60)]
    public class GameIso extends Sprite {
		private static const _NUM_COLS:int [...]]]></description>
			<content:encoded><![CDATA[				<p><a target="_blank" href="http://miniapp.org/sample_flash/iso_astar/"><img src="http://miniapp.org/wordpress/wp-content/uploads/2010/09/iso1.png" alt="iso" title="iso" width="519" height="277" class="alignnone size-full wp-image-250" /></a></p>
				<p>クォータービューでの経路探索を試作。いまさらですが。<br />
				青い障害物を避け、クリックした箇所に赤い箱が移動します。<br />
				障害物はランダムに配置されます。<br />
				<a target="_blank" href="http://miniapp.org/sample_flash/iso_astar/">iso + A*</a></p>
				<p>見てお分かりの通り<a href="http://www.amazon.co.jp/gp/product/4873114373?ie=UTF8&#038;tag=miniapp-22&#038;linkCode=as2&#038;camp=247&#038;creative=7399&#038;creativeASIN=4873114373">詳解 ActionScript 3.0アニメーション</a><img src="http://www.assoc-amazon.jp/e/ir?t=miniapp-22&#038;l=as2&#038;o=9&#038;a=4873114373" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />の3章・4章の組み合わせです。</p>
				<p>メインとなるソースコードのみ貼っておきます。他の使用しているクラスは書籍と同じなので省きます。</p>
				<pre name="code" class="actionscript">
package {
	import com.friendsofed.isometric.DrawnIsoBox;
	import com.friendsofed.isometric.DrawnIsoTile;
	import com.friendsofed.isometric.IsoUtils;
	import com.friendsofed.isometric.IsoWorld;
	import com.friendsofed.isometric.Point3D;
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.events.MouseEvent;
	import flash.geom.Point;
	import org.libspark.betweenas3.BetweenAS3;
	import org.libspark.betweenas3.easing.Linear;
	import org.libspark.betweenas3.tweens._iTween;

	[SWF(backgroundColor=0xFFFFFF, width=830, height=500, frameRate=60)]
    public class GameIso extends Sprite {
		private static const _NUM_COLS:int = 20;
		private static const _NUM_ROWS:int = 20;
		private static const _CELL_SIZE:int = 20;
		private static const _BOX_HEIGHT:int = 22;

		private var _world:IsoWorld;
        private var _grid:Grid;
        private var _player:DrawnIsoBox;
        private var _index:int;
        private var _path:Array;
		private var _iTween:_iTween;

        public function GameIso() {
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;

			_world = new IsoWorld();
            _world.x = stage.stageWidth / 2;
            _world.y = 50;
            addChild(_world);

            makePlayer();
            makeGrid();
			drawGrid();

            _world.addEventListener(MouseEvent.CLICK, onGridClick);
        }

        private function makePlayer():void {
			_player = new DrawnIsoBox(_CELL_SIZE, 0xff0000, _BOX_HEIGHT);
            _player.x = _CELL_SIZE * int(Math.random() * _NUM_COLS);
            _player.z = _CELL_SIZE * int(Math.random() * _NUM_ROWS);
            _world.addChildToWorld(_player);
        }

        private function makeGrid():void {
            _grid = new Grid(_NUM_COLS, _NUM_ROWS);
            for (var i:int = 0; i < 60; i++) {
                _grid.setWalkable(Math.floor(Math.random() * _NUM_COLS),
                                  Math.floor(Math.random() * _NUM_COLS),
                                  false);
            }
        }

        private function drawGrid():void {
            for (var i:int = 0; i < _grid.numCols; i++) {
                for (var j:int = 0; j < _grid.numRows; j++) {
                    var node:Node = _grid.getNode(i, j);
					if (node.walkable) {
						var tile:DrawnIsoTile = new DrawnIsoTile(_CELL_SIZE, 0xffffff);
						tile.position = new Point3D(i * _CELL_SIZE, 0, j * _CELL_SIZE);
						_world.addChildToFloor(tile);
					}
					else {
						var box:DrawnIsoBox = new DrawnIsoBox(_CELL_SIZE, 0x336699, _BOX_HEIGHT);
						box.x = i * _CELL_SIZE;
						box.z = j * _CELL_SIZE;
						_world.addChildToWorld(box);
					}
                }
            }
        }

        private function onGridClick(event:MouseEvent):void {
			var p:Point3D = IsoUtils.screenToIso(new Point(_world.mouseX, _world.mouseY));

			var xpos:int = Math.floor((p.x + _CELL_SIZE / 2) / _CELL_SIZE);
            var ypos:int = Math.floor((p.z + _CELL_SIZE / 2) / _CELL_SIZE);
            _grid.setEndNode(xpos, ypos);

			xpos = Math.floor((_player.x + _CELL_SIZE / 2) / _CELL_SIZE);
            ypos = Math.floor((_player.z + _CELL_SIZE / 2) / _CELL_SIZE);

            _grid.setStartNode(xpos, ypos);
            findPath();
        }

        /**
         * AStarのインスタンスを生成して、経路探索に用いる。
         */
        private function findPath():void {
            var astar:AStar = new AStar();
            if (astar.findPath(_grid)) {
				if(_iTween &#038;&#038; _iTween.isPlaying) _iTween.stop();
                _path = astar.path;
                _index = -1;
				move();
            }
        }

		private function move():void {
			if (_path[++_index]) {
				var targetX:Number = _path[_index].x * _CELL_SIZE;
				var targetY:Number = _path[_index].y * _CELL_SIZE;

				_iTween = BetweenAS3.tween(_player, { x: targetX, z:targetY }, null, 0.1, Linear.easeNone);
				_iTween.onComplete = move;
				_iTween.onUpdate = _world.sort;
				_iTween.play();
            }
		}
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://miniapp.org/blog/2010/09/06/248/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wonderflのタグをsuggestするグリモンを更新</title>
		<link>http://miniapp.org/blog/2010/09/06/243/</link>
		<comments>http://miniapp.org/blog/2010/09/06/243/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 10:49:33 +0000</pubDate>
		<dc:creator>miniapp</dc:creator>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://miniapp.org/blog/2010/09/06/243/</guid>
		<description><![CDATA[				
				以前wonderflでお気に入り作品にタグ付けする際、サジェストを出すグリモンを書いたのですが、
				wonderflのHTML構造が変更されたので使えなくなっていました。
				今回、新しいページ構造でも使えるようアップデートしました。
				元のページか下記からインストールお願いします。
				▼wonderflTagSuggest.user.js
]]></description>
			<content:encoded><![CDATA[				<p><a href="http://miniapp.org/wordpress/wp-content/uploads/2010/09/suggest.png"><img src="http://miniapp.org/wordpress/wp-content/uploads/2010/09/suggest.png" alt="suggest" title="suggest" width="386" height="356" class="alignnone size-full wp-image-244" /></a></p>
				<p><a href="http://miniapp.org/blog/2010/06/04/212/">以前</a>wonderflでお気に入り作品にタグ付けする際、サジェストを出すグリモンを書いたのですが、<br />
				wonderflのHTML構造が変更されたので使えなくなっていました。</p>
				<p>今回、新しいページ構造でも使えるようアップデートしました。<br />
				<a href="http://miniapp.org/blog/2010/06/04/212/">元のページ</a>か下記からインストールお願いします。</p>
				<p>▼<a href="http://miniapp.org/gm_scripts/wonderflTagSuggest.user.js">wonderflTagSuggest.user.js</a></p>
]]></content:encoded>
			<wfw:commentRss>http://miniapp.org/blog/2010/09/06/243/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>テトリスを作ってみた</title>
		<link>http://miniapp.org/blog/2010/08/31/233/</link>
		<comments>http://miniapp.org/blog/2010/08/31/233/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 13:45:30 +0000</pubDate>
		<dc:creator>miniapp</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>

		<guid isPermaLink="false">http://miniapp.org/blog/2010/08/31/233/</guid>
		<description><![CDATA[				ふとテトリスのプログラムに興味を持ち、練習がてらに作ってみました。
				なんの装飾も演出ない、むき出し状態です。
				スペースで回転、十字キーで移動。
				
				去年のCEDECに行かれた方がいて、その時の資料を頂いたんですが、
				その資料の中にテトリスの作り方が載っていたので、それを参考にしてみました。
				資料を書いた方はゲームプログラマになる前に覚えておきたい技術の著者の方です。この方は凄いですね‥。
				たかがテトリスですが、かなり勉強になりました。
				色々な実装方法があるようで、奥が深いですね。
				例えばflashrodさんのTetrisがありますが、ソースが短いです。
				かなりテクニカルな事をしてるっぽい感じで、ぱっと見、何をしているのか分かりません。
				さらに、500バイト以下のテトリスとかありますしね。
]]></description>
			<content:encoded><![CDATA[				<p>ふとテトリスのプログラムに興味を持ち、練習がてらに作ってみました。</p>
				<p>なんの装飾も演出ない、むき出し状態です。<br />
				スペースで回転、十字キーで移動。</p>
				<div style="text-align:center;width:465px;"><iframe title="tetris - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/8vkq" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/c/8vkq"></a></div>
				<p>去年の<a href="http://cedec.cesa.or.jp/2010/">CEDEC</a>に行かれた方がいて、その時の資料を頂いたんですが、<br />
				その資料の中にテトリスの作り方が載っていたので、それを参考にしてみました。<br />
				資料を書いた方は<a href="http://www.amazon.co.jp/gp/product/4798021180?ie=UTF8&#038;tag=miniapp-22&#038;linkCode=as2&#038;camp=247&#038;creative=7399&#038;creativeASIN=4798021180">ゲームプログラマになる前に覚えておきたい技術</a><img src="http://www.assoc-amazon.jp/e/ir?t=miniapp-22&#038;l=as2&#038;o=9&#038;a=4798021180" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />の著者の方です。この方は凄いですね‥。</p>
				<p>たかがテトリスですが、かなり勉強になりました。<br />
				色々な実装方法があるようで、奥が深いですね。</p>
				<p>例えば<a href="http://wonderfl.net/c/d3L4">flashrodさんのTetris</a>がありますが、ソースが短いです。<br />
				かなりテクニカルな事をしてるっぽい感じで、ぱっと見、何をしているのか分かりません。</p>
				<p>さらに、<a href="http://zapanet.info/blog/item/1130">500バイト以下のテトリス</a>とかありますしね。</p>
]]></content:encoded>
			<wfw:commentRss>http://miniapp.org/blog/2010/08/31/233/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>wonderflでタグをサジェスト・補完するgreasemonkey書きました</title>
		<link>http://miniapp.org/blog/2010/06/04/212/</link>
		<comments>http://miniapp.org/blog/2010/06/04/212/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 14:35:10 +0000</pubDate>
		<dc:creator>miniapp</dc:creator>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://miniapp.org/blog/2010/06/04/212/</guid>
		<description><![CDATA[				
				作品をお気に入りに入れてタグを付ける際、サジェストが出るとタグ付けが
				楽になるなーと思ったので、サジェストを出すgreasemonkeyScriptを書きました。
				以下からインストールして下さい。
				wonderflTagSuggest.user.js
				補完候補になるのは、過去に自分が付けたタグです。
				上下キーで選択、タブかエンターキーで決定です。
				部分的に一致すれば補完候補になるようにしています。
				いずれflash developのような候補の選び方にしたいです。
]]></description>
			<content:encoded><![CDATA[				<p><a href="http://miniapp.org/wordpress/wp-content/uploads/2010/06/ピクチャ-2.png"><img src="http://miniapp.org/wordpress/wp-content/uploads/2010/06/ピクチャ-2.png" alt="ピクチャ 2" title="ピクチャ 2" width="183" height="316" class="alignnone size-full wp-image-213" /></a></p>
				<p>作品をお気に入りに入れてタグを付ける際、サジェストが出るとタグ付けが<br />
				楽になるなーと思ったので、サジェストを出すgreasemonkeyScriptを書きました。</p>
				<p>以下からインストールして下さい。<br />
				<a href="http://miniapp.org/gm_scripts/wonderflTagSuggest.user.js">wonderflTagSuggest.user.js</a></p>
				<p>補完候補になるのは、過去に自分が付けたタグです。<br />
				上下キーで選択、タブかエンターキーで決定です。</p>
				<p>部分的に一致すれば補完候補になるようにしています。<br />
				いずれflash developのような候補の選び方にしたいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://miniapp.org/blog/2010/06/04/212/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>もんたメソッドを使ったiPhone英語勉強をナメているすべての人たちへ</title>
		<link>http://miniapp.org/blog/2010/02/28/191/</link>
		<comments>http://miniapp.org/blog/2010/02/28/191/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 16:55:43 +0000</pubDate>
		<dc:creator>miniapp</dc:creator>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://miniapp.org/blog/?p=191</guid>
		<description><![CDATA[				タイトルはホッテントリメーカーつかってみました。おもしろい！
				英語の勉強用に、iPhone用の勉強ページを作りました
				一問目のページ
				
				黒い部分をタップすると答えが見られるようになっています。左下のresetボタンで元に戻ります。
				これは、少し前に話題になった(？)『もんたメソッド』を使っています。
				レイアウトがギュウギュウですが、あんまりスクロールしなくてもいいようにしたかったので。
				iphoneだとcssでposition:fixedが出来ないんですかね？ 問題の例文はスクロールしてもずっと表示させたかったんですが。
				まだまだ途中で、10問目までしかありません。
				作った経緯
				以前、急がばまわれ式・堅実で一番効率的な英語の勉強法という記事を読んだ時に、お薦めされていた下記の本を買いました。
				
				
				英語リーディング教本―基本からわかる
				
				
				
				おすすめ平均 素晴らしい!頭が混乱する本素晴らしい徹底的に文法という標識に従って読む、自分の想像で読んではいけない薬袋三部作　応用編
				Amazonで詳しく見る by G-Tools
				
				
				かなり大雑把に説明に説明しますが、この本の最初に載っている『本書の効果的な勉強方法』によれば、まずは『練習用TEXTを何度も繰り返し、全部の答えを「テキストの文言通り寸分違わず、しかもよどみなく言える」ようになるまで自分を鍛えよ』と書いてあります。
				寸分違わず、九九の暗算を暗唱するように、間髪を入れずに答えられるようになるべし、と。
				そして『練習用TEXTを丸暗記するだけでも、相当のところまで所見の英文の構造が分かるようになる』とまで書いてあります。そこまで練習用TEXTを暗記する事は重要な事のようです。そこで、今回の暗記用のページを作ってみました。
				一日一ページは増やして行きたいところ。全文で38問。
]]></description>
			<content:encoded><![CDATA[				<p>タイトルは<a href="http://pha22.net/hotentry/">ホッテントリメーカー</a>つかってみました。おもしろい！</p>
				<h3>英語の勉強用に、iPhone用の勉強ページを作りました</h3>
				<p><a href="http://miniapp.org/english/q1.html">一問目のページ</a><br />
				<a href="http://miniapp.org/english/q1.html"><img src="http://miniapp.org/wordpress/wp-content/uploads/2010/02/IMG_0469.PNG" width="320" height="480" alt="IMG_0469.PNG" /></a></p>
				<p>黒い部分をタップすると答えが見られるようになっています。左下のresetボタンで元に戻ります。<br />
				これは、少し前に話題になった(？)『もんたメソッド』を使っています。<br />
				レイアウトがギュウギュウですが、あんまりスクロールしなくてもいいようにしたかったので。<br />
				iphoneだとcssでposition:fixedが出来ないんですかね？ 問題の例文はスクロールしてもずっと表示させたかったんですが。</p>
				<p>まだまだ途中で、10問目までしかありません。</p>
				<h3>作った経緯</h3>
				<p>以前、<a href="http://anond.hatelabo.jp/20091026215137">急がばまわれ式・堅実で一番効率的な英語の勉強法</a>という記事を読んだ時に、お薦めされていた下記の本を買いました。</p>
				<table  border="0" cellpadding="5">
				<tr>
				<td colspan="2"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4327451371/miniapp-22/ref=nosim/" target="_blank">英語リーディング教本―基本からわかる</a></td>
				</tr>
				<tr>
				<td valign="top"><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4327451371/miniapp-22/ref=nosim/" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51EGND706RL._SL160_.jpg" border="0" alt="英語リーディング教本―基本からわかる" /></a></td>
				<td valign="top"><font size="-1"><br /><strong>おすすめ平均</strong> <img src="http://g-images.amazon.com/images/G/01/detail/stars-4-5.gif" /><br /><img src="http://g-images.amazon.com/images/G/01/detail/stars-5-0.gif" alt="stars" />素晴らしい!<br /><img src="http://g-images.amazon.com/images/G/01/detail/stars-1-0.gif" alt="stars" />頭が混乱する本<br /><img src="http://g-images.amazon.com/images/G/01/detail/stars-5-0.gif" alt="stars" />素晴らしい<br /><img src="http://g-images.amazon.com/images/G/01/detail/stars-5-0.gif" alt="stars" />徹底的に文法という標識に従って読む、自分の想像で読んではいけない<br /><img src="http://g-images.amazon.com/images/G/01/detail/stars-5-0.gif" alt="stars" />薬袋三部作　応用編</p>
				<p><a href="http://www.amazon.co.jp/exec/obidos/ASIN/4327451371/miniapp-22/ref=nosim/" target="_blank">Amazonで詳しく見る</a></font><font size="-2"> by <a href="http://www.goodpic.com/mt/aws/index.html" >G-Tools</a></font></td>
				</tr>
				</table>
				<p>かなり大雑把に説明に説明しますが、この本の最初に載っている『本書の効果的な勉強方法』によれば、まずは<b>『練習用TEXTを何度も繰り返し、全部の答えを「テキストの文言通り寸分違わず、しかもよどみなく言える」ようになるまで自分を鍛えよ』</b>と書いてあります。<br />
				寸分違わず、<b>九九の暗算を暗唱するように、間髪を入れずに答えられるようになるべし</b>、と。</p>
				<p>そして『練習用TEXTを丸暗記するだけでも、相当のところまで所見の英文の構造が分かるようになる』とまで書いてあります。そこまで練習用TEXTを暗記する事は重要な事のようです。そこで、今回の暗記用のページを作ってみました。</p>
				<p>一日一ページは増やして行きたいところ。全文で38問。</p>
]]></content:encoded>
			<wfw:commentRss>http://miniapp.org/blog/2010/02/28/191/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>マウスで操作出来るスリットスキャン</title>
		<link>http://miniapp.org/blog/2010/01/15/176/</link>
		<comments>http://miniapp.org/blog/2010/01/15/176/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 10:44:49 +0000</pubDate>
		<dc:creator>miniapp</dc:creator>
				<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://miniapp.org/blog/2010/01/15/176/</guid>
		<description><![CDATA[				スリットスキャンに、
				マウスのインタラクションを付けるとどうなるかな、と思い、作ってみました。
				
				最初は意識していなかったんだけど、以前教えてもらったこちらに似てしまった。
				BitmapData::drawで毎フレーム動画をキャプチャし、配列に保存しています。
				今回は過去400枚を保存しています。かなり多いと思うんですが、いけるもんですねぇ。
				映像を縦1pxづつに区切って管理し、それぞれに何フレーム早めるか、遅らせるかを管理しています。
				デフォルトでは保存したキャプチャの真ん中を表示。(今回は400枚保存してるから、200枚目を表示。)
				BetweenAs3のイージングを変えるとまた違った感じになります。
				ちょっとハマったのが、NetStreamインスタンスをローカル変数にすると、drawする時に下のセキュリティエラーが出る事。
				SecurityError: Error #2123: セキュリティサンドボックス侵害 : BitmapData.draw: file:///hoge.swf は unknown URL にアクセスできません。ポリシーファイルへのアクセスも許可されていません。
drawする時にNetStreamインスタンスを参照して何かチェックしてるんですかね？
すぐにエラーが出ずに、しばらくすると出るのも謎でした。
一番良かったのは、絶好の映像ネタが見つかった事w
背景が固定で人が動く映像が見つかって良かった。
背景まで動いているとグチャグチャになりすぎてしまい、良く分からない映像になってしまいます。
ムーンウォークしてる人は、もちろん僕じゃないですよ！w
]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.youtube.com/watch?v=rzA3QBioYw4">スリットスキャン</a>に、<br />
				マウスのインタラクションを付けるとどうなるかな、と思い、作ってみました。</p>
				<div style="text-align:center;width:465px;"><iframe title="マウスで操作するSlitScan - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/18f74cae690c882e0765189fedef2150f6d55638" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/18f74cae690c882e0765189fedef2150f6d55638" title="flash on 2010-1-15 - wonderfl build flash online"></a></div>
				<p>最初は意識していなかったんだけど、以前教えてもらった<a href="http://www.k2.t.u-tokyo.ac.jp/members/alvaro/Khronos/Khronos_P5/Khronos_Applets.htm">こちら</a>に似てしまった。</p>
				<p>BitmapData::drawで毎フレーム動画をキャプチャし、配列に保存しています。<br />
				今回は過去400枚を保存しています。かなり多いと思うんですが、いけるもんですねぇ。</p>
				<p>映像を縦1pxづつに区切って管理し、それぞれに何フレーム早めるか、遅らせるかを管理しています。<br />
				デフォルトでは保存したキャプチャの真ん中を表示。(今回は400枚保存してるから、200枚目を表示。)</p>
				<p>BetweenAs3のイージングを変えるとまた違った感じになります。</p>
				<p>ちょっとハマったのが、NetStreamインスタンスをローカル変数にすると、drawする時に下のセキュリティエラーが出る事。</p>
				<pre>SecurityError: Error #2123: セキュリティサンドボックス侵害 : BitmapData.draw: file:///hoge.swf は unknown URL にアクセスできません。ポリシーファイルへのアクセスも許可されていません。</pre>
<p>drawする時にNetStreamインスタンスを参照して何かチェックしてるんですかね？<br />
すぐにエラーが出ずに、しばらくすると出るのも謎でした。</p>
<p>一番良かったのは、絶好の映像ネタが見つかった事w<br />
背景が固定で人が動く映像が見つかって良かった。<br />
背景まで動いているとグチャグチャになりすぎてしまい、良く分からない映像になってしまいます。<br />
ムーンウォークしてる人は、もちろん僕じゃないですよ！w</p>
]]></content:encoded>
			<wfw:commentRss>http://miniapp.org/blog/2010/01/15/176/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fluid</title>
		<link>http://miniapp.org/blog/2009/10/22/131/</link>
		<comments>http://miniapp.org/blog/2009/10/22/131/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 13:09:22 +0000</pubDate>
		<dc:creator>miniapp</dc:creator>
				<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://miniapp.org/blog/2009/10/22/131/</guid>
		<description><![CDATA[				前回asに書き直しただけのFluid \ Learning \ Processing 1.0のソースを解体して整理。クラス構造も大幅に変えてます。
				それから、オリジナルはマス目に色を塗って動きを出していますが、パーティクルを表示して動かす形に変更しました。
				オリジナルは作製途中なのかな、って感じがしました。。
				気泡っぽい感じが出た。
				流体パーティクル
]]></description>
			<content:encoded><![CDATA[				<p><a href="http://miniapp.org/blog/2009/10/09/108/">前回</a>asに書き直しただけの<a href="http://processing.org/learning/topics/fluid.html">Fluid \ Learning \ Processing 1.0</a>のソースを解体して整理。クラス構造も大幅に変えてます。<br />
				それから、オリジナルはマス目に色を塗って動きを出していますが、パーティクルを表示して動かす形に変更しました。</p>
				<p>オリジナルは作製途中なのかな、って感じがしました。。</p>
				<p>気泡っぽい感じが出た。</p>
				<div style="text-align:center;width:465px;"><iframe title="flash on 2009-10-22 - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/23f89f2a5e8d9df21c8a72210c2a22c9c7490600" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/23f89f2a5e8d9df21c8a72210c2a22c9c7490600" title="flash on 2009-10-22 - wonderfl build flash online">流体パーティクル</a></div>
]]></content:encoded>
			<wfw:commentRss>http://miniapp.org/blog/2009/10/22/131/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Processingの流体サンプルをasに</title>
		<link>http://miniapp.org/blog/2009/10/09/108/</link>
		<comments>http://miniapp.org/blog/2009/10/09/108/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 14:35:04 +0000</pubDate>
		<dc:creator>miniapp</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://miniapp.org/blog/2009/10/09/108/</guid>
		<description><![CDATA[				[Flash]流体っぽいのを作ろうと思った &#124; blog ViolentCoding
				を見てずっと気になっていたんですが、同記事で紹介されている
				Fluid \ Learning \ Processing 1.0
				をそのままas3に持ってきてみました。
				Processingの流体サンプルをそのまま持ってきたもの &#8211; wonderfl build flash online
				変数宣言が微妙に違うぐらいで、そこを直せば割とあっさり動きました。
				最適化してないせいもあるけど、やっぱFlashは重いですね。
				変数名なんかはそのままです。
				スパイス的な謎の定数が結構あって完全に読み解くのは大変そう。
				しかし紹介して下さったe_s_jpさんが作ってるDisplacementMapFilterのバージョンですが、
				よくあそこまで膨らませたなぁ、と思います。
				凄いす。
				僕も、processing.orgから持ってきたコードを、もうちょっと分かりやすく分解して理解してみようと思います。
				変数名なんかを自分用に置き換えただけなのはコレ。
				
package {
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.display.StageQuality;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Rectangle;

	[SWF(backgroundColor="0x0", width="465", height="465", frameRate="60")]
	public class Main2 extends Sprite {

		public function Main2():void {
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}

		private var pmouseX:Number;
		private var pmouseY:Number;

		private function init(e:Event = null):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
			stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
			stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
			stage.quality = StageQuality.MEDIUM;

			addChild(new Bitmap(canvas));

			numCols = width / [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://violentcoding.com/blog/2008/07/26/archives/135">[Flash]流体っぽいのを作ろうと思った | blog ViolentCoding</a><br />
				を見てずっと気になっていたんですが、同記事で紹介されている</p>
				<p><a href="http://processing.org/learning/topics/fluid.html">Fluid \ Learning \ Processing 1.0</a><br />
				をそのままas3に持ってきてみました。</p>
				<div style="text-align:center;width:465px;"><iframe title="Processingの流体サンプルをそのまま持ってきたもの - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/1cd3332c01c3d8f720fbb03560a9d7e0818fc10e" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/1cd3332c01c3d8f720fbb03560a9d7e0818fc10e" title="Processingの流体サンプルをそのまま持ってきたもの - wonderfl build flash online">Processingの流体サンプルをそのまま持ってきたもの &#8211; wonderfl build flash online</a></div>
				<p>変数宣言が微妙に違うぐらいで、そこを直せば割とあっさり動きました。<br />
				最適化してないせいもあるけど、やっぱFlashは重いですね。<br />
				変数名なんかはそのままです。<br />
				スパイス的な謎の定数が結構あって完全に読み解くのは大変そう。</p>
				<p>しかし紹介して下さったe_s_jpさんが作ってるDisplacementMapFilterのバージョンですが、<br />
				よくあそこまで膨らませたなぁ、と思います。<br />
				凄いす。</p>
				<p>僕も、processing.orgから持ってきたコードを、もうちょっと分かりやすく分解して理解してみようと思います。</p>
				<p>変数名なんかを自分用に置き換えただけなのはコレ。</p>
				<pre name="code" class="actionscript">
package {
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.display.StageQuality;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Rectangle;

	[SWF(backgroundColor="0x0", width="465", height="465", frameRate="60")]
	public class Main2 extends Sprite {

		public function Main2():void {
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}

		private var pmouseX:Number;
		private var pmouseY:Number;

		private function init(e:Event = null):void {
			removeEventListener(Event.ADDED_TO_STAGE, init);
			stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
			stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
			stage.quality = StageQuality.MEDIUM;

			addChild(new Bitmap(canvas));

			numCols = width / resolution;
			numRows = height / resolution;

			vsquaresVectors = new Vector.&gt;(numRows + 1);
			vbuffersVectors = new Vector.&gt;(numRows + 1);

			for (var i:int = 0; i &lt; numParticles; i++) {
				particles[i] = new Particle(Math.random() * width, Math.random() * height);
			}

			for (var col:int = 0; col &lt;= numCols; col++) {
				vsquaresVectors[col] = new Vector.(numCols + 1);
				vbuffersVectors[col] = new Vector.(numCols + 1);
				for (var row:int = 0; row &lt;= numRows; row++) {
					vsquaresVectors[col][row] = new Vsquare(col * resolution, row * resolution);
					vbuffersVectors[col][row] = new Vbuffer(col * resolution, row * resolution);
				}

				vsquaresVectors[col].fixed = true;//付け足し
				vbuffersVectors[col].fixed = true;//付け足し
			}

			vsquaresVectors.fixed = true;//付け足し
			vbuffersVectors.fixed = true;//付け足し

			addEventListener(Event.ENTER_FRAME, draw);
		}

		private function draw(e:Event):void {
			mouseX = this.mouseX;
			mouseY = this.mouseY;

			var axvel:int = mouseX - pmouseX;
			var ayvel:int = mouseY - pmouseY;

			mouseXvel = (axvel != mouseXvel) ? axvel : 0;
			mouseYvel = (ayvel != mouseYvel) ? ayvel : 0;

			for (var col:int = 0; col &lt; numCols; col++) {
				for (var row:int = 0; row &lt; numRows; row++) {
					vbuffersVectors[col][row].updatebuf(col, row);
					//何にも無い色の設定
					vsquaresVectors[col][row].color = 32;
				}
			}

			for each(var p:Particle in particles) {
				p.updatepos();
			}

			canvas.lock();//付け足し
			for (col = 0; col &lt; numCols; col++) {
				for (row = 0; row &lt; numRows; row++) {
					vsquaresVectors[col][row].addbuffer(col, row);
					vsquaresVectors[col][row].updatevels(axvel, ayvel);
					vsquaresVectors[col][row].display(col, row);
				}
			}
			canvas.unlock();//付け足し

			pmouseX = mouseX;
			pmouseY = mouseY;
		}

		private function mouseDownHandler(e:Event):void {
			mousePressed = true;
		}

		private function mouseUpHandler(e:Event):void {
			mousePressed = false;
		}
	}

}

import flash.display.BitmapData;
var width:int = 200;
var height:int = 200;
var mousePressed:Boolean;
var mouseX:Number = 0;
var mouseY:Number = 0;
var resolution:int = 5;
var penSize:int = 30;
var numCols:int;
var numRows:int;
var numParticles:int = 7000;
var vsquaresVectors:Vector.&gt;;
var vbuffersVectors:Vector.&gt;;
var particles:Vector. = new Vector.(numParticles, true);
var pcount:int = 0;
var mouseXvel:int = 0;
var mouseYvel:int = 0;
var canvas:BitmapData = new BitmapData(width, height, false, 0x0);

class Particle{
	public function Particle(xIn:Number, yIn:Number) {
		x = xIn;
		y = yIn;
	}

	public var x:Number;
	public var y:Number;
	public var xvel:Number = 0;
	public var yvel:Number = 0;
	public var pos:int = 0;

	public function updatepos():void {
		//var col1:Number;//使われていない
		if (x &gt; 0 &amp;&amp; x &lt; width &amp;&amp; y &gt; 0 &amp;&amp; y &lt; height) {
			var col:int = int(x / resolution);//自身が属しているvsquareを見つける
			var row:int = int(y / resolution);
			var vsquare:Vsquare = vsquaresVectors[col][row];

			var ax:Number = (x % resolution) / resolution;
			var ay:Number = (y % resolution) / resolution;

			xvel += (1 - ax) * vsquaresVectors[col][row].xvel * 0.05;
			yvel += (1 - ay) * vsquaresVectors[col][row].yvel * 0.05;

			xvel += ax * vsquaresVectors[col + 1][row].xvel * 0.05;
			yvel += ax * vsquaresVectors[col + 1][row].yvel * 0.05;

			xvel += ay * vsquaresVectors[col][row + 1].xvel * 0.05;
			yvel += ay * vsquaresVectors[col][row + 1].yvel * 0.05;

			//自身がいるマスの色を濃くする
			vsquare.color += 4;

			x += xvel;
			y += yvel;
		}
		else {
			x = Math.random() * width;
			y = Math.random() * height;
			xvel = 0;
			yvel = 0;
		}

		xvel *= 0.5;
		yvel *= 0.5;
	}
}

class Vbuffer {
	public function Vbuffer(xIn:int, yIn:int) {
		x = xIn;
		y = yIn;
		pressureX = 0;
		pressureY = 0;
	}

	public var x:int;
	public var y:int;
	public var xvel:Number = 0;
	public var yvel:Number = 0;
	public var pressureX:Number = 0;
	public var pressureY:Number = 0;
	public var pressure:Number = 0;

	public function updatebuf(col:int, row:int):void {
		if (col &gt; 0 &amp;&amp; col &lt; numCols &amp;&amp; row &gt; 0 &amp;&amp; row &lt; numRows) {
			pressureX = (
				  vsquaresVectors[col - 1][row - 1].xvel * 0.5
				+ vsquaresVectors[col - 1][row].xvel
				+ vsquaresVectors[col - 1][row + 1].xvel * 0.5
				- vsquaresVectors[col + 1][row - 1].xvel * 0.5
				- vsquaresVectors[col + 1][row].xvel
				- vsquaresVectors[col + 1][row + 1].xvel * 0.5
			);

			pressureY = (
				  vsquaresVectors[col - 1][row - 1].yvel * 0.5
				+ vsquaresVectors[col][row - 1].yvel
				+ vsquaresVectors[col + 1][row - 1].yvel * 0.5
				- vsquaresVectors[col - 1][row + 1].yvel * 0.5
				- vsquaresVectors[col][row + 1].yvel
				- vsquaresVectors[col + 1][row + 1].yvel * 0.5
			);

			pressure = (pressureX + pressureY) * 0.25;
		}
	}
}

import flash.geom.Rectangle;
class Vsquare{

	public function Vsquare(xIn:int, yIn:int) {
		x = xIn;
		y = yIn;
	}

	public var x:int;
	public var y:int;
	public var xvel:Number = 0;
	public var yvel:Number = 0;
	public var color:Number = 0;

	public function addbuffer(col:int, row:int):void {
		if (col &gt; 0 &amp;&amp; col &lt; numCols &amp;&amp; row &gt; 0 &amp;&amp; row &lt; numRows) {
			xvel += (
				  vbuffersVectors[col - 1][row - 1].pressure * 0.5
				+ vbuffersVectors[col - 1][row].pressure
				+ vbuffersVectors[col - 1][row + 1].pressure * 0.5
				- vbuffersVectors[col + 1][row - 1].pressure * 0.5
				- vbuffersVectors[col + 1][row].pressure
				- vbuffersVectors[col + 1][row + 1].pressure * 0.5
			) * 0.25;

			yvel += (
				  vbuffersVectors[col - 1][row - 1].pressure * 0.5
				+ vbuffersVectors[col][row - 1].pressure
				+ vbuffersVectors[col + 1][row - 1].pressure * 0.5
				- vbuffersVectors[col - 1][row + 1].pressure * 0.5
				- vbuffersVectors[col][row + 1].pressure
				- vbuffersVectors[col + 1][row + 1].pressure * 0.5
			) * 0.25;
		}
	}

	public function updatevels(mvelX:int, mvelY:int):void {
		if (mousePressed) {
			var dx:Number = x - mouseX;
			var dy:Number = y - mouseY;

			var dist:Number = Math.sqrt(dy * dy + dx * dx);
			if (dist &lt; penSize) {
				if (dist &lt; 4) dist = penSize;
				var mod:Number = penSize / dist;
				xvel += mvelX * mod;
				yvel += mvelY * mod;
			}
		}

		xvel *= 0.99;
		yvel *= 0.99;
	}

	public function display(i:int, u:int):void {
		var tempColor:uint = 0;

		if (color &gt; 255) color = 255;
		if (i &gt; 0 &amp;&amp; i &lt; numCols - 1 &amp;&amp; u &gt; 0 &amp;&amp; u &lt; numRows - 1) {
			tempColor = (
				  vsquaresVectors[i][u + 1].color
				+ vsquaresVectors[i + 1][u].color
				+ vsquaresVectors[i + 1][u + 1].color * 0.5
			) * 0.4;
			tempColor = int(tempColor + color * 0.5);
		}
		else {
			tempColor = int(color);
		}

		var rgb:uint = tempColor &lt;&lt; 16 | tempColor &lt;&lt; 8 | tempColor;
		canvas.fillRect(new Rectangle(x, y, resolution, resolution), rgb);
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://miniapp.org/blog/2009/10/09/108/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>うずまきエフェクト DisplacementMapFilterで</title>
		<link>http://miniapp.org/blog/2009/05/12/107/</link>
		<comments>http://miniapp.org/blog/2009/05/12/107/#comments</comments>
		<pubDate>Tue, 12 May 2009 11:42:45 +0000</pubDate>
		<dc:creator>miniapp</dc:creator>
				<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://miniapp.org/blog/2009/05/12/107/</guid>
		<description><![CDATA[				うずまき。
				うずまき &#8211; wonderfl build flash online
				球もつくりました。けど、これは偶然うまくいってる。
				mapBitmap作る部分が間違ってると思う。createDMF関数の中がおかしい。
				なので参考にしない方がいいです。すみません。
				ひょっとすると渦巻きも…？
				DisplacementMapFilter 球 &#8211; wonderfl build flash online
]]></description>
			<content:encoded><![CDATA[				<p>うずまき。</p>
				<div style="text-align:center;width:465px;"><iframe title="うずまき - wonderfl build flash online" src="http://wonderfl.kayac.com/blogparts/489b1698cbdd261c048b3d085ef9561f576701a9" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.kayac.com/code/489b1698cbdd261c048b3d085ef9561f576701a9" title="うずまき - wonderfl build flash online">うずまき &#8211; wonderfl build flash online</a></div>
				<p>球もつくりました。けど、これは偶然うまくいってる。<br />
				mapBitmap作る部分が間違ってると思う。createDMF関数の中がおかしい。<br />
				なので参考にしない方がいいです。すみません。<br />
				ひょっとすると渦巻きも…？</p>
				<div style="text-align:center;width:465px;"><iframe title="DisplacementMapFilter 球 - wonderfl build flash online" src="http://wonderfl.kayac.com/blogparts/66814ea6e4f251b38b3723aa8f67b0b0dc01431d" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.kayac.com/code/66814ea6e4f251b38b3723aa8f67b0b0dc01431d" title="DisplacementMapFilter 球 - wonderfl build flash online">DisplacementMapFilter 球 &#8211; wonderfl build flash online</a></div>
]]></content:encoded>
			<wfw:commentRss>http://miniapp.org/blog/2009/05/12/107/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

