<?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>alt &#187; getPixel</title>
	<atom:link href="http://blog.alt-scape.com/archives/tag/getpixel/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.alt-scape.com</link>
	<description>alt-scape weblog</description>
	<lastBuildDate>Sat, 03 Dec 2011 18:00:33 +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>teraClockでパーティクル時計「particlock」</title>
		<link>http://blog.alt-scape.com/archives/229</link>
		<comments>http://blog.alt-scape.com/archives/229#comments</comments>
		<pubDate>Fri, 21 Nov 2008 06:46:34 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[サンプル]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[getPixel]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=229</guid>
		<description><![CDATA[


9月に作った

getPixelを使ってテキストの座標をピクセル単位で取得する

に改良を加えてパーティクル時計にしてみました。
その名も「particlock」（パーティクロック）。そのまんまｗｗ
ライブラリはも [...]]]></description>
			<content:encoded><![CDATA[<p>
<a rel="shadowbox;width=550;height=400" class="option" title="teraClock1" href="http://blog.alt-scape.com/swf/teraclock1.swf"><img src="http://blog.alt-scape.com/img/teraclock1.jpg" border="0" /></a><br />
<br />
9月に作った<br />
<br />
<a href="http://blog.alt-scape.com/archives/75" target="_blank" title="getPixelを使ってテキストの座標をピクセル単位で取得する">getPixelを使ってテキストの座標をピクセル単位で取得する</a><br />
<br />
に改良を加えてパーティクル時計にしてみました。<br />
その名も「<strong>particlock</strong>」（パーティクロック）。そのまんまｗｗ<br />
ライブラリはもちろん、<strong>teraClock</strong>です。<br />
<br />
時、分、秒の文字をパーティクルで形成します。<br />
時、分は粒子が集まり、秒は粒子が弾けます。（Tweener使用）<br />
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/229/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>getPixelを使ってテキストの座標をピクセル単位で取得する</title>
		<link>http://blog.alt-scape.com/archives/75</link>
		<comments>http://blog.alt-scape.com/archives/75#comments</comments>
		<pubDate>Thu, 25 Sep 2008 09:38:22 +0000</pubDate>
		<dc:creator>alt</dc:creator>
				<category><![CDATA[サンプル]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[getPixel]]></category>
		<category><![CDATA[ソースコード]]></category>

		<guid isPermaLink="false">http://blog.alt-scape.com/?p=75</guid>
		<description><![CDATA[


入力したテキストの座標をピクセル単位で取得して
画像なりベクターなりのオブジェクトを配置することをやってみたくてサンプルを作りました。
簡単に言えばgetPixelを使ってみたかっただけです。
haru-komug [...]]]></description>
			<content:encoded><![CDATA[<p>
<a rel="shadowbox;width=550;height=400" class="option" title="getPixel1" href="http://blog.alt-scape.com/swf/getpixel1.swf"><img src="http://blog.alt-scape.com/img/getpixel1.jpg" border="0" /></a><br />
<br />
入力したテキストの座標をピクセル単位で取得して<br />
画像なりベクターなりのオブジェクトを配置することをやってみたくてサンプルを作りました。<br />
簡単に言えば<strong>getPixel</strong>を使ってみたかっただけです。<br />
<a href="http://d.hatena.ne.jp/haru-komugi/20080924/1222247364" target="_blank" title="haru-komugi">haru-komugi</a>様のソースを参考に以下のような流れで組んでみました。<br />
<br />
テキストフィールドをビットマップデータに変換<br />
↓<br />
ビットマップのカラー値をピクセル単位で取得し、座標を得る<br />
↓<br />
Spriteで円を作る<br />
↓<br />
パーティクル生成して<strong>Tweener</strong>でアニメーションさせる<br />
↓<br />
強引に話題の<strong>TeraClock</strong>も使っちゃう<br />
<br />
GOボタン： テキストに入力した文字をパーティクルで形成します。<br />
TIMEボタン： 現在の時間をパーティクルで形成します。<br />
<br />
<span id="more-75"></span><br />
ソースコードは以下（<a href="http://kujirahand.com/tools/tougarasi/" target="_blank" title="HTMLコンバーター使用">HTMLコンバーター使用</a>）<a href="http://blog.alt-scape.com/fla/getpixel1.zip">flaファイル</a>もアップしておきます<br />
<pre class="code">
<span class="rem">//------------------------</span><br />
<span class="rem">//　import</span><br />
<span class="rem">//------------------------</span><br />
<span class="keyword">import</span> fl.controls.Button;<br />
<span class="keyword">import</span> fl.events.ComponentEvent;<br />
<span class="keyword">import</span> caurina.transitions.Tweener;<br />
<span class="keyword">import</span> caurina.transitions.properties.FilterShortcuts;<br />
FilterShortcuts.init();<br />
<span class="keyword">import</span> flash.events.Event;<br />
<span class="keyword">import</span> flash.display.Sprite;<br />
<span class="keyword">import</span> com.trick7.utils.TeraClock;<br />
<br />
<br />
<span class="rem">//------------------------</span><br />
<span class="rem">//　goボタン</span><br />
<span class="rem">//------------------------</span><br />
<span class="keyword">var</span> goButton:Button = <span class="keyword">new</span> Button();<br />
goButton.label = <span class="str">&quot;GO&quot;</span>;<br />
goButton.autoRepeat = <span class="keyword">true</span>;<br />
goButton.setSize(<span class="num">50</span>, <span class="num">50</span>);<br />
goButton.move(<span class="num">210</span>, <span class="num">5</span>);<br />
goButton.addEventListener(ComponentEvent.BUTTON_DOWN, buttonGoHandler);<br />
stage.addChild(goButton);<br />
<br />
<span class="keyword">function</span> buttonGoHandler(event:ComponentEvent):<span class="keyword">void</span><br />
{<br />
    <span class="keyword">if</span>(container) stage.removeChild( container ); <span class="rem">//コンテナ削除</span><br />
    count = <span class="num">0</span>; <span class="rem">//カウント初期化</span><br />
    drawTxt();<br />
}<br />
<br />
<br />
<span class="rem">//------------------------</span><br />
<span class="rem">//　timeボタン</span><br />
<span class="rem">//------------------------</span><br />
<span class="keyword">var</span> timeButton:Button = <span class="keyword">new</span> Button();<br />
timeButton.label = <span class="str">&quot;TIME&quot;</span>;<br />
timeButton.autoRepeat = <span class="keyword">true</span>;<br />
timeButton.setSize(<span class="num">50</span>, <span class="num">50</span>);<br />
timeButton.move(<span class="num">270</span>, <span class="num">5</span>);<br />
timeButton.addEventListener(ComponentEvent.BUTTON_DOWN, buttonTimeHandler);<br />
stage.addChild(timeButton);<br />
<br />
<span class="keyword">function</span> buttonTimeHandler(event:ComponentEvent):<span class="keyword">void</span><br />
{<br />
    <span class="keyword">if</span>(container) stage.removeChild( container ); <span class="rem">//コンテナ削除</span><br />
    count = <span class="num">0</span>; <span class="rem">//カウント初期化</span><br />
    myText.text = <span class="keyword">String</span>(clock.hours2) + <span class="str">&quot;:&quot;</span> + <span class="keyword">String</span>(clock.minutes2) + <span class="str">&quot;:&quot;</span> + <span class="keyword">String</span>(clock.seconds);<br />
    drawTxt();<br />
}<br />
<br />
<br />
<span class="rem">//------------------------</span><br />
<span class="rem">//　入力テキストを元に円を描画</span><br />
<span class="rem">//------------------------</span><br />
<span class="keyword">var</span> bd:BitmapData; <span class="rem">//入力テキストのビットマップ</span><br />
<span class="keyword">var</span> container:Sprite; <span class="rem">//コンテナ</span><br />
<span class="keyword">var</span> circle:Sprite; <span class="rem">//文字を形成する円</span><br />
<span class="keyword">var</span> count:int = <span class="num">1</span>; <span class="rem">//カウント</span><br />
<br />
<span class="keyword">function</span> drawTxt():<span class="keyword">void</span><br />
{<br />
    <span class="rem">//ビットマップに置き換え</span><br />
      bd = <span class="keyword">new</span> BitmapData( myText.width , myText.height );<br />
      bd.draw( myText );<br />
    <br />
    <span class="rem">//コンテナつくる</span><br />
    container = <span class="keyword">new</span> Sprite();<br />
    stage.addChild( container );<br />
    <br />
    <span class="rem">//白以外の座標を取得して円を並べる</span><br />
    <span class="keyword">for</span>( <span class="keyword">var</span> i:int = <span class="num">0</span> ; i &lt; bd.width ; i += <span class="num">2</span> )<br />
    {<br />
        <br />
        <span class="keyword">for</span>( <span class="keyword">var</span> j:int = <span class="num">0</span> ; j &lt; bd.height ; j += <span class="num">2</span> )<br />
        {<br />
           <br />
            <span class="keyword">if</span>( bd.getPixel( i , j ) != <span class="num">0</span>xffffff )<br />
            {<br />
                circle = <span class="keyword">new</span> Sprite();<br />
                circle.name = <span class="str">&quot;circle&quot;</span>+count;<br />
                circle.graphics.beginFill(<span class="num">0</span>xFFCC00);<br />
                circle.graphics.drawCircle(<span class="num">5</span>, <span class="num">5</span>, <span class="num">5</span>);<br />
                <span class="keyword">var</span> xNum:int = i * <span class="num">5</span> + <span class="num">10</span>;<br />
                <span class="keyword">var</span> yNum:int = j * <span class="num">5</span> + <span class="num">50</span>;<br />
                circle.x = Math.ceil(Math.random()*<span class="num">500</span>);<br />
                circle.y = Math.ceil(Math.random()*<span class="num">400</span>+<span class="num">300</span>);<br />
                circle.scaleX = <span class="num">5</span>;<br />
                circle.scaleY = <span class="num">5</span>;<br />
                container.addChild( circle );<br />
                count++;<br />
                <br />
                <span class="rem">//</span><br />
                Tweener.addTween(circle, {<br />
                                 x: xNum,<br />
                                 y: yNum,<br />
                                 scaleX: <span class="num">1</span>,<br />
                                 scaleY: <span class="num">1</span>,<br />
                                 time: <span class="num">1</span>,<br />
                                 delay: <span class="num">0.01</span> * count,<br />
                                 transition: <span class="str">&quot;easeOutBounce&quot;</span>,<br />
                                 onComplete: onMoveFinished,<br />
                                 onCompleteParams:[circle] <span class="rem">//パラメータ</span><br />
                });<br />
            }<br />
        }<br />
    }<br />
}<br />
<span class="keyword">function</span> onMoveFinished(mc:Sprite):<span class="keyword">void</span><br />
{<br />
    <span class="keyword">var</span> xNum:int = Math.ceil(Math.random()*<span class="num">1000</span>-<span class="num">200</span>);<br />
    <span class="keyword">var</span> yNum:int = Math.ceil(Math.random()*<span class="num">800</span>-<span class="num">200</span>);<br />
    Tweener.addTween(mc, {<br />
                     x: xNum,<br />
                     y: yNum,<br />
                     alpha: <span class="num">0</span>,<br />
                     time: <span class="num">1</span>,<br />
                     delay: <span class="num">1</span>,<br />
                     transition: <span class="str">&quot;easeInOutQuad&quot;</span><br />
    });<br />
}<br />
<br />
<br />
<span class="rem">//------------------------</span><br />
<span class="rem">//　TeraClock</span><br />
<span class="rem">//------------------------</span><br />
<span class="keyword">var</span> clock:TeraClock = <span class="keyword">new</span> TeraClock();<br />
clock.addEventListener(TeraClock.SECONDS_CHANGED, secondsListener);<br />
clock.addEventListener(TeraClock.MINUTES_CHANGED, minutesListener);<br />
clock.addEventListener(TeraClock.HOURS_CHANGED, hoursListener);<br />
<span class="keyword">function</span> secondsListener(e:Event):<span class="keyword">void</span><br />
{<br />
    <span class="rem">//myText.text = String(clock.hours2) + &quot;:&quot; + String(clock.minutes2) + &quot;:&quot; + String(clock.seconds);</span><br />
}<br />
<span class="keyword">function</span> minutesListener(e:Event):<span class="keyword">void</span> { <span class="rem">/*trace(clock.minutes +&quot;分になったよ。&quot;);*/</span> }<br />
<span class="keyword">function</span> hoursListener(e:Event):<span class="keyword">void</span> { <span class="rem">/*trace(clock.hours+&quot;時になったよ。&quot;);*/</span> }</pre>
<br />
<br />
Tweener：<a href="http://code.google.com/p/tweener/" target="_blank" title="Tweener">http://code.google.com/p/tweener/</a><br />
TeraClock：<a href="http://www.trick7.com/blog/2008/09/02-074335.php" target="_blank" title="TeraClock">http://www.trick7.com/blog/2008/09/02-074335.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alt-scape.com/archives/75/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

