<?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>blog.alterna.in</title>
	<atom:link href="http://blog.alterna.in/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.alterna.in</link>
	<description>Actionscript, Web, Interactive and Design</description>
	<lastBuildDate>Thu, 19 Aug 2010 14:32:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>退職のお知らせ</title>
		<link>http://blog.alterna.in/2010/07/04-013509.php</link>
		<comments>http://blog.alterna.in/2010/07/04-013509.php#comments</comments>
		<pubDate>Sat, 03 Jul 2010 16:35:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[未分類]]></category>

		<guid isPermaLink="false">http://blog.alterna.in/?p=410</guid>
		<description><![CDATA[2010年6月30日を持ちまして、株式会社スナップを退職しました。
非常にゆったりとした環境で、様々な事を学ぶ事ができました。
育てて頂いた恩を返せず心残りとなっていますが、偉大な先輩方に追いつくべく、自分をもっと向上させるべく、今回の決断に至りました。
7月1日からは、メタルレッドにてお世話になります。
これからもよろしくお願いします。
和泉俊樹
]]></description>
			<content:encoded><![CDATA[<p>2010年6月30日を持ちまして、株式会社スナップを退職しました。</p>
<p>非常にゆったりとした環境で、様々な事を学ぶ事ができました。<br />
育てて頂いた恩を返せず心残りとなっていますが、偉大な先輩方に追いつくべく、自分をもっと向上させるべく、今回の決断に至りました。</p>
<p>7月1日からは、メタルレッドにてお世話になります。<br />
これからもよろしくお願いします。</p>
<p>和泉俊樹</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alterna.in/2010/07/04-013509.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spark project 勉強会 SP3で発表しました</title>
		<link>http://blog.alterna.in/2010/06/16-164909.php</link>
		<comments>http://blog.alterna.in/2010/06/16-164909.php#comments</comments>
		<pubDate>Wed, 16 Jun 2010 07:49:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://blog.alterna.in/?p=391</guid>
		<description><![CDATA[2010年6月13日，Adobe Station 5にて「Spark project 勉強会 SP3」が開催されました。
僕は「AIR2.0でマルチタッチ」という題で発表しました。
当日の動画はUstreamで録画されていますので、御覧下さい。
ルーレットの魔力で大トリになってしまったので、最後から10分くらいで発表しております。

また、gihyo.jpにてレポートがアップされています。
当日の資料はこちらになります。
スライド
動画
コミットしました。
MultiTouchSpriteはSparkProjectにコミットしました。
Demoもコミットしてあります。
http://www.libspark.org/svn/as3/MultiTouchSprite/trunk/
DemoはFlashDevelopのプロジェクトとして読み込めます。
また、一つ前のエントリにて、少し解説をしています。
http://blog.alterna.in/2010/04/18-230815.php
いまのところ、touchPointIDをいい感じに取得することができないので、それも早いこと考えたいものです。
ちょっと蛇足
久しぶりの話す機会が、初SparkProject勉強会で、しかもStation5で、しかも大トリで。ということで緊張しました。今考えたら話す構成もめちゃくちゃだし、いろいろ反省すべき部分は多いですが、楽しかったです。
また、Ust録画してもらったりとか、レポートに掲載されたりとか初めての体験なのですごくうれしいです。
今年は人前に出る機会を増やしていけたらなーと思っていて、そのためにはいろいろ作らないとね！ってことです。
]]></description>
			<content:encoded><![CDATA[<p>2010年6月13日，Adobe Station 5にて「Spark project 勉強会 SP3」が開催されました。<br />
僕は「AIR2.0でマルチタッチ」という題で発表しました。</p>
<p>当日の動画はUstreamで録画されていますので、御覧下さい。<br />
ルーレットの魔力で大トリになってしまったので、最後から10分くらいで発表しております。</p>
<p><object id="utv696682" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="386" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="name" value="utv_n_112700" /><param name="flashvars" value="loc=%2F&amp;autoplay=false&amp;vid=7631517&amp;locale=ja_JP" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.ustream.tv/flash/video/7631517" /><embed id="utv696682" type="application/x-shockwave-flash" width="480" height="386" src="http://www.ustream.tv/flash/video/7631517" allowscriptaccess="always" allowfullscreen="true" flashvars="loc=%2F&amp;autoplay=false&amp;vid=7631517&amp;locale=ja_JP" name="utv_n_112700"></embed></object></p>
<p>また、<a href="http://gihyo.jp/">gihyo.jp</a>にて<a href="http://gihyo.jp/news/report/2010/06/1401">レポート</a>がアップされています。</p>
<p>当日の資料はこちらになります。</p>
<p><a href="http://alterna.in/demo/SparkStudy_sp3/slide.pdf">スライド</a><br />
<a href="http://alterna.in/demo/SparkStudy_sp3/demo.mp4">動画</a></p>
<h3>コミットしました。</h3>
<p>MultiTouchSpriteはSparkProjectにコミットしました。<br />
Demoもコミットしてあります。</p>
<p><a href="http://www.libspark.org/svn/as3/MultiTouchSprite/trunk/">http://www.libspark.org/svn/as3/MultiTouchSprite/trunk/</a><br />
DemoはFlashDevelopのプロジェクトとして読み込めます。</p>
<p>また、一つ前のエントリにて、少し解説をしています。<br />
<a href="http://blog.alterna.in/2010/04/18-230815.php">http://blog.alterna.in/2010/04/18-230815.php</a></p>
<p>いまのところ、touchPointIDをいい感じに取得することができないので、それも早いこと考えたいものです。</p>
<h3>ちょっと蛇足</h3>
<p>久しぶりの話す機会が、初SparkProject勉強会で、しかもStation5で、しかも大トリで。ということで緊張しました。今考えたら話す構成もめちゃくちゃだし、いろいろ反省すべき部分は多いですが、楽しかったです。<br />
また、Ust録画してもらったりとか、レポートに掲載されたりとか初めての体験なのですごくうれしいです。<br />
今年は人前に出る機会を増やしていけたらなーと思っていて、そのためにはいろいろ作らないとね！ってことです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alterna.in/2010/06/16-164909.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlashPlayer10.1の新機能、マルチタッチを管理する。</title>
		<link>http://blog.alterna.in/2010/04/18-230815.php</link>
		<comments>http://blog.alterna.in/2010/04/18-230815.php#comments</comments>
		<pubDate>Sun, 18 Apr 2010 14:08:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://blog.alterna.in/?p=378</guid>
		<description><![CDATA[FlashPlayer10.1には、マルチタッチに対応したコンテンツに対応するために、新しいAPIが用意されています。
基本的には、Multitouch.inputModeを定義し、flash.events.TouchEventやflash.events.TransformGestureEventなどで値を受け取ることになります。
TransformGestureEventについては、すでにAdobe AIRデベロッパーセンターに掲載されている
「マルチタッチ機能を活用した AIR 2.0 アプリケーション Touch Viewer の紹介 &#124; デベロッパーセンター」
が非常にわかりやすいです。
今回はTouchEventで効率的にタッチポイントを管理する方法について書きたいと思います。
TouchEventのタイプは

TOUCH_BEGIN
TOUCH_END
TOUCH_MOVE
TOUCH_OUT
TOUCH_OVER
TOUCH_ROLL_OUT
TOUCH_ROLL_OVER
TOUCH_TAP

以上の8つで、TouchEventではタッチ関連のプロパティが取得できます。タッチを管理していく上でメインになってくるのは touchPointID, localX, localYです。touchPointIDには、それぞれのタッチポイントにユニークなIDが割り振られており、localX, localYは、文字通りタッチポイントの座標です。
今回は、TOUCH_BEGIN, TOUCH_END, TOUCH_MOVEの3つにリスナを登録しておき、touchPointIDを添字としたPoint型のVectorにlocalX,localYを格納していく、という方法です。
実際には以下のようなコードになります。

public function MultiTouchSprite&#40;&#41;
&#123;
     Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
&#160;
     _startPoint   = new Vector.&#60;Point&#62;&#40;10&#41;;
     _currentPoint = new Vector.&#60;Point&#62;&#40;10&#41;;
     _previewPoint = new Vector.&#60;Point&#62;&#40;10&#41;;
&#160;
     [...]]]></description>
			<content:encoded><![CDATA[<p>FlashPlayer10.1には、マルチタッチに対応したコンテンツに対応するために、新しいAPIが用意されています。</p>
<p>基本的には、Multitouch.inputModeを定義し、flash.events.TouchEventやflash.events.TransformGestureEventなどで値を受け取ることになります。</p>
<p>TransformGestureEventについては、すでにAdobe AIRデベロッパーセンターに掲載されている<br />
<a href="http://www.adobe.com/jp/devnet/air/articles/touchviewer.html">「マルチタッチ機能を活用した AIR 2.0 アプリケーション Touch Viewer の紹介 | デベロッパーセンター」</a><br />
が非常にわかりやすいです。</p>
<p>今回はTouchEventで効率的にタッチポイントを管理する方法について書きたいと思います。</p>
<p>TouchEventのタイプは<br />
<code><br />
TOUCH_BEGIN<br />
TOUCH_END<br />
TOUCH_MOVE<br />
TOUCH_OUT<br />
TOUCH_OVER<br />
TOUCH_ROLL_OUT<br />
TOUCH_ROLL_OVER<br />
TOUCH_TAP<br />
</code></p>
<p>以上の8つで、TouchEventではタッチ関連のプロパティが取得できます。タッチを管理していく上でメインになってくるのは touchPointID, localX, localYです。touchPointIDには、それぞれのタッチポイントにユニークなIDが割り振られており、localX, localYは、文字通りタッチポイントの座標です。</p>
<p>今回は、TOUCH_BEGIN, TOUCH_END, TOUCH_MOVEの3つにリスナを登録しておき、touchPointIDを添字としたPoint型のVectorにlocalX,localYを格納していく、という方法です。<br />
実際には以下のようなコードになります。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> MultiTouchSprite<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
     Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
&nbsp;
     _startPoint   = <span style="color: #0033ff; font-weight: bold;">new</span> Vector.<span style="color: #000000; font-weight: bold;">&lt;</span>Point<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">10</span><span style="color: #000000;">&#41;</span>;
     _currentPoint = <span style="color: #0033ff; font-weight: bold;">new</span> Vector.<span style="color: #000000; font-weight: bold;">&lt;</span>Point<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">10</span><span style="color: #000000;">&#41;</span>;
     _previewPoint = <span style="color: #0033ff; font-weight: bold;">new</span> Vector.<span style="color: #000000; font-weight: bold;">&lt;</span>Point<span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">10</span><span style="color: #000000;">&#41;</span>;
&nbsp;
     <span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> i<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">int</span> = <span style="color: #000000; font-weight:bold;">0</span>; i <span style="color: #000000; font-weight: bold;">&lt;</span> <span style="color: #000000; font-weight:bold;">10</span>; i<span style="color: #000000; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span>
     <span style="color: #000000;">&#123;</span>
          _startPoint<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span>   = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Point</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
          _currentPoint<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Point</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
          _previewPoint<span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Point</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
     <span style="color: #000000;">&#125;</span>
&nbsp;
     <span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span>TouchEvent.TOUCH_BEGIN, _touchBeginHandler<span style="color: #000000;">&#41;</span>;
     <span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span>TouchEvent.TOUCH_MOVE, _touchMoveHandler<span style="color: #000000;">&#41;</span>;
     <span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span>TouchEvent.TOUCH_END,    _touchEndHandler<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> _touchBeginHandler<span style="color: #000000;">&#40;</span>e<span style="color: #000000; font-weight: bold;">:</span>TouchEvent<span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
     _startPoint<span style="color: #000000;">&#91;</span>e.touchPointID<span style="color: #000000;">&#93;</span>.<span style="color: #004993;">x</span> = e.<span style="color: #004993;">localX</span>;
     _startPoint<span style="color: #000000;">&#91;</span>e.touchPointID<span style="color: #000000;">&#93;</span>.<span style="color: #004993;">y</span> = e.<span style="color: #004993;">localY</span>;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>今回はstartPoint, currentPoint, previewPointとい3つのVectorを用意しました。これでcurrentPoint[touchPointID].x, currentPoint[touchPointID].yとかすると、座標が取れます。</p>
<p>あと、僕の環境だと、touchPointIDが2から始まるんですけど、これってなんなんですかね。<br />
ほかの環境でもそうでしょうか。</p>
<p>現在のタッチ個数を得るために、touchPointというint型を用意しておき、TOUCH_BEGINで++, TOUCH_ENDで&#8211;しています。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> _touchBeginHandler<span style="color: #000000;">&#40;</span>e<span style="color: #000000; font-weight: bold;">:</span>TouchEvent<span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
     _touchPoints<span style="color: #000000; font-weight: bold;">++</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> _touchEndHandler<span style="color: #000000;">&#40;</span>e<span style="color: #000000; font-weight: bold;">:</span>TouchEvent<span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
     _touchPoints<span style="color: #000000; font-weight: bold;">--</span>;
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>また、今回はタップ、ダブルタップを使えるようにしました。<br />
TouchEvent.TOUCH_TAPを使うと、TOUCH_BEGIN, TOUCH_END, TOUCH_MOVE, TOUCH_TAPと4つのイベントすべてが発生してしまうので、それを回避するためです。<br />
その部分のコードはこんな感じになります。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> _touchBeginHandler<span style="color: #000000;">&#40;</span>e<span style="color: #000000; font-weight: bold;">:</span>TouchEvent<span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
     _touchDownTime = <span style="color: #004993;">getTimer</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> _touchEndHandler<span style="color: #000000;">&#40;</span>e<span style="color: #000000; font-weight: bold;">:</span>TouchEvent<span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
     _touchPoints<span style="color: #000000; font-weight: bold;">--</span>;
&nbsp;
     <span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>_touchPoints == <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span> _touching = <span style="color: #0033ff; font-weight: bold;">false</span>;
&nbsp;
     <span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #004993;">getTimer</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">-</span> _touchDownTime <span style="color: #000000; font-weight: bold;">&lt;</span> TIME_DIFF<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
          <span style="color: #6699cc; font-weight: bold;">var</span> dist<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = <span style="color: #004993;">Math</span>.<span style="color: #004993;">sqrt</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">Math</span>.<span style="color: #004993;">pow</span><span style="color: #000000;">&#40;</span>_currentPoint<span style="color: #000000;">&#91;</span>e.touchPointID<span style="color: #000000;">&#93;</span>.<span style="color: #004993;">x</span> <span style="color: #000000; font-weight: bold;">-</span> _startPoint<span style="color: #000000;">&#91;</span>e.touchPointID<span style="color: #000000;">&#93;</span>.<span style="color: #004993;">x</span>, <span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">+</span> <span style="color: #004993;">Math</span>.<span style="color: #004993;">pow</span><span style="color: #000000;">&#40;</span>_currentPoint<span style="color: #000000;">&#91;</span>e.touchPointID<span style="color: #000000;">&#93;</span>.<span style="color: #004993;">y</span> <span style="color: #000000; font-weight: bold;">-</span> _startPoint<span style="color: #000000;">&#91;</span>e.touchPointID<span style="color: #000000;">&#93;</span>.<span style="color: #004993;">y</span>, <span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>;
          <span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #004993;">Math</span>.<span style="color: #004993;">abs</span><span style="color: #000000;">&#40;</span>dist<span style="color: #000000;">&#41;</span> <span style="color: #000000; font-weight: bold;">&lt;</span> POS_DIFF<span style="color: #000000;">&#41;</span> _touchTap<span style="color: #000000;">&#40;</span>e<span style="color: #000000;">&#41;</span>;
     <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> _touchTap<span style="color: #000000;">&#40;</span>e<span style="color: #000000; font-weight: bold;">:</span>TouchEvent<span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
     _tapCnt<span style="color: #000000; font-weight: bold;">++</span>;
     <span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight: bold;">!</span>_timer.<span style="color: #004993;">running</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
          _timer.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">TimerEvent</span>.<span style="color: #004993;">TIMER_COMPLETE</span>, _timerHandler<span style="color: #000000;">&#41;</span>;
          _timer.<span style="color: #004993;">start</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;    
     <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> _timerHandler<span style="color: #000000;">&#40;</span>e<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">TimerEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
     <span style="color: #0033ff; font-weight: bold;">switch</span><span style="color: #000000;">&#40;</span>_tapCnt<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
          <span style="color: #0033ff; font-weight: bold;">case</span> <span style="color: #000000; font-weight:bold;">1</span> <span style="color: #000000; font-weight: bold;">:</span> atSingleTap.<span style="color: #004993;">call</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>; <span style="color: #0033ff; font-weight: bold;">break</span>;
          <span style="color: #0033ff; font-weight: bold;">case</span> <span style="color: #000000; font-weight:bold;">2</span> <span style="color: #000000; font-weight: bold;">:</span> atDoubleTap.<span style="color: #004993;">call</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>; <span style="color: #0033ff; font-weight: bold;">break</span>;
          <span style="color: #0033ff; font-weight: bold;">case</span> <span style="color: #000000; font-weight:bold;">3</span> <span style="color: #000000; font-weight: bold;">:</span> atTripleTap.<span style="color: #004993;">call</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>; <span style="color: #0033ff; font-weight: bold;">break</span>;
          <span style="color: #0033ff; font-weight: bold;">default</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">break</span>;
     <span style="color: #000000;">&#125;</span>
     _tapCnt = <span style="color: #000000; font-weight:bold;">0</span>;
<span style="color: #000000;">&#125;</span></pre></div></div>

<ol>
<li>TOUCH_BEGINが発生してからTOUCH_ENDが発生するまでの時間がしきい値以下</li>
<li>TOUCH_BEGINの座標とTOUCH_ENDの座標がしきい値以下</li>
</ol>
<p>2つの条件を満たした時にTimer.start()させます。タイマー作動中にもう一度2つの条件を満たした場合はtapCountを増やし、timerイベントがディスパッチされたタイミングでtapCountを判定し、シングルタップ、ダブルタップを判断します。この処理を利用すれば、3回や4回など、それ以上の回数も取れます。<br />
ネックはラグが発生することですかねー。</p>
<p>また、イベントのハンドリングはProgressionのCommandやAS2と同じように関数を与えておき、適切な場所でそいつを実行してやることにしました。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">MultiTouchSprite.atTouchBegin = <span style="color: #339966; font-weight: bold;">function</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
     <span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>currentPoint<span style="color: #000000;">&#91;</span>touchObj.touchPointID<span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>;</pre></div></div>

<p>最初はExTouchEventというのを作ってディスパッチしていたんですけど、Flash Pratform Campで、Mike Chambersがディスパッチはパフォーマンス低下するよ！って言ってたので変更しました。<br />
また当初Array型を使ってPointを管理していたのをVector型に変更し、パフォーマンス向上を図っています。</p>
<p>MultiTouchSpriteというクラスとしてまとめておいたので、使ってもらえるとうれしいです。<br />
<a href="http://alterna.in/demo/MultiTouchSprite/MultiTouchSprite.zip">http://alterna.in/demo/MultiTouchSprite/MultiTouchSprite.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alterna.in/2010/04/18-230815.php/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iPhoneアプリ「wonderP5」、iPadアプリ「wonderP5HD」をつくりました。</title>
		<link>http://blog.alterna.in/2010/04/14-103030.php</link>
		<comments>http://blog.alterna.in/2010/04/14-103030.php#comments</comments>
		<pubDate>Wed, 14 Apr 2010 01:30:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.alterna.in/?p=353</guid>
		<description><![CDATA[
コード画面でコードをかき、ボタンを押すとレンダリングしてくれます。
なぜかiPad版もあります。iPad版は左にコード、右にレンダリング結果が表示されます。
経緯
@ll_koba_ll Processing jsやったらiPhone(iPad)で書いて実行とかできるのか
http://twitter.com/ll_koba_ll/status/11632081826
という@ll_koba_llさんのtwitterでの発言を見て、「あ、それほしい」となって、ここらへんの記事を読んだら意外と簡単そうだったので作ってみました。
まだまだほしいものがあったり（リファレンス的なものとか、twitpicへの投稿機能とか）しますが、通勤中にコードをかけるというのは素晴らしいです。
裏話
UITextViewのテキストを取り出して\nを削除し、UIWebViewでそのコードを実行してあげてるだけです。（すべての\nを削除しているために問題が発生しているみたいですが･･･）
あと作っているうちにiPhoneのオンライン版を発見したりとか本家がすごいのリリースしたりとかでびっくりしました。
でも、wonderP5だとhtmlとJSファイルをアプリ内にバンドルしているので、オフラインでも使えるよ！っていうのがイイトコだと思います。
ライセンス的にプロジェクトファイルの公開が可能かどうかがわからないので、問題がないことがわかれば公開します。
また、ベータ版として配信ということもできるかなーと思います。
完成度が上がれば、リリースもあるかもしれません。
]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.alterna.in/img/20100414_wonderp5.jpg" alt="" /></p>
<p>コード画面でコードをかき、ボタンを押すとレンダリングしてくれます。<br />
なぜかiPad版もあります。iPad版は左にコード、右にレンダリング結果が表示されます。</p>
<h3>経緯</h3>
<p><a href="http://twitter.com/ll_koba_ll/">@ll_koba_ll</a> Processing jsやったらiPhone(iPad)で書いて実行とかできるのか<br />
<a href="http://twitter.com/ll_koba_ll/status/11632081826">http://twitter.com/ll_koba_ll/status/11632081826</a></p>
<p>という<a href="http://twitter.com/ll_koba_ll/">@ll_koba_ll</a>さんのtwitterでの発言を見て、「あ、それほしい」となって、<a href="http://d.hatena.ne.jp/amachang/20080509/1210355674">ここらへん</a>の記事を読んだら意外と簡単そうだったので作ってみました。</p>
<p>まだまだほしいものがあったり（リファレンス的なものとか、twitpicへの投稿機能とか）しますが、通勤中にコードをかけるというのは素晴らしいです。</p>
<h3>裏話</h3>
<p>UITextViewのテキストを取り出して\nを削除し、UIWebViewでそのコードを実行してあげてるだけです。（すべての\nを削除しているために問題が発生しているみたいですが･･･）<br />
あと作っているうちに<a href="http://blogs.yahoo.co.jp/classiclll_jp/55365818.html">iPhoneのオンライン版</a>を発見したりとか<a href="http://sketch.processing.org/">本家がすごいのリリース</a>したりとかでびっくりしました。<br />
でも、wonderP5だとhtmlとJSファイルをアプリ内にバンドルしているので、オフラインでも使えるよ！っていうのがイイトコだと思います。<br />
ライセンス的にプロジェクトファイルの公開が可能かどうかがわからないので、問題がないことがわかれば公開します。<br />
また、ベータ版として配信ということもできるかなーと思います。<br />
完成度が上がれば、リリースもあるかもしれません。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alterna.in/2010/04/14-103030.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progression4のカスタムコマンド、EmbedFontDyamicLoder</title>
		<link>http://blog.alterna.in/2010/03/02-005743.php</link>
		<comments>http://blog.alterna.in/2010/03/02-005743.php#comments</comments>
		<pubDate>Mon, 01 Mar 2010 15:57:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://blog.alterna.in/?p=335</guid>
		<description><![CDATA[埋め込みフォントって大変ですよね。
最近までずっとIDEから埋め込みをしていました。
パブリッシュに時間がかかるばかりで「もーいや！」と思っていたら、どうやらASから指定することができるようです。
FACEs: as3:フォントのダイナミックなローディング
CS3版　フォントのダイナミックなローディング &#124; エントリー &#124; _level0.KAYAC
ということでコマンドにしてみました。
Progression4です！
書き方

public function EmbedFontDynamicLoader&#40;path:String, name:String = null, textfield:TextField = null, initObject:Object = null &#41;

@param	path		フォントファイルへの相対パス
@param	name	フォントのリンケージ名
@param	textfield	フォントを適応するTextField
@param	initObject	initObject.sizeのようにTextFormatと同じように指定すると、TextFormatとして適応されます。
使い方1
使い方1「読み込みを行い、TextFieldにフォント適応をする」

new EmbedFontDynamicLoader&#40;&#34;font.swf&#34;, &#34;KozukaGo_Pro_R&#34;, textField &#41;

上記のようなコマンドを書くと、第三引数として指定したTextFieldに&#8221;Helvetica_Bold_16&#8243;が適応されます。
AIRで利用する際には、EmbedFontDyamicLoderコマンドの以下のコメントを外してください。
//_context.allowLoadBytesCodeExecution = true;
使い方2「読み込みを行い、TextFieldにフォント適応を行い、TextFormatも設定する」

new EmbedFontDynamicLoader&#40;&#34;font.swf&#34;, &#34;KozukaGo_Pro_R&#34;, textField , &#123; size:16, color:0xFF00FF &#125; &#41;

initObjectに、TextFormatの各種プロパティと一致する用に記述をすると、第三引数として指定したTextFieldにsetTextFormat()されます。
また、第三引数を省略した場合はinitObjectにtextFormatを指定していても無視されます。
使い方3「読み込みを行うが、TextFieldにフォントは適応しない」
必要なフォントファイルの読み込みだけを先に行い、適応は別に行う場合は上記のように記述します。

new EmbedFontDynamicLoader&#40;&#34;font.swf&#34;&#41;

読み込みを行い、Resourceに登録することで、読み込みの時間を短縮させたい時に利用します。
フォントファイルの読み込みにはLoadSWFコマンドを利用していますが、そのコマンドを実行するのみの処理になります。
僕はIndexSceneで使い方3で一気にswfファイルを読み込み、使い方2でTextFormatと一緒に指定するという使い方をよく使います。
コマンドの中身で、特別なことをしているわけではなく、CS3版のコードを使い、TextFormatを適応してあげただけです。
デモはこちら。
デモではIndexSceneにこんなコードを書いています。

package &#123;
	import flash.text.TextField;
	import jp.progression.casts.*;
	import jp.progression.commands.display.*;
	import jp.progression.commands.lists.*;
	import jp.progression.commands.net.*;
	import jp.progression.commands.tweens.*;
	import jp.progression.commands.*;
	import jp.progression.data.*;
	import jp.progression.events.*;
	import jp.progression.executors.*;
	import jp.progression.scenes.*;
&#160;
	/**
	 * ...
	 * @author ...
	 */
	public class IndexScene extends [...]]]></description>
			<content:encoded><![CDATA[<p>埋め込みフォントって大変ですよね。<br />
最近までずっとIDEから埋め込みをしていました。<br />
パブリッシュに時間がかかるばかりで「もーいや！」と思っていたら、どうやらASから指定することができるようです。</p>
<p><a href="http://faces.jp/2008/06/as3_3.html">FACEs: as3:フォントのダイナミックなローディング</a><br />
<a href="http://level0.kayac.com/2008/06/cs3.php">CS3版　フォントのダイナミックなローディング | エントリー | _level0.KAYAC</a></p>
<p>ということでコマンドにしてみました。<br />
Progression4です！</p>
<h3>書き方</h3>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> EmbedFontDynamicLoader<span style="color: #000000;">&#40;</span>path<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">String</span>, <span style="color: #004993;">name</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">String</span> = <span style="color: #0033ff; font-weight: bold;">null</span>, textfield<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">TextField</span> = <span style="color: #0033ff; font-weight: bold;">null</span>, initObject<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Object</span> = <span style="color: #0033ff; font-weight: bold;">null</span> <span style="color: #000000;">&#41;</span></pre></div></div>

<p>@param	path		フォントファイルへの相対パス<br />
@param	name	フォントのリンケージ名<br />
@param	textfield	フォントを適応するTextField<br />
@param	initObject	initObject.sizeのようにTextFormatと同じように指定すると、TextFormatとして適応されます。</p>
<h3>使い方1</h3>
<p>使い方1「読み込みを行い、TextFieldにフォント適応をする」</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">new</span> EmbedFontDynamicLoader<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;font.swf&quot;</span>, <span style="color: #990000;">&quot;KozukaGo_Pro_R&quot;</span>, textField <span style="color: #000000;">&#41;</span></pre></div></div>

<p>上記のようなコマンドを書くと、第三引数として指定したTextFieldに&#8221;Helvetica_Bold_16&#8243;が適応されます。</p>
<p>AIRで利用する際には、EmbedFontDyamicLoderコマンドの以下のコメントを外してください。<br />
//_context.allowLoadBytesCodeExecution = true;</p>
<h3>使い方2「読み込みを行い、TextFieldにフォント適応を行い、TextFormatも設定する」</h3>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">new</span> EmbedFontDynamicLoader<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;font.swf&quot;</span>, <span style="color: #990000;">&quot;KozukaGo_Pro_R&quot;</span>, textField , <span style="color: #000000;">&#123;</span> <span style="color: #004993;">size</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #000000; font-weight:bold;">16</span>, <span style="color: #004993;">color</span><span style="color: #000000; font-weight: bold;">:</span>0xFF00FF <span style="color: #000000;">&#125;</span> <span style="color: #000000;">&#41;</span></pre></div></div>

<p>initObjectに、TextFormatの各種プロパティと一致する用に記述をすると、第三引数として指定したTextFieldにsetTextFormat()されます。<br />
また、第三引数を省略した場合はinitObjectにtextFormatを指定していても無視されます。</p>
<h3>使い方3「読み込みを行うが、TextFieldにフォントは適応しない」</h3>
<p>必要なフォントファイルの読み込みだけを先に行い、適応は別に行う場合は上記のように記述します。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">new</span> EmbedFontDynamicLoader<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;font.swf&quot;</span><span style="color: #000000;">&#41;</span></pre></div></div>

<p>読み込みを行い、Resourceに登録することで、読み込みの時間を短縮させたい時に利用します。<br />
フォントファイルの読み込みにはLoadSWFコマンドを利用していますが、そのコマンドを実行するのみの処理になります。</p>
<p>僕はIndexSceneで使い方3で一気にswfファイルを読み込み、使い方2でTextFormatと一緒に指定するという使い方をよく使います。</p>
<p>コマンドの中身で、特別なことをしているわけではなく、CS3版のコードを使い、TextFormatを適応してあげただけです。</p>
<p><a href="http://alterna.in/demo/EmbedFontDynamicLoaderDemo/">デモはこちら。</a></p>
<p>デモではIndexSceneにこんなコードを書いています。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span> <span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.text</span>.<span style="color: #004993;">TextField</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> jp.progression.casts.<span style="color: #000000; font-weight: bold;">*</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> jp.progression.commands.display.<span style="color: #000000; font-weight: bold;">*</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> jp.progression.commands.lists.<span style="color: #000000; font-weight: bold;">*</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> jp.progression.commands.net.<span style="color: #000000; font-weight: bold;">*</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> jp.progression.commands.tweens.<span style="color: #000000; font-weight: bold;">*</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> jp.progression.commands.<span style="color: #000000; font-weight: bold;">*</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> jp.progression.<span style="color: #004993;">data</span>.<span style="color: #000000; font-weight: bold;">*</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> jp.progression.events.<span style="color: #000000; font-weight: bold;">*</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> jp.progression.executors.<span style="color: #000000; font-weight: bold;">*</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> jp.progression.<span style="color: #004993;">scenes</span>.<span style="color: #000000; font-weight: bold;">*</span>;
&nbsp;
	<span style="color: #3f5fbf;">/**
	 * ...
	 * @author ...
	 */</span>
	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> IndexScene extends SceneObject <span style="color: #000000;">&#123;</span>
&nbsp;
		<span style="color: #6699cc; font-weight: bold;">var</span> textField<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">TextField</span>;
&nbsp;
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> IndexScene<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
			textField = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">TextField</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;			
			textField.<span style="color: #004993;">text</span> = <span style="color: #990000;">&quot;test&quot;</span>;			
			container.<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>textField<span style="color: #000000;">&#41;</span>;
			title = <span style="color: #990000;">&quot;EmbedFontDynamicLoaderDemo&quot;</span>;
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #0033ff; font-weight: bold;">protected</span> override <span style="color: #339966; font-weight: bold;">function</span> atSceneLoad<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span>
			addCommand<span style="color: #000000;">&#40;</span>
				<span style="color: #0033ff; font-weight: bold;">new</span> EmbedFontDynamicLoader<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;font.swf&quot;</span>, <span style="color: #990000;">&quot;KozukaGo_Pro_R&quot;</span>, <span style="color: #0033ff; font-weight: bold;">null</span> <span style="color: #000000;">&#41;</span>,
				<span style="color: #000000; font-weight:bold;">3</span>,
				<span style="color: #0033ff; font-weight: bold;">new</span> EmbedFontDynamicLoader<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;font.swf&quot;</span>, <span style="color: #990000;">&quot;KozukaGo_Pro_R&quot;</span>, textField<span style="color: #000000;">&#41;</span>,
				<span style="color: #000000; font-weight:bold;">3</span>,
				<span style="color: #0033ff; font-weight: bold;">new</span> EmbedFontDynamicLoader<span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;font.swf&quot;</span>, <span style="color: #990000;">&quot;KozukaGo_Pro_R&quot;</span>, textField, <span style="color: #000000;">&#123;</span> <span style="color: #004993;">color</span><span style="color: #000000; font-weight: bold;">:</span>0x999999 <span style="color: #000000;">&#125;</span> <span style="color: #000000;">&#41;</span>
			<span style="color: #000000;">&#41;</span>;
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>ソースファイル一式を置いておくので、ぜひいじってフィードバックください！書き換えてください！</p>
<p><a href="http://alterna.in/demo/EmbedFontDynamicLoaderDemo/EmbedFontDynamicLoaderDemo.zip">http://alterna.in/demo/EmbedFontDynamicLoaderDemo/EmbedFontDynamicLoaderDemo.zip<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alterna.in/2010/03/02-005743.php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>2009年総括</title>
		<link>http://blog.alterna.in/2009/12/27-234546.php</link>
		<comments>http://blog.alterna.in/2009/12/27-234546.php#comments</comments>
		<pubDate>Sun, 27 Dec 2009 14:45:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Diary]]></category>

		<guid isPermaLink="false">http://blog.alterna.in/?p=327</guid>
		<description><![CDATA[今年も残すところあとわずかになりました。
ということで、今年やってきたことをまとめておきたいと思います。

1月7日

ブログをWordPressに変更
blog.alterna.in » Movable Type→WordPress

1月22日
専門学校コンソーシアムTokyoWebサイトローンチ
1月23日、24日

仙台の東北生活文化大学高等学校にてWeb制作のワークショップ。講師として参加
blog.alterna.in » 高校生の前でコーディングをしてきました@仙台

1月25日

ごはんと新年会に参加。@pekepと一緒に「Webデザイン科でやっていること」というテーマで話す。Flash界デビュー！
blog.alterna.in » ごはんと新年会で発表しました。

1月29日

iPhoneアプリのネタについていろいろ考える。
blog.alterna.in » iPhoneアプリ雑記

2月1日

iPhone for Flasherの勉強会に行く。
blog.alterna.in » iPhoneForFlasherで勉強したこと

2月11日

iPhone購入
blog.alterna.in » iPhone買いました

2月17日

卒業制作展Webサイト、CONNCECTローンチ
blog.alterna.in » 卒業制作展と、Flashプラットフォーム、Actionscriptの話。

3月7日

時間を場所に変えるサイト、TimeTriperを公開
blog.alterna.in » TimeTriperを公開しました。

3月23日

Macを買う
blog.alterna.in » MacBookを買いました。

4月1日

株式会社SNAPに入社
blog.alterna.in » デザイナー始めました。

5月25日

iPhoneアプリプロジェクトスタート
blog.alterna.in » iPhoneアプリ作ってます。

8月12日

アプリ１本目「eye clock」リリース
blog.alterna.in » iPhoneアプリ「eye clock」がリリースされました。

9月上旬

BetweenAS3をいきなり案件投入。
いろいろつくったりブログに書く。
blog.alterna.in » BetweenAS3使い方、Tweenerからの乗り換えのために。

9月16日

SiONであの楽器をつくる
SiONであの楽器 &#124; wonderfl build flash online

9月25日
progression４をいきなり案件投入。
10月23日

checkmate4回目に参加。Queenをもらう
Progression4.xに追加してほしいことー！forked from: Progression4 Professional &#124; wonderfl build flash online
checkmate &#124; wonderfl build flash online

11月3日
1clickAwardに応募
11月21日

izm-design.comからalterna.inに名義を変更
blog.alterna.in » izm-design.comからalterna.inへ。

12月17日

「Talky clock」リリース
Talky clock : [...]]]></description>
			<content:encoded><![CDATA[<p>今年も残すところあとわずかになりました。<br />
ということで、今年やってきたことをまとめておきたいと思います。</p>
<dl>
<dt>1月7日</dt>
<dd>
ブログをWordPressに変更<br />
<a href="http://blog.alterna.in/2009/01/07-015719.php">blog.alterna.in » Movable Type→WordPress</a>
</dd>
<dt>1月22日</dt>
<dd><a href="http://www.senmon-con-tokyo.jp/">専門学校コンソーシアムTokyo</a>Webサイトローンチ</dd>
<dt>1月23日、24日</dt>
<dd>
仙台の<a href="http://www.seibun.ed.jp/">東北生活文化大学高等学校</a>にてWeb制作のワークショップ。講師として参加<br />
<a href="http://blog.alterna.in/2009/01/26-211626.php">blog.alterna.in » 高校生の前でコーディングをしてきました@仙台</a>
</dd>
<dt>1月25日</dt>
<dd>
<a href="http://level0.kayac.com/2009/01/2009125_bowls.php">ごはんと新年会</a>に参加。<a href="http://twitter.com/pekep">@pekep</a>と一緒に「Webデザイン科でやっていること」というテーマで話す。Flash界デビュー！<br />
<a href="http://blog.alterna.in/2009/01/26-154336.php">blog.alterna.in » ごはんと新年会で発表しました。</a>
</dd>
<dt>1月29日</dt>
<dd>
iPhoneアプリのネタについていろいろ考える。<br />
<a href="http://blog.alterna.in/2009/01/31-140115.php">blog.alterna.in » iPhoneアプリ雑記</a>
</dd>
<dt>2月1日</dt>
<dd>
iPhone for Flasherの勉強会に行く。<br />
<a href="http://blog.alterna.in/2009/02/04-012522.php">blog.alterna.in » iPhoneForFlasherで勉強したこと</a>
</dd>
<dt>2月11日</dt>
<dd>
iPhone購入<br />
<a href="http://blog.alterna.in/2009/02/11-022252.php">blog.alterna.in » iPhone買いました</a>
</dd>
<dt>2月17日</dt>
<dd>
卒業制作展Webサイト、CONNCECTローンチ<br />
<a href="http://blog.alterna.in/2009/03/06-190230.php">blog.alterna.in » 卒業制作展と、Flashプラットフォーム、Actionscriptの話。</a>
</dd>
<dt>3月7日</dt>
<dd>
時間を場所に変えるサイト、TimeTriperを公開<br />
<a href="http://blog.alterna.in/2009/03/07-235429.php">blog.alterna.in » TimeTriperを公開しました。</a>
</dd>
<dt>3月23日</dt>
<dd>
Macを買う<br />
<a href="http://blog.alterna.in/2009/03/23-021022.php">blog.alterna.in » MacBookを買いました。</a>
</dd>
<dt>4月1日</dt>
<dd>
株式会社SNAPに入社<br />
<a href="http://blog.alterna.in/2009/04/05-201822.php">blog.alterna.in » デザイナー始めました。</a>
</dd>
<dt>5月25日</dt>
<dd>
iPhoneアプリプロジェクトスタート<br />
<a href="http://blog.alterna.in/2009/05/31-213802.php">blog.alterna.in » iPhoneアプリ作ってます。</a>
</dd>
<dt>8月12日</dt>
<dd>
アプリ１本目「eye clock」リリース<br />
<a href="http://blog.alterna.in/2009/08/12-160950.php">blog.alterna.in » iPhoneアプリ「eye clock」がリリースされました。</a>
</dd>
<dt>9月上旬</dt>
<dd>
BetweenAS3をいきなり案件投入。<br />
いろいろつくったりブログに書く。<br />
<a href="http://blog.alterna.in/2009/08/14-020321.php">blog.alterna.in » BetweenAS3使い方、Tweenerからの乗り換えのために。</a>
</dd>
<dt>9月16日</dt>
<dd>
SiONであの楽器をつくる<br />
<a href="http://wonderfl.net/code/d067b772729545e96fad7d66ccbe3fb32d57faa0">SiONであの楽器 | wonderfl build flash online</a>
</dd>
<dt>9月25日</dt>
<dd>progression４をいきなり案件投入。</dd>
<dt>10月23日</dt>
<dd>
checkmate4回目に参加。Queenをもらう<br />
<a href="http://wonderfl.net/code/653f3b100fa9c2e94db45b592969ce520bf507ae">Progression4.xに追加してほしいことー！forked from: Progression4 Professional | wonderfl build flash online</a><br />
<a href="http://checkmate.wonderfl.net/abe.html">checkmate | wonderfl build flash online</a>
</dd>
<dt>11月3日</dt>
<dd>1clickAwardに応募</dd>
<dt>11月21日</dt>
<dd>
izm-design.comからalterna.inに名義を変更<br />
<a href="http://blog.alterna.in/2009/11/21-154847.php">blog.alterna.in » izm-design.comからalterna.inへ。</a>
</dd>
<dt>12月17日</dt>
<dd>
「Talky clock」リリース<br />
<a href="http://www.plusryu.com/product/iphone/talkyclock/">Talky clock : iPhoneアプリケーション | +ryu [プラスリュウ]</a>
</dd>
</dl>
<h3>作り手として</h3>
<p>このエントリをまとめていて、だいたい1ヶ月にひとつくらいはものづくりをしていたんだなーということを感じました。<br />
もちろん会社ではこれ以上にお仕事してますけども。<br />
全然作らなかった月というのがほとんどなくて、少し安心するとともに、来年はこの倍作っていきたいと思います。</p>
<h3>2009年を振り返って</h3>
<p>今年は学生を終えて社会人として働き出したり、Flashコミュニティに参加しだしたりとさまざまな変化があった1年だったと思います。<br />
この1年間は、今まで生きてきた中で一番たくさんの方にお会いした年でした。<br />
みなさん本当に素敵な人ばかりで、本当に自分は人に恵まれていると感じています。<br />
その方々に恩返しするためにもおもしろいものを作っていきたいと思いますので、よろしくお願いしまっす！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alterna.in/2009/12/27-234546.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash for iPhone その２</title>
		<link>http://blog.alterna.in/2009/12/17-003241.php</link>
		<comments>http://blog.alterna.in/2009/12/17-003241.php#comments</comments>
		<pubDate>Wed, 16 Dec 2009 15:32:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.alterna.in/?p=316</guid>
		<description><![CDATA[FlashでiPhoneアプリが書き出せるようになるのが楽しみでしかたない。
gotoAndLearnの人のデモをfladdict先生のエントリーにある要約をみながらふんふんと聞いてました。
一番気になるのはここですね

・iPhone用へのコンパイルはAIR用とほぼ同じだが、専用UIあり。

コンポーネントだとは思うけども、全部Eventに変換してくれるのかしら。
「delegate、こうやって作って、定義した関数をこいつに通知して・・・」とかやっていたので、本当に助かります。
たのしみでしょうがないですね。
]]></description>
			<content:encoded><![CDATA[<p>FlashでiPhoneアプリが書き出せるようになるのが楽しみでしかたない。</p>
<p><a href="http://www.gotoandlearn.com/play?id=116">gotoAndLearnの人のデモ</a>を<a href="http://fladdict.net/blog/2009/12/super-fast-flash-for-iphone.html">fladdict先生のエントリー</a>にある要約をみながらふんふんと聞いてました。<br />
一番気になるのはここですね</p>
<blockquote><p>
・iPhone用へのコンパイルはAIR用とほぼ同じだが、専用UIあり。
</p></blockquote>
<p>コンポーネントだとは思うけども、全部Eventに変換してくれるのかしら。<br />
「delegate、こうやって作って、定義した関数をこいつに通知して・・・」とかやっていたので、本当に助かります。</p>
<p>たのしみでしょうがないですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alterna.in/2009/12/17-003241.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash for iPhoneへの準備</title>
		<link>http://blog.alterna.in/2009/11/23-134958.php</link>
		<comments>http://blog.alterna.in/2009/11/23-134958.php#comments</comments>
		<pubDate>Mon, 23 Nov 2009 04:49:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.alterna.in/?p=309</guid>
		<description><![CDATA[fladdict先生のエントリを見ていて、僕がiPhoneアプリを作っている時に気をつけていることを少し。
ステージは回転する
あらかじめ、縦向き、横向きの画を作りましょう。Flashだと、拡大縮小ですが、iPhoneの場合は回転です。サイズが変わるという面では同じですが、拡縮と回転では概念が違うので、画面も違ってくるでしょう。
没入系アプリをつくる際には、UIなどの画像も全て自作し、自分でレイアウトを行う場合が多いです。
さらに、没入系の場合、縦画面のみではなく、横画面をつくる時が多いので、その時の絵がないと、実装時に苦労します。
機能の割切り
コンセプトがスマートに伝わるシンプルなアプリは強いです。また、メモリの容量がすくないのでよく張るとパフォーマンスが低下します。アプリのコンセプトを伝えるために最低限必要な機能のみにしぼるとよいと思います。
実機で使い倒す
実機で動かして、自分の手のなかで動いているアプリを見ると、シュミレータ上とはまた違う感覚です。またパフォーマンスも全然違います。できればスペックの低いiPhone3Gでテストするといいです。通信を行う場合はwifi環境ではなく3G環境で。という感じ。
まとめ
なんかもうほとんど言及されていたので、あまり多くないですが。多分、iPhoneのUIはコンポーネントとして提供されるはずなので、スキンを変えるだけで、没入系のアプリはかなり作りやすくなると思います。
Flash的には、IDE上で絵が作れるのは強みなので、それを活かして、魅力的なUIを持つアプリが増えて欲しいです。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://fladdict.net/blog/2009/11/ready-for-flash-for-iphone.html">fladdict先生のエントリ</a>を見ていて、僕がiPhoneアプリを作っている時に気をつけていることを少し。</p>
<h3>ステージは回転する</h3>
<p>あらかじめ、縦向き、横向きの画を作りましょう。Flashだと、拡大縮小ですが、iPhoneの場合は回転です。サイズが変わるという面では同じですが、拡縮と回転では概念が違うので、画面も違ってくるでしょう。<br />
没入系アプリをつくる際には、UIなどの画像も全て自作し、自分でレイアウトを行う場合が多いです。<br />
さらに、没入系の場合、縦画面のみではなく、横画面をつくる時が多いので、その時の絵がないと、実装時に苦労します。</p>
<h3>機能の割切り</h3>
<p>コンセプトがスマートに伝わるシンプルなアプリは強いです。また、メモリの容量がすくないのでよく張るとパフォーマンスが低下します。アプリのコンセプトを伝えるために最低限必要な機能のみにしぼるとよいと思います。</p>
<h3>実機で使い倒す</h3>
<p>実機で動かして、自分の手のなかで動いているアプリを見ると、シュミレータ上とはまた違う感覚です。またパフォーマンスも全然違います。できればスペックの低いiPhone3Gでテストするといいです。通信を行う場合はwifi環境ではなく3G環境で。という感じ。</p>
<h3>まとめ</h3>
<p>なんかもうほとんど言及されていたので、あまり多くないですが。多分、iPhoneのUIはコンポーネントとして提供されるはずなので、スキンを変えるだけで、没入系のアプリはかなり作りやすくなると思います。<br />
Flash的には、IDE上で絵が作れるのは強みなので、それを活かして、魅力的なUIを持つアプリが増えて欲しいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alterna.in/2009/11/23-134958.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>izm-design.comからalterna.inへ。</title>
		<link>http://blog.alterna.in/2009/11/21-154847.php</link>
		<comments>http://blog.alterna.in/2009/11/21-154847.php#comments</comments>
		<pubDate>Sat, 21 Nov 2009 06:48:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Diary]]></category>

		<guid isPermaLink="false">http://blog.alterna.in/?p=300</guid>
		<description><![CDATA[izm-design.comはalterna.inになります。
alternaはalternate
alternaはalternative
ちょっと中途半端に略した感じがゆるくて好きです。
読むときは「おるたなどっといん」って読むといいと思います。
前ドメインのこと
izm-design.comというサイトを運営していました。
そこではブログを書いたり、Flashで作った何かを公開していたりしていました。
このサイト、実は昨年、就職活動に向けてつくったものです。
ドメインもよく考えずに作ったので、後々大変な思いをしました。
このドメイン名義でいろんなアカウントを取っていろんなところにでかけていってたくさんの方に会えました。その結果今の僕があります。
ありがとう、izm-design.com。
なぜ変えようと思ったのかとか
世の中にはすごくかっこいいドメインの人もいるし、それを屋号にして活動していたりするので、「ちゃんとした屋号」を持ちたいな。と思ったのです。
少し前からいろいろ考えていたのですが、あまりいいものが思いつかず。
ふと会社で休憩時間に一服しているときにいい響きだなーと思って、そんなところから決まりました。
いろいろなところで変更中なので、少しばかりどたばたしてますが、alterna.inをよろしくお願いいたします。
]]></description>
			<content:encoded><![CDATA[<p>izm-design.comはalterna.inになります。</p>
<p>alternaはalternate</p>
<p>alternaはalternative</p>
<p>ちょっと中途半端に略した感じがゆるくて好きです。</p>
<p>読むときは「おるたなどっといん」って読むといいと思います。</p>
<h3>前ドメインのこと</h3>
<p>izm-design.comというサイトを運営していました。</p>
<p>そこではブログを書いたり、Flashで作った何かを公開していたりしていました。</p>
<p>このサイト、実は昨年、就職活動に向けてつくったものです。</p>
<p>ドメインもよく考えずに作ったので、後々大変な思いをしました。</p>
<p>このドメイン名義でいろんなアカウントを取っていろんなところにでかけていってたくさんの方に会えました。その結果今の僕があります。</p>
<p>ありがとう、izm-design.com。</p>
<h3>なぜ変えようと思ったのかとか</h3>
<p>世の中にはすごくかっこいいドメインの人もいるし、それを屋号にして活動していたりするので、「ちゃんとした屋号」を持ちたいな。と思ったのです。</p>
<p>少し前からいろいろ考えていたのですが、あまりいいものが思いつかず。</p>
<p>ふと会社で休憩時間に一服しているときにいい響きだなーと思って、そんなところから決まりました。</p>
<p>いろいろなところで変更中なので、少しばかりどたばたしてますが、alterna.inをよろしくお願いいたします。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alterna.in/2009/11/21-154847.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash制作に欠かせない3つのツール・和泉編</title>
		<link>http://blog.alterna.in/2009/10/14-005646.php</link>
		<comments>http://blog.alterna.in/2009/10/14-005646.php#comments</comments>
		<pubDate>Tue, 13 Oct 2009 15:56:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://blog.izm-design.com/?p=299</guid>
		<description><![CDATA[KAYACさんの、_level0.KAYACで「Flash制作に欠かせない3つのツール」というエントリが非常に面白かったので、僕も乗っかりました。
1.DeMonsterDebugger
http://demonsterdebugger.com/
おなじく_level0.KAYACのこのエントリが分かりやすいです。
(1)DeMonsterDebugger側から、デバッグ用ライブラリをエクスポートする
(2)ドキュメンクラスでimport、初期化をする。
(3)Flashでプレビュー
といった簡単な手順でDeMonsterDebuggerに情報がずらっと表示されます。
FirexfoxアドオンのFireBugのような感じでプロパティを書き換えたり、traceをモニタすることができます。
DeMonsterDebuggerはすごく便利なので、後日もう少し掘り下げて書きたいですね。
2.ASDoc
ActionScript 3.0 コンポーネントリファレンスガイド
これ本当に読んでて楽しいです。
知らなかったプロパティとかメソッドを見つけてはニヤニヤしてます。
pdf版とかあるとオフラインでも読めてうれしいんですが…
3.英字配列キーボード
自宅のMacBookも英字配列、会社のiMacは英字配列キーボード持ち込んでで作業してます。
cmd+Spaceで入力を切り替えれるのと、アンダースコアが打ちやすいのが特に気に入ってます。
あと、自宅だとparallels＋FlashDevelopでメインのコードを書いていますが、日本語キーボードだと面倒なキーの配列問題も特に発生せず、快適に使えています。
ちなみに会社のキーボードはこれです。
ストロークが浅めなので、パシパシとたたく感じです。
他のFlash制作者の方がどんなツールを使っておられるか気になりますねー。
このエントリを書いている間に独学ActionScriptさんがこのエントリで３つのツールを紹介されてました。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://level0.kayac.com/">KAYACさんの、_level0.KAYAC</a>で「<a href="http://level0.kayac.com/cgi-bin/mt/mt-search.cgi?IncludeBlogs=3&#038;limit=20&#038;search=Flash%E5%88%B6%E4%BD%9C%E3%81%AB%E6%AC%A0%E3%81%8B%E3%81%9B%E3%81%AA%E3%81%843%E3%81%A4%E3%81%AE%E3%83%84%E3%83%BC%E3%83%AB&#038;x=0&#038;y=0">Flash制作に欠かせない3つのツール</a>」というエントリが非常に面白かったので、僕も乗っかりました。</p>
<h3>1.<a href="http://demonsterdebugger.com/">DeMonsterDebugger</a></h3>
<p><a href="http://demonsterdebugger.com/">http://demonsterdebugger.com/</a></p>
<p>おなじく_level0.KAYACの<a href="http://level0.kayac.com/2009/06/de_monsterdebugger.php">このエントリ</a>が分かりやすいです。</p>
<p>(1)DeMonsterDebugger側から、デバッグ用ライブラリをエクスポートする<br />
(2)ドキュメンクラスでimport、初期化をする。<br />
(3)Flashでプレビュー</p>
<p>といった簡単な手順でDeMonsterDebuggerに情報がずらっと表示されます。<br />
FirexfoxアドオンのFireBugのような感じでプロパティを書き換えたり、traceをモニタすることができます。</p>
<p>DeMonsterDebuggerはすごく便利なので、後日もう少し掘り下げて書きたいですね。</p>
<h3>2.<a href="http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/index.html?package-summary.html&#038;all-classes.html">ASDoc</a></h3>
<p><a href="http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/index.html?package-summary.html&#038;all-classes.html">ActionScript 3.0 コンポーネントリファレンスガイド</a></p>
<p>これ本当に読んでて楽しいです。<br />
知らなかったプロパティとかメソッドを見つけてはニヤニヤしてます。<br />
pdf版とかあるとオフラインでも読めてうれしいんですが…</p>
<h3>3.英字配列キーボード</h3>
<p>自宅のMacBookも英字配列、会社のiMacは英字配列キーボード持ち込んでで作業してます。<br />
cmd+Spaceで入力を切り替えれるのと、アンダースコアが打ちやすいのが特に気に入ってます。<br />
あと、自宅だとparallels＋FlashDevelopでメインのコードを書いていますが、日本語キーボードだと面倒なキーの配列問題も特に発生せず、快適に使えています。<br />
ちなみに会社のキーボードは<a href="http://store.apple.com/jp/product/MB869LL/A?fnode=MTY1NDA1Mg&#038;mco=MTEyNzA0OTM">これ</a>です。<br />
ストロークが浅めなので、パシパシとたたく感じです。</p>
<p>他のFlash制作者の方がどんなツールを使っておられるか気になりますねー。</p>
<p>このエントリを書いている間に<a href="http://d.hatena.ne.jp/ActionScript/">独学ActionScriptさん</a>がこのエントリで３つのツールを紹介されてました。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alterna.in/2009/10/14-005646.php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
