<?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>peacepipe</title>
	<atom:link href="http://www.peacepipe.jp/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.peacepipe.jp/blog</link>
	<description></description>
	<lastBuildDate>Sun, 02 Jan 2011 13:31:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>あけましておめでとうございます！</title>
		<link>http://www.peacepipe.jp/blog/?p=503</link>
		<comments>http://www.peacepipe.jp/blog/?p=503#comments</comments>
		<pubDate>Sun, 02 Jan 2011 13:31:15 +0000</pubDate>
		<dc:creator>peacepipe</dc:creator>
				<category><![CDATA[daily]]></category>

		<guid isPermaLink="false">http://www.peacepipe.jp/blog/?p=503</guid>
		<description><![CDATA[2011年ですねー。未来ですね未来。最近ブログ書いてないなーと思って「よし書くぞ」と思ってもさっぱり続かないんですけど、数年同じ状況が続いてるのでちょっとアウトプットの方法を変えて行こうかなと模索中です。最近はいろいろな [...]]]></description>
			<content:encoded><![CDATA[<p>2011年ですねー。未来ですね未来。最近ブログ書いてないなーと思って「よし書くぞ」と思ってもさっぱり続かないんですけど、数年同じ状況が続いてるのでちょっとアウトプットの方法を変えて行こうかなと模索中です。最近はいろいろなオンラインサービスがあるので100%依存した個人ポータル的なものにしようかなーなんて考えてるんですけど、この調子だとどーなるかわからないですね。</p>
<p>ちなみに今年はサーバーサイドもちょろっとでいいのでできるようになりたいなーなんて思ってます。時間を見つけてはpythonやらnode.jsをさわってんですが、3Dやりたかったり絵書きたかったりやりたいことだらけで時間がないぞー！なんかひとつでも形になったらよしってことでがんばりますんで、本年もよろしくお願いします！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peacepipe.jp/blog/?feed=rss2&amp;p=503</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPadアプリがAppStoreに並びました！</title>
		<link>http://www.peacepipe.jp/blog/?p=496</link>
		<comments>http://www.peacepipe.jp/blog/?p=496#comments</comments>
		<pubDate>Tue, 14 Dec 2010 12:11:26 +0000</pubDate>
		<dc:creator>peacepipe</dc:creator>
				<category><![CDATA[daily]]></category>

		<guid isPermaLink="false">http://www.peacepipe.jp/blog/?p=496</guid>
		<description><![CDATA[この前はちょっと悲観的な内容になってしまったけど、
なんとかアプリがAppStoreに並びました！
Xmas Advent Calendar 2010 for iPad

内容はこちらに詳しく書いてますんで是非是非::
 [...]]]></description>
			<content:encoded><![CDATA[<p>この前はちょっと悲観的な内容になってしまったけど、<br />
なんとかアプリがAppStoreに並びました！</p>
<p><strong>Xmas Advent Calendar 2010 for iPad</strong></p>
<p><img class="alignnone size-full wp-image-497" title="adventcalendar2010_app" src="http://www.peacepipe.jp/wordpress/wp-content/uploads/2010/12/adventcalendar2010_app.jpg" alt="" width="195" height="195" /></p>
<p>内容はこちらに詳しく書いてますんで是非是非::<br />
<a href="http://www.adventcalendar.jp/2010/12/07/coming-soon-xmas-advent-calendar-2010-for-ipad/" target="_self"> http://www.adventcalendar.jp/2010/12/07/coming-soon-xmas-advent-calendar-2010-for-ipad/</a></p>
<p>いやーよかったよかった。で、アプリの公開が12月7日なんですが、すでに14日って本当遅くなってしまった…聞いた話では海外でもちょっと売れてるよって事で、AppStoreが海外でもあるから当たり前の事かもしれないですけどうれしいなーってね。</p>
<p>まぁ今回のはスケジュールも遅れたし広告も何もしてないので目標数売れなくてもしゃーないってな事なんですけど、とりあえずiPadがでた年にiPadアプリが出せた事に意味があるという事でよしとしましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peacepipe.jp/blog/?feed=rss2&amp;p=496</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>アプリがお蔵入りになるかもしれない…</title>
		<link>http://www.peacepipe.jp/blog/?p=488</link>
		<comments>http://www.peacepipe.jp/blog/?p=488#comments</comments>
		<pubDate>Sun, 05 Dec 2010 03:54:46 +0000</pubDate>
		<dc:creator>peacepipe</dc:creator>
				<category><![CDATA[daily]]></category>

		<guid isPermaLink="false">http://www.peacepipe.jp/blog/?p=488</guid>
		<description><![CDATA[更新また間があいてしまった。。。
まー今回はちょっとメンタルがかなり沈むでき事があって下書きを書いては消し書いては消しを繰り返してました。。。
なんといいますか前回からアプリ開発中って書いてた訳なんですが、なんとかできた [...]]]></description>
			<content:encoded><![CDATA[<p>更新また間があいてしまった。。。<br />
まー今回はちょっとメンタルがかなり沈むでき事があって下書きを書いては消し書いては消しを繰り返してました。。。</p>
<p>なんといいますか前回からアプリ開発中って書いてた訳なんですが、なんとかできたわけですよ。アプリがね。<br />
で、次はAppStoreに申請だー！ってここまでは良かったんですけど、そこからさっぱり話が進まなくてですね…ちょっと間に合わないって事になってしまったんですよ。アプリの販売ってはじめての事だったんでいろいろ仕方ないかって思う事もあるんですけど、やっぱり人を信用してまかせるっていろいろ難しいと思ったわけです。</p>
<p>というわけでアプリがでるかどうかわからないんですけど、また進展会ったらここで報告させてもらいます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peacepipe.jp/blog/?feed=rss2&amp;p=488</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cocos2dでアプリ開発中 &#8211; その3</title>
		<link>http://www.peacepipe.jp/blog/?p=481</link>
		<comments>http://www.peacepipe.jp/blog/?p=481#comments</comments>
		<pubDate>Wed, 03 Nov 2010 16:01:15 +0000</pubDate>
		<dc:creator>peacepipe</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.peacepipe.jp/blog/?p=481</guid>
		<description><![CDATA[はいちょっと間があいてしまいましたが、3回目。今回は座標系とかそこらへん。
今更言う事でもないですけど、cocos2dの座標系は左下が(x=0, y=0)です。

OpenGLの座標系がそーなんでしゃーないんでしょうけど [...]]]></description>
			<content:encoded><![CDATA[<p>はいちょっと間があいてしまいましたが、3回目。今回は座標系とかそこらへん。</p>
<p>今更言う事でもないですけど、cocos2dの座標系は左下が(x=0, y=0)です。</p>
<p><img src="http://www.peacepipe.jp/wordpress/wp-content/uploads/2010/11/graf.gif" alt="" title="graf" width="500" height="238" class="alignnone size-full wp-image-485" /></p>
<p>OpenGLの座標系がそーなんでしゃーないんでしょうけど、Flashとかやってると左上が(x=0, y=0)なので配置とかしてる時ちょっと間違えたりしてイライラしてしまいますね。わかってるんですけどね、うん。つい間違っちゃうんですよ…。</p>
<p>で配置するCCSpriteですが画像を設定すると自動的に画像の中心がCCSpriteの原点に設定されるんです。画像の原点anchorPointの値は0から1の間になるので中心は0.5になります。で、こんな感じ。</p>
<p><img src="http://www.peacepipe.jp/wordpress/wp-content/uploads/2010/11/cocos2d-sprite-1.gif" alt="" title="cocos2d-sprite-1" width="500" height="250" class="alignnone size-full wp-image-483" /></p>
<p>で、原点なんで、配置してからでもアンカーポイントの位置変えたら画像の位置も変わります。…あたりまえか。</p>
<p><img src="http://www.peacepipe.jp/wordpress/wp-content/uploads/2010/11/cocos2d-sprite-2.gif" alt="" title="cocos2d-sprite-2" width="500" height="250" class="alignnone size-full wp-image-484" /></p>
<p>あと、アンカーポイントは回転とか拡大とかするときの中心点にもなります。</p>
<p>　</p>
<p>と、今回はなんかあたりまえの事ばっかりで「んなもん言われなくても知ってますがな」な内容になってしまったなー。ま、いっか。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peacepipe.jp/blog/?feed=rss2&amp;p=481</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>cocos2dでアプリ開発中 &#8211; その2</title>
		<link>http://www.peacepipe.jp/blog/?p=467</link>
		<comments>http://www.peacepipe.jp/blog/?p=467#comments</comments>
		<pubDate>Tue, 26 Oct 2010 17:12:21 +0000</pubDate>
		<dc:creator>peacepipe</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.peacepipe.jp/blog/?p=467</guid>
		<description><![CDATA[はい2回目。前回に引き続きcocos2dに関してです。
えっとcocos2dで画像とかを表示するときはCCSpriteというのを使用するのが一般的みたいです。サンプル見てもそーなってますしね。で、このCCSprite画像 [...]]]></description>
			<content:encoded><![CDATA[<p>はい2回目。前回に引き続きcocos2dに関してです。</p>
<p>えっとcocos2dで画像とかを表示するときはCCSpriteというのを使用するのが一般的みたいです。サンプル見てもそーなってますしね。で、このCCSprite画像の位置のpositionとか回転のrotationとかFlash感覚で扱えて便利で「お！こいつやるな」って感じなんですけど、こいつタッチを検出する機能がないんですよ！タッチされたらみたいな機能がないんですよ！（2回言ってしまいました）</p>
<p>オブジェクトを配置するとタッチに反応して欲しいときとか結構あるんですよねー。上のレイヤーでタッチ取得してなんとかせーやって事なのかなーとも考えてみたけど、画面が複雑になるとできればSprite側で判断していただけると助かるよなーなんて考えながら、なんとかならんのかねってサンプルみてみると、いやーあるじゃないですか。ですよねって事で見てみるとCCSpriteを継承してCCTargetedTouchDelegateというプロトコルを実装するみたいです。</p>
<pre>
CCTouchDelegateProtocol.h

@protocol CCTargetedTouchDelegate &lt;NSObject&gt;

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event;
@optional
- (void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event;
- (void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event;
- (void)ccTouchCancelled:(UITouch *)touch withEvent:(UIEvent *)event;
@end
</pre>
<p>なのでこんな感じ。</p>
<pre>
MySprite.h

@interface MySprite : CCSprite &lt;CCTargetedTouchDelegate&gt;
@end

MySprite.m

@implementation MySprite
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
     NSLog(@"touch!!");
     return YES;
}
@end
</pre>
<p>で実行してみるさっぱり何もおきません。おーいおーいって感じですが、どーやらCCTouchDispatcherというのに登録してあげないといけないみたいです。というわけでこれもサンプルみながらMySprite.mにonEnterとonExit追加してCCTouchDispatcherに登録、削除を追加します。</p>
<pre>
- (void)onEnter{
     [[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
     [super onEnter];
}
- (void)onExit{
     [[CCTouchDispatcher sharedDispatcher] removeDelegate:self];
     [super onExit];
}     
</pre>
<p>でこれで大丈夫って実行してみると、どこ触っても&#8221;touch!!&#8221;ってでるんですよね。うーん、あかんやん。まーこれでtouchはとれるって事でどーやらこのtouchの位置をSpriteの範囲内かどーか自前で判定しないといけないみたい。というわけで、サンプルにしたがって以下のメソッド追加。</p>
<pre>
// Spriteの矩形サイズを返す
- (CGRect)rect {
     CGSize s = [self.texture contentSize];
     return CGRectMake(-s.width / 2, -s.height / 2, s.width, s.height);
}

// Spriteの矩形サイズの中にタッチの位置が入っているかどうかチェック
- (BOOL)containsTouchLocation:(UITouch *)touch {
     return CGRectContainsPoint(self.rect, [self convertTouchToNodeSpaceAR:touch]);
}

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
     if ( ![self containsTouchLocation:touch] ) {
          return NO;
     }
     NSLog(@"touch!!");
     return YES;
}
</pre>
<p>もーいけるだろうってことで実行。…ふー、やっと思った通りに動いてくれました。</p>
<p>というわけでなんとかこれでCCSpriteにtouchを検出する機能をつける事ができました。パチパチ。いやーめんどくさいですねー。といっても自分で1から作る事を考えるとこれだけでいけるなんて夢のようってことですかね。それぐらいあってもいいのにね。</p>
<p>　</p>
<p>で、まー余談ですが、このCCTargetedTouchDelegateはCCTouchDelegateProtocol.hというファイルにあるのですが同じようなCCStandardTouchDelegateというのも一緒にあります。CCStandardTouchDelegateは標準の機能と同じように使用できるものでマルチタッチを取得して中で割り振ったりするのですが、CCTargetedTouchDelegateは単一のtouchのみ取得します。Spriteのようなものでマルチタッチで複雑な事をする必要がない場合はCCTargetedTouchDelegateの方が便利って感じですかね。ちなみにCClayerはCCStandardTouchDelegateとCCTargetedTouchDelegateの両方ついてます。</p>
<p>　</p>
<p>というわけで2回目終了。何回つづくかなー。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peacepipe.jp/blog/?feed=rss2&amp;p=467</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
