<?xml version="1.0" encoding="EUC-JP"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/" /> <link rel="self" type="application/atom+xml" href="http://cafe-d.net/atom.xml" /> <id>tag:cafe-d.net,2010-12-17://26</id> <updated></updated> <subtitle>ITの困ったを解決。全てのクリエイターが集うサイト Cafe Dは技術のノウハウをデータベース化しています。 WEB技術だけでなくスマフォやアプリ、システム、APIやFacebookをはじめとしたSNSの満載な情報を提供していきます。</subtitle> <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.04</generator> <entry> <title>[iPhone/iPad] UIWebViewのイベントを取得する - cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/2012/04/iphoneipad-uiwebview.html" /> <id>tag:cafe-d.net,2012://27.534</id> <published>2012-04-11T10:46:42Z</published> <updated>2012-04-12T02:26:33Z</updated> <summary> 	UIWebVIewにおいてページ読み込み中にインジケータ等を表示したい場合が...</summary> <author> <name>haruki</name> <uri>http://plus-d.co.jp</uri> </author> <category term="App" scheme="http://www.sixapart.com/ns/types#category" /> <category term="Object C" scheme="http://www.sixapart.com/ns/types#category" /> <category term="haruki" scheme="http://www.sixapart.com/ns/types#category" /> <category term="iPhone/iPad" scheme="http://www.sixapart.com/ns/types#category" /> <category term="スマートフォン" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/"> <![CDATA[<p> UIWebVIewにおいてページ読み込み中にインジケータ等を表示したい場合があります。 UIWebVIewから読み込み開始時や終了時のイベントを受け取る時は、 デリゲートで行えます。サンプルは、以下の通りになります。</p> ]]> <![CDATA[<div class="midashigray"> サンプルソース</div> <p> UIWebViewイベントの取得のサンプル</p> <div class="graybox"> &nbsp; &nbsp;- (void)viewDidLoad {<br /> &nbsp; &nbsp; &nbsp; &nbsp;Uwebview1.delegate = self;<br /> &nbsp; &nbsp;}<br /> <br /> &nbsp; &nbsp;- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {<br /> &nbsp; &nbsp;}<br /> <br /> &nbsp; &nbsp;- (void)webViewDidStartLoad:(UIWebView *)webView{<br /> &nbsp; &nbsp;}<br /> <br /> &nbsp; &nbsp;- (void)webViewDidFinishLoad:(UIWebView *)webView{<br /> &nbsp; &nbsp;}<br /> <br /> &nbsp;</div> ]]> </content> </entry> <entry> <title>[HTML5] CanvasでFlashような表示とコーディング - cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/2012/04/html5-canvasflash.html" /> <id>tag:cafe-d.net,2011://27.512</id> <published>2012-04-03T04:52:42Z</published> <updated>2012-04-03T08:24:17Z</updated> <summary><![CDATA[ 	&nbsp; 	HTML5とFlashの記事が多くって、HTML5でFlas...]]></summary> <author> <name>alan</name> <uri>http://plus-d.co.jp</uri> </author> <category term="CSS" scheme="http://www.sixapart.com/ns/types#category" /> <category term="HTML5" scheme="http://www.sixapart.com/ns/types#category" /> <category term="Javascript" scheme="http://www.sixapart.com/ns/types#category" /> <category term="Program" scheme="http://www.sixapart.com/ns/types#category" /> <category term="alan" scheme="http://www.sixapart.com/ns/types#category" /> <category term="actionscript" label="actionscript" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="canvas" label="canvas" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="flash" label="flash" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="html5" label="html5" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="javascript" label="javascript" scheme="http://www.sixapart.com/ns/types#tag" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/"> <![CDATA[<p> &nbsp;</p> <div> <span style="font-size:90%;">HTML5とFlashの記事が多くって、HTML5でFlash見たいな表示本当出来るが、</span></div> <div> <span style="font-size:90%;">人々の経験と使い方による意見が違いますね。</span></div> <div> &nbsp;</div> <div> <span style="font-size:90%;">それを試しました。</span></div> <div> <span style="font-size:90%;">結果はAS3見たいなコーディングまでもできますし、表示も出来ます。</span></div> <div> <span style="font-size:90%;">ただ、リソースやCPUはブラウザーによると違うがありますので、</span></div> <div> <span style="font-size:90%;">最新のブラウザーとFlash比べるとパフォーマンス的はダメですね、</span></div> <div> <span style="font-size:90%;">JQuery方が全然よかったです。</span></div> <div> &nbsp;</div> <div> <span style="font-size:90%;">今回試した作り方を紹介します。</span></div> <div> &nbsp;</div> <div> <span style="font-size:90%;">最初はJavascriptライブラリーが必要ですので</span></div> <div> <span style="font-size:90%;">ダウンロードしてください。</span></div> <div> &nbsp;</div> <div> <span style="font-size:90%;">1. easel.js (http://easeljs.com/)</span></div> <div> <span style="font-size:90%;">2. tween.js (https://github.com/gskinner/TweenJS)</span></div> <div> &nbsp;</div> <div> <span style="font-size:90%;">この二つ何が出来るか、まず相性がいいです。</span></div> <div> <span style="font-size:90%;">あと、Actionscript見たいな</span></div> <div> <span style="font-size:90%;">DisplayObject, Stage, Bitmap, Sprite&nbsp;</span></div> <div> <span style="font-size:90%;">全部同じような使えます。</span></div> <div> &nbsp;</div> <div> <span style="font-size:90%;">もちろんTweenもASと同じようなTweenです。</span></div> <div> <span style="font-size:90%;">ClickじゃなくってTouchもたいようしています！</span></div> <div> &nbsp;</div> ]]> <![CDATA[<p> &nbsp;</p> <p> &nbsp;</p> <div> <span style="font-size: 11px; ">今回のサンプルは自分のホームページの一部ですので、</span></div> <div> <span style="font-size: 11px; ">もともどFlashなんです、それて終わったらFlashと比べる事が出来ます。</span></div> <div> &nbsp;</div> <div> &nbsp;</div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">Step 1.</span></div> <div> <span style="font-size: 11px; ">HTMLを作ります。</span></div> <div> &nbsp;</div> <div class="graybox"> <div> <span style="font-size: 11px; ">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;head&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;title&gt;kusamochi.net&lt;/title&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;meta name=&quot;description&quot; content=&quot;kusamochi.net&quot;&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;meta name=&quot;keywords&quot; content=&quot;kusamochi, kusamochi.net, mochi, a picture a day&quot;&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;kusamochi_net.css&quot; /&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;script src=&quot;./js/easel.js&quot;&gt;&lt;/script&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;script src=&quot;./js/tween.js&quot;&gt;&lt;/script&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;!-- kusamochi.net --&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;script src=&quot;./js/kusamochi_net_page1.js&quot;&gt;&lt;/script&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;script src=&quot;./js/kusamochi_net_menu.js&quot;&gt;&lt;/script&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;/head&gt;</span></div> <div> <span style="font-size: 11px; ">&nbsp; &lt;body&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;canvas id=&quot;menu&quot;&gt;&lt;/canvas&gt;</span></div> <div> <span style="font-size: 11px; ">&nbsp; &lt;/body&gt;</span></div> <div> <span style="font-size: 11px; ">&lt;/html&gt;</span></div> </div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">ポイントはjsとcanvasですね。</span></div> <div> &nbsp;</div> <div> &nbsp;</div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">Step 2.</span></div> <div> <span style="font-size: 11px; ">メニューのベースを作ります。</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">自分はコンテンツよりナビゲーション方が大事なので、</span></div> <div> <span style="font-size: 11px; ">最初はメニューを作ります。</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">Flashと同じ、StageとMovieClip(Timeline)が最初出てくるので、JSも最初それを作ります。</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">ファイル: ./js/kusamochi_net_menu.js</span></div> <div> &nbsp;</div> <div class="graybox"> <div> <span style="font-size: 11px; ">var canvas;</span></div> <div> <span style="font-size: 11px; ">var stage;</span></div> <div> <span style="font-size: 11px; ">var menu_container = new Container(); //MovieClip見たいな物を作って、後でstageに追加。</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">window.addEventListener(&#39;load&#39;, init, false); //ASのAddedToStageみたい</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">function init() {&nbsp;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">canvas = document.getElementById(&quot;menu&quot;); //最初はcanvasを見つけ</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">//HTMLだから、Textのカーソルよく出てますよ、これて無くします。</span></div> <div> <span style="font-size: 11px; ">canvas.onselectstart = function () { return false; } // ie</span></div> <div> <span style="font-size: 11px; ">canvas.onmousedown = function () { return false; } // mozilla</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">stage = new Stage(canvas); //canvasをstageに</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">//Touchサポート</span></div> <div> <span style="font-size: 11px; ">if (Touch.isSupported()) { Touch.enable(stage); }</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">//Mouseサポート</span></div> <div> <span style="font-size: 11px; ">stage.enableMouseOver(10);</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">//Flashと同じFPS設定ができますよ</span></div> <div> <span style="font-size: 11px; ">Ticker.setFPS(30);</span></div> <div> <span style="font-size: 11px; ">Ticker.addListener(window);</span></div> <div> <span style="font-size: 11px; ">window.addEventListener(&quot;resize&quot;, resize);　//もちろんFlashと同じresizeも</span></div> <div> <span style="font-size: 11px; ">resize();</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">stage.addChild(menu_container);　//似てませんか？</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">function resize(){</span></div> <div> <span style="font-size: 11px; ">canvas.width=window.innerWidth;</span></div> <div> <span style="font-size: 11px; ">canvas.height=window.innerHeight;</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">function tick() {&nbsp;</span></div> <div> <span style="font-size: 11px; ">stage.update();　//redrawです&nbsp;</span></div> <div> <span style="font-size: 11px; ">}</span></div> </div> <div> &nbsp;</div> <div> &nbsp;</div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">Step 3.</span></div> <div> <span style="font-size: 11px; ">画像とMouseEventを作ります。</span></div> <div> &nbsp;</div> <div class="graybox"> <div> <span style="font-size: 11px; ">var canvas;</span></div> <div> <span style="font-size: 11px; ">var stage;</span></div> <div> <span style="font-size: 11px; ">var imageCount = 0;</span></div> <div> <span style="font-size: 11px; ">var menu_container = new Container();</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">var button1; //メニューのボタン</span></div> <div> <span style="font-size: 11px; ">var button2;</span></div> <div> <span style="font-size: 11px; ">var button3;</span></div> <div> <span style="font-size: 11px; ">var button4;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">const buttonWidth=58;&nbsp;</span></div> <div> <span style="font-size: 11px; ">const buttonHeight=58;</span></div> <div> <span style="font-size: 11px; ">const buttonHalfWidth=buttonWidth/2;</span></div> <div> <span style="font-size: 11px; ">const buttonHalfHeight=buttonHeight/2;</span></div> <div> <span style="font-size: 11px; ">const menuWidth=buttonWidth*4/2 + buttonHalfWidth;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">window.addEventListener(&#39;load&#39;, init, false);</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">function init() {&nbsp;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">canvas = document.getElementById(&quot;menu&quot;);</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">//get rid of text cursor</span></div> <div> <span style="font-size: 11px; ">canvas.onselectstart = function () { return false; } // ie</span></div> <div> <span style="font-size: 11px; ">canvas.onmousedown = function () { return false; } // mozilla</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">stage = new Stage(canvas);</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">if (Touch.isSupported()) { Touch.enable(stage); }</span></div> <div> <span style="font-size: 11px; ">stage.enableMouseOver(10);</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">//</span></div> <div> <span style="font-size: 11px; ">var image1=new Image();<span class="Apple-tab-span" style="white-space: pre; "> </span>//画像を作ります。</span></div> <div> <span style="font-size: 11px; ">image1.src=&quot;./images/btn1.png&quot;;</span></div> <div> <span style="font-size: 11px; ">image1.onload = menuBtnLoaded;　　　<span class="Apple-tab-span" style="white-space: pre; "> </span>//FlashのCompleteEvent見たいですね</span></div> <div> <span style="font-size: 11px; ">image1.name=&quot;image1&quot;;</span></div> <div> <span style="font-size: 11px; ">//</span></div> <div> <span style="font-size: 11px; ">var image2=new Image();</span></div> <div> <span style="font-size: 11px; ">image2.src=&quot;./images/btn2.png&quot;;</span></div> <div> <span style="font-size: 11px; ">image2.onload = menuBtnLoaded;&nbsp;</span></div> <div> <span style="font-size: 11px; ">image2.name=&quot;image2&quot;;</span></div> <div> <span style="font-size: 11px; ">//</span></div> <div> <span style="font-size: 11px; ">var image3=new Image();</span></div> <div> <span style="font-size: 11px; ">image3.src=&quot;./images/btn3.png&quot;;</span></div> <div> <span style="font-size: 11px; ">image3.onload = menuBtnLoaded;&nbsp;</span></div> <div> <span style="font-size: 11px; ">image3.name=&quot;image3&quot;;</span></div> <div> <span style="font-size: 11px; ">//</span></div> <div> <span style="font-size: 11px; ">var<span class="Apple-tab-span" style="white-space: pre; "> </span>image4=new Image();</span></div> <div> <span style="font-size: 11px; ">image4.src=&quot;./images/btn4.png&quot;;</span></div> <div> <span style="font-size: 11px; ">image4.onload = menuBtnLoaded;&nbsp;</span></div> <div> <span style="font-size: 11px; ">image4.name=&quot;image4&quot;;</span></div> <div> <span style="font-size: 11px; ">//</span></div> <div> <span style="font-size: 11px; ">Ticker.setFPS(30);</span></div> <div> <span style="font-size: 11px; ">Ticker.addListener(window);</span></div> <div> <span style="font-size: 11px; ">window.addEventListener(&quot;resize&quot;, resize);</span></div> <div> <span style="font-size: 11px; ">resize();</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">stage.addChild(menu_container);</span></div> <div> <span style="font-size: 11px; ">loadWelcome();</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">function resize(){</span></div> <div> <span style="font-size: 11px; ">canvas.width=window.innerWidth;</span></div> <div> <span style="font-size: 11px; ">canvas.height=window.innerHeight;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">//resize時間中に戻ります。</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">if(button1){</span></div> <div> <span style="font-size: 11px; ">Tween.get(button1)</span></div> <div> <span style="font-size: 11px; ">.to({x:canvas.width/2 - menuWidth + buttonWidth*1, y:canvas.height - buttonHalfHeight}, 1000, Ease.cubicInOut);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">if(button2){</span></div> <div> <span style="font-size: 11px; ">Tween.get(button2)</span></div> <div> <span style="font-size: 11px; ">.to({x:canvas.width/2 - menuWidth + buttonWidth*2, y:canvas.height - buttonHalfHeight}, 1000, Ease.cubicInOut);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">if(button3){</span></div> <div> <span style="font-size: 11px; ">Tween.get(button3)</span></div> <div> <span style="font-size: 11px; ">.to({x:canvas.width/2 - menuWidth + buttonWidth*3, y:canvas.height - buttonHalfHeight}, 1000, Ease.cubicInOut);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">if(button4){</span></div> <div> <span style="font-size: 11px; ">Tween.get(button4)</span></div> <div> <span style="font-size: 11px; ">.to({x:canvas.width/2 - menuWidth + buttonWidth*4, y:canvas.height - buttonHalfHeight}, 1000, Ease.cubicInOut);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">function menuBtnLoaded(event) {&nbsp;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">//画像load終わりの所です。</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">var image = event.target;</span></div> <div> <span style="font-size: 11px; ">var button=new Bitmap(image);</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">if(image.name==&quot;image1&quot;){</span></div> <div> <span style="font-size: 11px; ">button1=button;</span></div> <div> <span style="font-size: 11px; ">button1.x=canvas.width/2 - menuWidth + buttonWidth*1;</span></div> <div> <span style="font-size: 11px; ">button1.y=canvas.height+10;　　//最初は画面外に置いって</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">Tween.get(button1) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//画面の下にTween</span></div> <div> <span style="font-size: 11px; ">.to({x:canvas.width/2 - menuWidth + buttonWidth*1, y:canvas.height - buttonHalfHeight}, 1000, Ease.cubicInOut);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">if(image.name==&quot;image2&quot;){</span></div> <div> <span style="font-size: 11px; ">button2=button;</span></div> <div> <span style="font-size: 11px; ">button2.x=canvas.width/2 - menuWidth + buttonWidth*2;</span></div> <div> <span style="font-size: 11px; ">button2.y=canvas.height+10;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">Tween.get(button2)</span></div> <div> <span style="font-size: 11px; ">.to({x:canvas.width/2 - menuWidth + buttonWidth*2, y:canvas.height - buttonHalfHeight}, 1000, Ease.cubicInOut);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">if(image.name==&quot;image3&quot;){</span></div> <div> <span style="font-size: 11px; ">button3=button;</span></div> <div> <span style="font-size: 11px; ">button3.x=canvas.width/2 - menuWidth + buttonWidth*3;</span></div> <div> <span style="font-size: 11px; ">button3.y=canvas.height+10;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">Tween.get(button3)</span></div> <div> <span style="font-size: 11px; ">.to({x:canvas.width/2 - menuWidth + buttonWidth*3, y:canvas.height - buttonHalfHeight}, 1000, Ease.cubicInOut);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">if(image.name==&quot;image4&quot;){</span></div> <div> <span style="font-size: 11px; ">button4=button;</span></div> <div> <span style="font-size: 11px; ">button4.x=canvas.width/2 - menuWidth + buttonWidth*4;</span></div> <div> <span style="font-size: 11px; ">button4.y=canvas.height+10;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">Tween.get(button4)</span></div> <div> <span style="font-size: 11px; ">.to({x:canvas.width/2 - menuWidth + buttonWidth*4, y:canvas.height - buttonHalfHeight}, 1000, Ease.cubicInOut);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">button.regX = button.image.width/2;<span class="Apple-tab-span" style="white-space: pre; "> </span>//画像を間中にします (scale用)</span></div> <div> <span style="font-size: 11px; ">button.regY = button.image.height/2;<span class="Apple-tab-span" style="white-space: pre; "> </span></span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">menu_container.addChild(button);</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">(function(target) {</span></div> <div> <span style="font-size: 11px; ">button.onPress = function (evt){</span></div> <div> <span style="font-size: 11px; ">if(image.name==&quot;image1&quot;){</span></div> <div> <span style="font-size: 11px; ">loadpage1();</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">if(image.name==&quot;image2&quot;){</span></div> <div> <span style="font-size: 11px; ">loadpage2();</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">button.onMouseOver = function() {</span></div> <div> <span style="font-size: 11px; ">menu_container.addChild(target);//一番前に移動します</span></div> <div> <span style="font-size: 11px; ">Tween.get(target)<span class="Apple-tab-span" style="white-space: pre; "> </span>//MouseOver時 (Tweenを使ってscaleします)</span></div> <div> <span style="font-size: 11px; ">.to({scaleX:1.1, scaleY:1.1}, 500, Ease.cubicInOut);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">button.onMouseOut = function() {</span></div> <div> <span style="font-size: 11px; ">menu_container.addChild(target);</span></div> <div> <span style="font-size: 11px; ">Tween.get(target)</span></div> <div> <span style="font-size: 11px; ">.to({scaleX:1, scaleY:1}, 500, Ease.cubicInOut);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">})(button);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">function tick() {&nbsp;</span></div> <div> <span style="font-size: 11px; ">stage.update();&nbsp;</span></div> <div> <span style="font-size: 11px; ">}</span></div> </div> <div> &nbsp;</div> <div> &nbsp;</div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">Step 4.</span></div> <div> <span style="font-size: 11px; ">メニューから画面を変わります。</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">画面変わるは、いろな方がありまして、</span></div> <div> <span style="font-size: 11px; ">自分はflashでよく使う方は、</span></div> <div> <span style="font-size: 11px; ">Stageでページ置く用のMovieClip作って、</span></div> <div> <span style="font-size: 11px; ">後loaderをページのswfをloadします。</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">実際それもJSでできます。</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">ファイル: ./js/kusamochi_net_page1.js</span></div> <div> &nbsp;</div> <div class="graybox"> <div> <span style="font-size: 11px; ">var page_container;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">function loadpage1() {</span></div> <div> <span style="font-size: 11px; ">if(page_container){</span></div> <div> <span style="font-size: 11px; ">stage.removeChild(page_container);　　//もし他のページあれば、消します。</span></div> <div> <span style="font-size: 11px; ">page_container=undefined; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//Flashと同じ、GCですね。</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">page_container = new Container();<span class="Apple-tab-span" style="white-space: pre; "> </span>&nbsp;//new MovieClip()みたい</span></div> <div> <span style="font-size: 11px; ">var image=new Image();</span></div> <div> <span style="font-size: 11px; ">image.src=&quot;./images/btn1.png&quot;;　　　　　　 //今回のページは画像です。</span></div> <div> <span style="font-size: 11px; ">image.onload = pageImageLoad;</span></div> <div> <span style="font-size: 11px; ">stage.addChild(page_container); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//Stageに追加します。</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">//比べって出来る様りも一個</span></div> <div> <span style="font-size: 11px; ">function loadpage2() {</span></div> <div> <span style="font-size: 11px; ">if(page_container){</span></div> <div> <span style="font-size: 11px; ">stage.removeChild(page_container);</span></div> <div> <span style="font-size: 11px; ">page_container=undefined;</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">page_container = new Container();</span></div> <div> <span style="font-size: 11px; ">var image=new Image();</span></div> <div> <span style="font-size: 11px; ">image.src=&quot;./images/btn2.png&quot;;</span></div> <div> <span style="font-size: 11px; ">image.onload = pageImageLoad;</span></div> <div> <span style="font-size: 11px; ">stage.addChild(page_container);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">function pageImageLoad(event) {&nbsp;</span></div> <div> <span style="font-size: 11px; ">var image = event.target;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">var bitmap=new Bitmap(image);</span></div> <div> <span style="font-size: 11px; ">bitmap.x=200;</span></div> <div> <span style="font-size: 11px; ">bitmap.y=200;</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">(function(target) {</span></div> <div> <span style="font-size: 11px; ">bitmap.onPress = function (evt){</span></div> <div> <span style="font-size: 11px; ">page_container.addChild(target);　//一番前に移動します　ASのsetChildIndex見たいですね</span></div> <div> <span style="font-size: 11px; ">var offset = {x:target.x-evt.stageX, y:target.y-evt.stageY}; &nbsp;//drag and dropです</span></div> <div> <span style="font-size: 11px; ">evt.onMouseMove = function(ev) {</span></div> <div> <span style="font-size: 11px; ">target.x = ev.stageX+offset.x;</span></div> <div> <span style="font-size: 11px; ">target.y = ev.stageY+offset.y;</span></div> <div> <span style="font-size: 11px; ">}<span class="Apple-tab-span" style="white-space: pre; "> </span></span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">bitmap.onMouseOver = function() {</span></div> <div> <span style="font-size: 11px; ">page_container.addChild(target);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">bitmap.onMouseOut = function() {</span></div> <div> <span style="font-size: 11px; ">page_container.addChild(target);</span></div> <div> <span style="font-size: 11px; ">}</span></div> <div> <span style="font-size: 11px; ">})(bitmap);</span></div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">page_container.addChild(bitmap);</span></div> <div> <span style="font-size: 11px; ">}</span></div> </div> <div> &nbsp;</div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">ステップ2、３うまく分かれば、大体Flashのアニメーションをできますね。</span></div> <div> <span style="font-size: 11px; ">ステップ4は後残りの情報loadとか、細かい所はJQueryから出来ます。</span></div> <div> &nbsp;</div> <div> &nbsp;</div> <div> <span style="font-size: 11px; ">簡単な紹介はここまです、他のページ作り終わったらも一回紹介します。</span></div> <div> <span style="font-size: 11px; ">次回はWebGLを紹介します。</span></div> <div> &nbsp;</div> <div> <b>ソースを</b><b>ダウンロード</b><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data="http://tmp.pre-stages.net/tmp/downloader/DownloadBtn.swf" height="22" width="74"><param name="quality" value="high" /><param name="movie" value="http://tmp.pre-stages.net/tmp/downloader/DownloadBtn.swf?url=testsite.zip" /><embed height="22" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="http://tmp.pre-stages.net/tmp/downloader/DownloadBtn.swf?url=testsite.zip" type="application/x-shockwave-flash" width="74"></embed></object></div> ]]> </content> </entry> <entry> <title>たけなび - Recommend | cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/recommend/2012/02/post-15.html" /> <id>tag:cafe-d.net,2012:/recommend//29.547</id> <published>2012-02-15T03:16:34Z</published> <updated>2012-02-15T05:26:46Z</updated> <summary>OS：Android [iPhone] 開発：Yoshizou XYZ Solu...</summary> <author> <name>清水</name> <uri>http://plus-d.co.jp</uri> </author> <category term="Android APP" scheme="http://www.sixapart.com/ns/types#category" /> <category term="REVIEW" scheme="http://www.sixapart.com/ns/types#category" /> <category term="iPhone APP" scheme="http://www.sixapart.com/ns/types#category" /> <category term="shimizu" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/recommend/"> <![CDATA[<p>OS：Android [iPhone]<br /> 開発：Yoshizou XYZ Solutions<br /> 評価：★★★★★<br /> URL：<a href="https://market.android.com/details?id=travel.itours.takeo">https://market.android.com/details?id=travel.itours.takeo</a></p>]]> <![CDATA[<p>「たけなび」は2月1日に佐賀県武雄市から公式にリリースされた観光アプリ。<br /> iPhone/Androidはもちろん、なんとiPadや各種Androidタブレット端末にも対応。<br /> やたら気合いが入っています。</p> <p><strong>「佐賀県武雄市」から満を持して観光案内アプリが登場！！</strong><br /> というマーケットのダウンロードページの見出しにも迫力を感じます。<br /> <a href="http://maps.google.co.jp/maps?q=%E4%BD%90%E8%B3%80%E7%9C%8C%E6%AD%A6%E9%9B%84%E5%B8%82&hl=en&ie=UTF8&ll=33.192731,130.023193&spn=5.450419,7.745361&sll=36.5626,136.362305&sspn=41.417686,61.962891&brcurrent=3,0x34674e0fd77f192f:0xf54275d47c665244,0&hnear=Takeo,+Saga+Prefecture&t=m&z=7">「武雄市」</a>を知っていることが前提です。<br /> 武雄市を知ってもらおうとかそういう次元ではありません。</p> <p>そんな勢いある武雄市アプリですが、たかが観光案内と侮る事なかれ。<br /> すごいのは勢いではなくそのクオリティ。</p> <p><img alt="takenavi.png" src="http://cafe-d.net/recommend/takenavi.png" width="410" height="336" class="mt-image-none" style="" /></p> <p>とにかく非常に美しく、気持ちよく動きます。<br /> 武雄市を魅力的に見せるという最大の目的はスプラッシュ画面で達成しています。<br /> アプリが起動した段階で美しければ、それだけで魅力を感じるものです。</p> <p>ページ下部のメニューから遷移した先のページもよく作り込まれています。<br /> 画像のキャプチャは撮っていませんが、地図や各所の説明文等、様々な情報を集約しています。<br /> ただ、コンテンツの総量が多いため、メニューやボタンが小さく押しにくいのが難点。</p> <p>これから先、武雄市の観光に行くことがあるかはわかりませんが、ただ眺めているだけでも十分なアプリです。</p> <p>iPhone/iPad版はこちら：<a href="http://itunes.apple.com/jp/app/id495859965">http://itunes.apple.com/jp/app/id495859965</a></p> <p><strong>POINT：</strong><br /> 全然関係ありませんが、武雄市役所のホームページが<a href="http://www.facebook.com/takeocity">facebookに移転</a>していました・・・。<br /> スマートフォンで観光案内、facebookで市民に行政情報の提供。<br /> 武雄市、スゴいです。</p>]]> </content> </entry> <entry> <title>[iPhone/iPad] UIImageViewの画像をカメラフォルダに保存する - cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/2012/02/iphoneipad-uiimageview-1.html" /> <id>tag:cafe-d.net,2011://27.500</id> <published>2012-02-07T06:45:41Z</published> <updated>2012-02-07T11:57:34Z</updated> <summary> 	UIImageViewの画像をiOSの標準の写真(ピクチャーライブラリー)ア...</summary> <author> <name>haruki</name> <uri>http://plus-d.co.jp</uri> </author> <category term="App" scheme="http://www.sixapart.com/ns/types#category" /> <category term="Object C" scheme="http://www.sixapart.com/ns/types#category" /> <category term="haruki" scheme="http://www.sixapart.com/ns/types#category" /> <category term="iPhone/iPad" scheme="http://www.sixapart.com/ns/types#category" /> <category term="スマートフォン" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/"> <![CDATA[<p> UIImageViewの画像をiOSの標準の写真(ピクチャーライブラリー)アプリ のカメラロールに保存する方法がこちらになります。</p> ]]> <![CDATA[<div class="midashigray"> サンプルソース</div> <p> UIImageViewの画像の保存</p> <div class="graybox"> - (void)PhotSaved {<br /> &nbsp;&nbsp;&nbsp;UIImageWriteToSavedPhotosAlbum(<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imvSample.image,<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self,<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@selector(finishPhotoSaved:didFinishSavingWithError:contextInfo:),<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nil);<br /> }<br /> <br /> - (void)finishPhotoSaved:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{<br /> &nbsp;&nbsp;&nbsp;if (error == nil) {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@&quot;SAVE&quot;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message:@&quot;カメラロールに\r\n保存しました。\r\n&quot; delegate:self<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cancelButtonTitle:@&quot;OK&quot; otherButtonTitles:nil];<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[alertView show];<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[alertView release];<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[viwWT setHidden:YES];<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[indiV stopAnimating];<br /> &nbsp;&nbsp;&nbsp;}else {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@&quot;ファイル書き込みエラー&quot;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message:@&quot;写真の保存が出来ませ\r\nんでした。&quot;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delegate:self cancelButtonTitle:@&quot;OK&quot; otherButtonTitles:nil];<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[alertView show];<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[alertView release];<br /> &nbsp;&nbsp;&nbsp;[viwWT setHidden:YES];<br /> &nbsp;&nbsp;&nbsp;[indiV stopAnimating];<br /> &nbsp;&nbsp;&nbsp;}<br /> }</div> <div class="midashigray"> サンプルプロジェクト</div> <p> <a href="http://cafe-d.net/PictureSaved.zip">PictureSaved.zip</a></p> ]]> </content> </entry> <entry> <title>iBooks - Recommend | cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/recommend/2012/01/ibooks2.html" /> <id>tag:cafe-d.net,2012:/recommend//29.538</id> <published>2012-01-31T04:43:07Z</published> <updated>2012-02-15T03:35:50Z</updated> <summary>OS：iPhone [iPad] 開発：Apple 評価：★★★★ URL：ht...</summary> <author> <name>清水</name> <uri>http://plus-d.co.jp</uri> </author> <category term="REVIEW" scheme="http://www.sixapart.com/ns/types#category" /> <category term="iPhone APP" scheme="http://www.sixapart.com/ns/types#category" /> <category term="shimizu" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/recommend/"> <![CDATA[<p>OS：iPhone [iPad]<br /> 開発：Apple<br /> 評価：★★★★<br /> URL：<a href="http://itunes.apple.com/jp/app/id364709193">http://itunes.apple.com/jp/app/id364709193</a></p>]]> <![CDATA[<p>iPad/iPhone向け電子書籍リーダー、iBooksが「iBooks2」にバージョンアップ！<br /> 2012年1月19日のイベントで「<a href="http://itunes.apple.com/jp/app/id490152466">iBooks Author</a>」とともに発表されたiBooks2を早速試してみました。</p> <p>と、知ったような口を叩きましたが、<strong>iBooksはほとんど知りません。</strong><br /> 過去に一度インストールして即消しました。<br /> iBookstoreで販売されている書籍にさして興味が無かったためです。</p> <p>私は何か知りたいことがあって、それに関連する文献があれば欲しいと思います。<br /> ただそのためにわざわざストア内で探して回るのは面倒だし、善くも悪くも大量の書籍で溢れていて探すのは一苦労。<br /> 大体は参考資料をPDFでiPhoneにダウンロードして、PDFリーダーで読んでいました。</p> <p>ところが今回<a href="http://itunes.apple.com/jp/app/id490217893">iTunes U</a>が出たことで、講義やコースで使用するレジュメや参考資料をiBooksで保存・閲覧することができるようになりました。<br /> iTunes Uについてはまた別記事でレビューを書きますが、この連携は秀逸。<br /> iTunes UとiBooksでアプリを分けたことにより、アプリを切り替えながら読み進めることができます。<br /> 業界標準のePubはもちろんのこと、PDFにも対応しています。</p> <p>iBooks2は電子書籍リーダーとして作られているだけあって、とても便利です。<br /> しおりをつけたり、明るさの調節ができたり、読み物には最適。<br /> さらにiTunes経由でファイルを取り込むことはもちろん、Safariで開いたファイルも「iBooksで開く」でiBooksで閲覧することができ、保存も可能だということが判明。<br /> これらはiBooksの頃からあったもので、iBooks2の新機能ではありませんが、<strong>あまりにさりげなさ過ぎて知らなかった・・・</strong></p> <p><img alt="ibooks2_0.png" src="http://cafe-d.net/recommend/ibooks2_0.png" width="410" height="300" class="mt-image-none" style="" /></p> <p>ここまでくると、ストアのPDFリーダーの面子は丸潰れです。<br /> それどころかその存在意義を疑うレベルです。<br /> まぁ今まで使っていたものですし、私は消しませんがｗ</p> <p>皆様、是非お試しくださいませー。</p> <p><img alt="ibooks2_1.png" src="http://cafe-d.net/recommend/ibooks2_1.png" width="410" height="300" class="mt-image-none" style="" /></p> <p><strong>POINT：</strong><br /> iTunes UとiBooks2の強力な連携が何よりの魅力。<br /> 様々な参考資料がiTunes Uからダウンロード・閲覧できるのはとても嬉しいです。<br /> 現時点では日本未対応ではありますが、iBooks textbooksも出ましたしね。<br /> 何かと期待も高まるアプリです。</p> <p>でもね、あの棚、すごくダサいと思うの・・・。</p>]]> </content> </entry> <entry> <title>iTunes U - Recommend | cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/recommend/2012/01/itunes-u.html" /> <id>tag:cafe-d.net,2012:/recommend//29.537</id> <published>2012-01-31T04:34:23Z</published> <updated>2012-01-31T09:46:08Z</updated> <summary>OS：iPhone [iPad] 開発：Apple 評価：★★★★ URL：ht...</summary> <author> <name>清水</name> <uri>http://plus-d.co.jp</uri> </author> <category term="REVIEW" scheme="http://www.sixapart.com/ns/types#category" /> <category term="iPhone APP" scheme="http://www.sixapart.com/ns/types#category" /> <category term="shimizu" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/recommend/"> <![CDATA[<p>OS：iPhone [iPad]<br /> 開発：Apple<br /> 評価：★★★★<br /> URL：<a href="http://itunes.apple.com/jp/app/id490217893">http://itunes.apple.com/jp/app/id490217893</a></p>]]> <![CDATA[<p><em>"The iTunes U app gives you access to complete courses from leading universities and other schools ― plus the world’s largest digital catalog of free education content ― right on your iPad, iPhone, or iPod touch."</em></p> <p>iBooks2/iBooks Authorとともに発表されたiTunes U。<br /> iBooksと非常によく似たUIでなんだかよくわからなくなりますが、iTunes Uの根底はiPhone/iPadを通じた無償教育コンテンツの提供にあります。</p> <p>iTunes Uでは大学の無料講座や、図書館、美術館といった文化機関の資料を閲覧することができます。<br /> プレゼンテーション資料や書籍だけでなく、実際の講義のデータ（音声やビデオ）にアクセスすることができ、まさに教材の宝庫です。<br /> 現在公開されている教材は500,000を超え、iOSプログラミングから臓器移植に至るまで、あらゆる分野の勉強に役立ちます。</p> <p></p> <p>冒頭でも書いた通り、iTunes UはiBooksに非常に良く似たUIです。<br /> 棚の色が違うくらいじゃないですかね・・・。</p> <p><img alt="itunesu_1.png" src="http://cafe-d.net/recommend/itunesu_1.png" width="410" height="300" class="mt-image-none" style="" /></p> <p>iBooksと異なるのは各コレクションの右上にバッジがついているところ。<br /> 講座の未読の件数が表示されるようになっています。<br /> ダウンロードした直後やしばらく放置しているとどんどん溜まります。<br /> あと、パッと見で何を購読しているか分かるため、見られるとちょっと恥ずかしい。<br /> 後ろめたいことはありませんが、好みがバレます。</p> <p><img alt="itunesu_2.png" src="http://cafe-d.net/recommend/itunesu_2.png" width="410" height="300" class="mt-image-none" style="" /></p> <p>実際にコンテンツを選択して表示するとこんな感じ。<br /> <a href="http://itunes.apple.com/us/itunes-u/id341597754">MITのIntroduction to Algorithms</a>を開いています。<br /> 文字を被せてしまっているので分かりづらいのですが、ページが縦に並んでいます。</p> <p>ひたすらスクロールさせて見ることもできますが、iBooksで快適に閲覧できるよう、メニューから選択できるようになっています。<br /> また、iTunes Uでダウンロードできる書籍教材の中には、iBooksに直接保存されるものも少なくありません。（そればっかりかも？）<br /> iBooksはよくできた電子書籍リーダーではありますが、当たり前のようにiBooksに保存されると<strong>見失います＞＜</strong></p> <p><img alt="itunesu_3.png" src="http://cafe-d.net/recommend/itunesu_3.png" width="410" height="300" class="mt-image-none" style="" /></p> <p>こんな感じで、iTunes UとiBooksは密に連携して動きます。<br /> 「電子書籍は買わないし、iBooksは必要ない」という人もいるかもしれません。<br /> たしかに、iBooksがなくてもiTunes Uは使えますが、iTunes Uを使えばいずれiBooksが必要になります。<br /> 前述の通り、iBooksに直接保存する教材も少なくないためです。<br /> iTunes Uでいろいろ楽しみたい人は、おとなしくiBooksを入れておきましょうｗ</p> <p>なお、iBooksについては別にレビューを書いています。<br /> iBooksって結局なんなん？って方は併せて読んでみるといいかもしれません。</p>]]> </content> </entry> <entry> <title>FriendCaster for Facebook - Recommend | cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/recommend/2012/01/friendcaster-for-facebook.html" /> <id>tag:cafe-d.net,2012:/recommend//29.524</id> <published>2012-01-25T05:59:34Z</published> <updated>2012-01-25T11:14:22Z</updated> <summary>OS：Android 開発：OneLouderApps 評価：★★★ URL：h...</summary> <author> <name>清水</name> <uri>http://plus-d.co.jp</uri> </author> <category term="Android APP" scheme="http://www.sixapart.com/ns/types#category" /> <category term="REVIEW" scheme="http://www.sixapart.com/ns/types#category" /> <category term="shimizu" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/recommend/"> <![CDATA[<p>OS：Android<br /> 開発：OneLouderApps<br /> 評価：★★★<br /> URL：<a href="https://market.android.com/details?id=uk.co.senab.blueNotifyFree">https://market.android.com/details?id=uk.co.senab.blueNotifyFree</a></p>]]> <![CDATA[<p>Facebookはとにかく大量の情報が流れていくため、ぼーっと眺めているだけではなんだかよくわかりません。<br /> このアプリは友人の近況や、自分へのコメント、リンクのシェアなど、流れていく情報を適切に整理し、Facebookをより便利に使うためのアプリです。<br /> たとえば公式アプリでは友人の写真やリンクを見るために、いちいちメニューから表示を切り替えなければなりませんが、このアプリでは左右にフリックさせるだけで切り替えられます。<br /> 些細なことですが、ちょっとした手間を省き、気軽に使えるFacebookを実現しています。</p> <p><img alt="a_friend_caster.png" src="http://cafe-d.net/recommend/a_friend_caster.png" width="410" height="333" class="mt-image-none" style="" /></p> <p><strong>POINT：</strong><br /> ここまで褒めておきながらなんですが、機能としては公式以下です。<br /> チャットはできません。<br /> メッセージを読むことはできますが、返信はアプリ内ブラウザが立ち上がり、Facebookサイトに飛ばされます。<br /> また、ところどころでメッセージの取りこぼし（？）が目立ちます。<br /> あくまで情報を整理してスッキリと見たい人のためのアプリです。<br /> </p>]]> </content> </entry> <entry> <title>おさわり探偵　なめこ栽培キット - Recommend | cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/recommend/2012/01/post-14.html" /> <id>tag:cafe-d.net,2012:/recommend//29.520</id> <published>2012-01-24T01:16:45Z</published> <updated>2012-01-24T01:54:20Z</updated> <summary>OS：Android 開発：BeeworksGames 評価：★★★★ URL：...</summary> <author> <name>清水</name> <uri>http://plus-d.co.jp</uri> </author> <category term="Android APP" scheme="http://www.sixapart.com/ns/types#category" /> <category term="REVIEW" scheme="http://www.sixapart.com/ns/types#category" /> <category term="shimizu" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/recommend/"> <![CDATA[<p>OS：Android<br /> 開発：BeeworksGames<br /> 評価：★★★★<br /> URL：<a href="https://market.android.com/details?id=jp.co.beeworks.funghiGardeningKit">https://market.android.com/details?id=jp.co.beeworks.funghiGardeningKit</a></p>]]> <![CDATA[<p><em>"超キュートな「なめこ」を育てよう♪ 世界初！本格なめこ育成ゲーム！"</em></p> <p>もはや説明不要の大人気アプリ。<br /> ニンテンドーDS用ソフト「おさわり探偵　小沢里奈」で助手として登場した「なめこ」を育成するゲームですが、本編を知らない人も少なくないのでは。</p> <p>湿度管理やカビの駆除を行いつつ、なめこを育成・収穫するライトなゲームです。<br /> 空いた時間でサクッとできると評判ですが、要は放置ゲー。<br /> iPhoneで人気の「収穫」はAndroidでももちろん健在、ヌルっといきます。</p> <p>2012年に入り、アプリのダウンロード数が50万を超えたそうです。<br /> 今年もなめこ栽培ブーム（？）は続くのでしょうか・・・。</p> <p><img alt="nameko.png" src="http://cafe-d.net/recommend/nameko.png" width="400" height="295" class="mt-image-none" style="" /></p> <p><br /> <strong>POINT：</strong><br /> キャラクターとアプリのユルさ、まめなアップデートが人気の秘訣。<br /> アプリの人気を定着させることは難しい中、なめこはなかなか参考になります。</p> <p><strong>ところで、なめこ、キュートなんですかね・・・</strong></p>]]> </content> </entry> <entry> <title>airきのこ狩り - Recommend | cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/recommend/2012/01/air.html" /> <id>tag:cafe-d.net,2012:/recommend//29.511</id> <published>2012-01-23T06:37:35Z</published> <updated>2012-01-23T09:32:11Z</updated> <summary>OS：iPhone 開発：Meiji Co.,Ltd. 評価：★★★ URL：h...</summary> <author> <name>清水</name> <uri>http://plus-d.co.jp</uri> </author> <category term="REVIEW" scheme="http://www.sixapart.com/ns/types#category" /> <category term="iPhone APP" scheme="http://www.sixapart.com/ns/types#category" /> <category term="shimizu" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/recommend/"> <![CDATA[<p>OS：iPhone<br /> 開発：Meiji Co.,Ltd.<br /> 評価：★★★<br /> URL：<a href="http://itunes.apple.com/jp/app/id443398764">http://itunes.apple.com/jp/app/id443398764</a></p>]]> <![CDATA[<p><strong>全国のたけのこの里ファンを敵に回した</strong>明治謹製のARアプリ。</p> <p>カメラに映るきのこを刈り取るARゲームですが、キノコを引っこ抜く動作をiPhoneのジャイロセンサーで感知するため、適当にやっていては抜けなかったりします。<br /> ゲーム中で見事獲得したキノコたちはキノコ手帳に保存され、コレクションすることもできます。<br /> なお、結構大きく動かさないとキノコを引っこ抜いたことにならないため、街中で遊ぶのはちょっと恥ずかしいかもしれません・・・。</p> <p><img alt="i_kinoko.png" src="http://cafe-d.net/recommend/i_kinoko.png" width="410" height="135" class="mt-image-none" style="" /></p> <p><strong>POINT :</strong><br /> ARアプリもいろいろと見てきましたが、カメラにイメージを映り込ませたり、マーカーを読ませるだけでは一瞬で飽きます。<br /> 視覚効果だけに頼らず、ユーザーが試行錯誤しながら遊べるというのは大切ですね。</p> <p><strong>ちなみに私は断然たけのこの里派です。</strong></p>]]> </content> </entry> <entry> <title>[Facebook]Facebookアプリの基本設定(ページタブ編) - cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/2012/01/facebook-pagetab.html" /> <id>tag:cafe-d.net,2012://27.535</id> <published>2012-01-17T09:27:12Z</published> <updated>2012-01-17T09:47:39Z</updated> <summary> ページタブ(IFrameタブ)にメニューとして 表示されるアプリページを作成す...</summary> <author> <name>uchida</name> <uri>http://plus-d.co.jp</uri> </author> <category term="Facebook" scheme="http://www.sixapart.com/ns/types#category" /> <category term="uchida" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/"> <![CDATA[<p> ページタブ(IFrameタブ)にメニューとして 表示されるアプリページを作成するには開発者登録、Facebookではアプリ登録およびアプリ設定をする必要があります。<br /> ここではFacebookページのページタブ(IFrameタブ)用のアプリ設定方法 について説明します。 </p> <br /><br /> ]]> <![CDATA[<div class="clears"><img src="/img/recipe/120116/120115_1_5.png"  class="bordergray"/></div> <br /> <br /> <div class="midashigray"> 1.ディベロッパーページにアクセスします。 </div><br /> <a href="https://developers.facebook.com/" target="_blank">https://developers.facebook.com/</a><br /> <br /> <div class="midashigray"> 2.メニューからアプリを選択します。 </div> <img src="/img/recipe/120116/120115_1_6.png"  class="bordergray"/><br /> <div class="midashigray"> 3.新しい”アプリケーションを作成”を選択します。 </div> <img src="/img/recipe/120116/120115_1_1.png"  class="bordergray"/><br /> <br /> <div class="midashigray">4.App Display Nameにアプリの名称を入力します。</div> <p> App Namespaceはページタブ用のアプリには不要のため 必須ではありません。 </p><br /> <img src="/img/recipe/120116/120115_1_2.png"  class="bordergray"/><br /> <br /> <div class="midashigray"> 5.”アプリのドメイン”にページが存在するドメインを入力します。 </div> <img src="/img/recipe/120116/120115_1_3.png"  class="bordergray"/> <br /> <br /> <div class="midashigray"> 6.アプリをFacebookに結合する方法を選択します。</div> <p>ここではウェブサイトとページタブを選択してURLを入力します。<br /> ※secure Page Tab　URLは必須ではありませんが 入力をしていない場合、セキュア設定(HTTPS)のユーザはページを 見ることができませんので設定することを推奨します。</p> <img src="/img/recipe/120116/120115_1_4.png"  class="bordergray"/><br /> <p>ページタブ名はタブに表示される名前になります。</p><br /> <img src="/img/recipe/120116/120115_1_7.png"   class="bordergray"/><br /> ]]> </content> </entry> <entry> <title>[Facebook]Facebookアプリをタブに追加したい - cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/2012/01/facebook-tab.html" /> <id>tag:cafe-d.net,2012://27.536</id> <published>2012-01-17T08:30:28Z</published> <updated>2012-01-17T09:50:56Z</updated> <summary> Facebookアプリやウェルカムページを作成した際に Facebookページ...</summary> <author> <name>uchida</name> <uri>http://plus-d.co.jp</uri> </author> <category term="Facebook" scheme="http://www.sixapart.com/ns/types#category" /> <category term="uchida" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/"> <![CDATA[ <p> Facebookアプリやウェルカムページを作成した際に<br /> Facebookページのページタブへ追加を行う必要があります。 Facebookページへのページタブ(IFrameタブ)への追加方法が 2011年12月15日から変更になりましたのでここでは<br /> 最新のページタブ(IFrameタブ)への追加方法を説明していきます。 </p> ]]> <![CDATA[<div class="midashigray clears">1. ページタブ(IFrameタブ)に追加したいアプリのURLにアクセスします。</div> <div class="graybox"> https://www.facebook.com/dialog/pagetab?app_id=APP_ID&next=URL </div> <p> APP_IDはページタブに追加したいアプリの IDとなります。 開発画面から確認ができます。 </p> <img src="/img/recipe/120116/120115_2_1.png"  class="bordergray"/><br /> <p> URLは設定後リダイレクトされるURLになります。<br /> 適当に入力しても問題ありません。 </p> <div class="midashigray">2.追加したいFacebookページを選択し"ページタブを追加"を選ぶ</div> <img src="/img/recipe/120116/120115_2_2.png"  class="bordergray"/><br /> <br /> <div class="midashigray">3.タブに追加されたことを確認します。</div> <img src="/img/recipe/120116/120115_2_3.png"  class="bordergray"/><br /> ]]> </content> </entry> <entry> <title>AR東北ずん子ちゃん - Recommend | cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/recommend/2012/01/ar.html" /> <id>tag:cafe-d.net,2012:/recommend//29.509</id> <published>2012-01-16T10:00:55Z</published> <updated>2012-01-16T11:59:47Z</updated> <summary>OS：Android 開発：zacozaco 評価：★★★★ URL：https...</summary> <author> <name>清水</name> <uri>http://plus-d.co.jp</uri> </author> <category term="Android APP" scheme="http://www.sixapart.com/ns/types#category" /> <category term="REVIEW" scheme="http://www.sixapart.com/ns/types#category" /> <category term="shimizu" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/recommend/"> <![CDATA[<p>OS：Android<br /> 開発：zacozaco<br /> 評価：★★★★<br /> URL：<a href="https://market.android.com/details?id=com.zacotozaco.AR_ZUNKO">https://market.android.com/details?id=com.zacotozaco.AR_ZUNKO</a></p>]]> <![CDATA[<p><a href="http://www.zunko.jp/">東北応援萌えキャラ・東北ずん子ちゃん</a>のARアプリ。</p> <p>ARマーカー（サムネイル画像のもっと大きいもの）をカメラ越しに覗き、<br /> 様々な角度からずん子ちゃんを眺めるアプリです。<br /> マーカーを印刷することでより大きなずん子ちゃんを楽しむことができます。</p> <p>このアプリ、何がすごいって、本当に<strong>　覗　く　だ　け　。</strong></p> <p>上から下から覗き込み、あんなアングルやこんなアングルをひたすら狙うだけ。<br /> こういう遊び方が正しいのかわかりませんが、とにかくそれだけ。<br /> あまり必死になると、周りから<strong>ただの変態</strong>だと思われかねないのでご注意を。</p> <p><img alt="a_ar_zunko.png" src="http://cafe-d.net/recommend/a_ar_zunko.png" width="333" height="410" class="mt-image-none" style="" /></p> <p><strong>POINT：</strong><br /> 長く遊べるアプリではありませんが、Androidならではの自由な発想が良いですねー</p>]]> </content> </entry> <entry> <title>[コマンド] grepを使って、フォルダーとファイル中のテキストを検索(色付き) - cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/2012/01/-grep.html" /> <id>tag:cafe-d.net,2011://27.468</id> <published>2012-01-12T04:10:18Z</published> <updated>2012-01-12T04:54:59Z</updated> <summary>皆さんgrepよく使ってますが、 普通にターミナルで使う場合多いですね。 例えば...</summary> <author> <name>alan</name> <uri>http://plus-d.co.jp</uri> </author> <category term="OS" scheme="http://www.sixapart.com/ns/types#category" /> <category term="System" scheme="http://www.sixapart.com/ns/types#category" /> <category term="alan" scheme="http://www.sixapart.com/ns/types#category" /> <category term="grep" label="grep" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="keyword" label="keyword" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="search" label="search" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="検索" label="検索" scheme="http://www.sixapart.com/ns/types#tag" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/"> <![CDATA[<p>皆さんgrepよく使ってますが、<br /> 普通にターミナルで使う場合多いですね。</p> <p>例えば"mochi"を検索しますと</p> <p>grep -nr "mochi" * </p> <p><br /><br /></p>]]> <![CDATA[<p><br /> 上記のように返事が出てます。<br /> フォルダー中のtxtファイル、ライン番号まで分かります。</p> <p>mochiLinux_notes.txt:1575:to:       start on mochi<br /> mochiLinux_notes.txt:1578:S99mochi<br /> mochiLinux_notes.txt:1580:initctl -9 emit mochi<br /> mochiLinux_notes.txt:1855:/Library/LaunchAgents/net.kusamochi.plist</p> <p>でも、色が無いとちょっと見にくいです。<br /> 例えば、以下のコマンドをsearch.shとしてshell scriptに作成します。</p> <p>#!/bin/bash<br /> export GREP_OPTIONS='--color=auto'<br /> grep -nr $1 $2</p> <p>ターミナルで実行！<br /> ./search.sh "mochi" "/Volumes/Backup/"</p> <p>keywordに色がついて表示されます。</p>]]> </content> </entry> <entry> <title>[Android] おすすめ便利タイマーが二つ - cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/2011/12/android.html" /> <id>tag:cafe-d.net,2011://27.482</id> <published>2011-12-25T04:24:29Z</published> <updated>2011-12-25T09:15:53Z</updated> <summary> 	Androidでプログラムすると、時々タイマー使うと便利です。 	いつも使っ...</summary> <author> <name>alan</name> <uri>http://plus-d.co.jp</uri> </author> <category term="ANDROID" scheme="http://www.sixapart.com/ns/types#category" /> <category term="App" scheme="http://www.sixapart.com/ns/types#category" /> <category term="JAVA" scheme="http://www.sixapart.com/ns/types#category" /> <category term="Program" scheme="http://www.sixapart.com/ns/types#category" /> <category term="alan" scheme="http://www.sixapart.com/ns/types#category" /> <category term="android" label="Android" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="countdown" label="countdown" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="event" label="event" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="handler" label="handler" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="listener" label="listener" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="loop" label="loop" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="timer" label="timer" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="イベント" label="イベント" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="カウントダウン" label="カウントダウン" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="タイマー" label="タイマー" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="リスナー" label="リスナー" scheme="http://www.sixapart.com/ns/types#tag" /> <category term="ループ" label="ループ" scheme="http://www.sixapart.com/ns/types#tag" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/"> <![CDATA[<p> Androidでプログラムすると、時々タイマー使うと便利です。</p> <p> いつも使ってるのループタイマーとカウントダウンタイマーを紹介します。</p> <p> &nbsp;</p> ]]> <![CDATA[<p> <strong>1.簡単はループタイマー</strong></p> <div class="graybox"> Runnable runnable = new Runnable() {<br /> &nbsp;&nbsp; &nbsp;public void run() {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;changebackground();<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;handler.postDelayed(this, 500);<br /> &nbsp;&nbsp; &nbsp;}<br /> };<br /> &nbsp;</p> </div> <p> 起動は</p> <p class="graybox"> runnable.run();</p> <p> 止まるは</p> <p class="graybox"> handler.removeCallbacks(runnable);</p> <p> &nbsp;</p> <p> <strong>2.カウントダウンタイマー</strong></p> <p> カウントダウンの場合はandroid.os.CountDownTimerを使います。</p> <p> かなかな難しので、eventと一緒に使うと簡単になります。</p> <p> &nbsp;</p> <p> MochiTimer.java</p> <div class="graybox"> public class MochiTimer extends CountDownTimer {<br /> <br /> &nbsp;&nbsp; &nbsp;public long untilFinished=0;<br /> &nbsp;&nbsp; &nbsp;public long ticked=0;<br /> &nbsp;&nbsp; &nbsp;<br /> &nbsp;&nbsp; &nbsp;public MochiTimer(long millisInFuture, long countDownInterval) {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;super(millisInFuture, countDownInterval);<br /> &nbsp;&nbsp; &nbsp;}<br /> <br /> &nbsp;&nbsp; &nbsp;@Override<br /> &nbsp;&nbsp; &nbsp;public void onFinish() {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;notifyTimeUp();<br /> &nbsp;&nbsp; &nbsp;}<br /> <br /> &nbsp;&nbsp; &nbsp;@Override<br /> &nbsp;&nbsp; &nbsp;public void onTick(long millisUntilFinished) {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;this.untilFinished=millisUntilFinished;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;ticked++;<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;notifyTick();<br /> &nbsp;&nbsp; &nbsp;}<br /> &nbsp;&nbsp; &nbsp;<br /> &nbsp;&nbsp; &nbsp;// Listeners<br /> &nbsp;&nbsp; &nbsp;private List&lt;MochiTimerListener&gt; viewThreadListener = new LinkedList&lt;MochiTimerListener&gt;();<br /> <br /> &nbsp;&nbsp; &nbsp;public void addTimerListener(MochiTimerListener listener) {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;viewThreadListener.add(listener);<br /> &nbsp;&nbsp; &nbsp;}<br /> <br /> &nbsp;&nbsp; &nbsp;public void removetimerListener(MochiTimerListener listener) {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;viewThreadListener.remove(listener);<br /> &nbsp;&nbsp; &nbsp;}<br /> <br /> &nbsp;&nbsp; &nbsp;protected void notifyTimeUp() {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for (MochiTimerListener listener : viewThreadListener) {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;listener.onTimeUp(this);<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br /> &nbsp;&nbsp; &nbsp;}<br /> <br /> &nbsp;&nbsp; &nbsp;protected void notifyTick() {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for (MochiTimerListener listener : viewThreadListener) {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;listener.onTimeTick(this);<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br /> &nbsp;&nbsp; &nbsp;}<br /> }<br /> &nbsp;</p> </div> <p>MochiTimerListener.java</p> <div class="graybox"> <p > public interface MochiTimerListener {<br /> &nbsp;&nbsp; &nbsp;void onTimeUp(MochiTimer mochiTimer);<br /> &nbsp;&nbsp; &nbsp;void onTimeTick(MochiTimer mochiTimer);<br /> }</p> </div> <p> &nbsp;</p> <p> 使い方：</p> <div class="graybox"> <p> MochiTimer mochiTimer = new MochiTimer(3000, 1000);<br /> //3秒Timeup と 1秒一回TimeTick<br /> mochiTimer.start();<br /> mochiTimer.addTimerListener(new MochiTimerListener() {<br /> &nbsp;&nbsp; &nbsp;@Override<br /> &nbsp;&nbsp; &nbsp;public void onTimeUp(MochiTimer mochiTimer) {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;//TimeUp時やる事<br /> &nbsp;&nbsp;&nbsp; }<br /> <br /> &nbsp;&nbsp; &nbsp;@Override<br /> &nbsp;&nbsp; &nbsp;public void onTimeTick(MochiTimer mochiTimer) {<br /> &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;//TimeTick時やる事<br /> &nbsp;&nbsp;&nbsp; }<br /> });</p> </div>]]> </content> </entry> <entry> <title>サシミプラス - Recommend | cafe D 〜ITテクニックをデータベース化 全てのクリエイターが集うサイト〜</title> <link rel="alternate" type="text/html" href="http://cafe-d.net/recommend/2011/12/post-12.html" /> <id>tag:cafe-d.net,2011:/recommend//29.504</id> <published>2011-12-25T03:16:10Z</published> <updated>2011-12-25T07:09:14Z</updated> <summary>OS：iPhone 開発：EXILIAS.NET 評価：★★ URL：http:...</summary> <author> <name>清水</name> <uri>http://plus-d.co.jp</uri> </author> <category term="REVIEW" scheme="http://www.sixapart.com/ns/types#category" /> <category term="iPhone APP" scheme="http://www.sixapart.com/ns/types#category" /> <category term="shimizu" scheme="http://www.sixapart.com/ns/types#category" /> <content type="html" xml:lang="ja" xml:base="http://cafe-d.net/recommend/"> <![CDATA[<p>OS：iPhone<br /> 開発：EXILIAS.NET<br /> 評価：★★<br /> URL：<a href="http://itunes.apple.com/jp/app/id391305798">http://itunes.apple.com/jp/app/id391305798</a></p>]]> <![CDATA[<p>在宅型非労働者の雇用機会促進を目的とした<strong>刺身の上にタンポポを乗せる仕事</strong>を極めるアプリ。<br /> 乗せたタンポポの位置を5段階で評価、100点満点で採点と、<br /> <strike>吐き気を催すような単純作業</strike>シンプルながら奥深い修行を体験できます。<br /> 人気声優の若本規夫さんっぽい声（※本人ではありません）で評価を喋ってくれる、全く嬉しくないオマケ有。</p> <p>また、撮影した写真にタンポポを乗せた合成写真が作れる「サシミカメラ」機能搭載。<br /> もちろんカメラロールへの保存も可能です。<br /> このアプリでしっかりと鍛錬を積み、職人の技を身につけましょう。</p> <p><img alt="i_sashimi.png" src="http://cafe-d.net/recommend/i_sashimi.png" width="410" height="300" class="mt-image-none" style="" /></p> <p><strong>POINT：</strong><br /> ちゃんと働きましょう。</p>]]> </content> </entry> </feed> 
