taoru's memo

Objective-c,cocos2d,など開発についてのメモ(andoroidも少しだけ)

2013-01-01から1年間の記事一覧

terminalでUUIDを自由に生成するコマンド

uuidgenというコマンドで、uuid文字列を自由に生成できる。 CoreBluetoothの開発などで、CBUUIDを新しく定義したいときなどに使う。 $ uuidgen 9B93632B-74D9-46B9-BC6A-503423BD08FC $ uuidgen B9EA6DEE-ADDF-477B-9CC9-58F6B2169CAF $ uuidgen 28CEB791-33…

複数アプリ間で同一IDを取得する

記事のタイトルつけるセンスが無い(切実)アプリAとアプリBをタオル株式会社(仮)がリリースしたとして、 アプリAとアプリBを同時にやってくれているユーザーにインセンティブあげたい!という場合に ユーザーを特定するための同一IDの取得が必要になる。UUI…

subviewをタッチした場合にUIGestureRecognizerのイベントを無視する

UITapGestureRecoginizerや、UISwipeGestureRecognizerでviewにgestureイベントを取得するようにセットしていた場合、 タッチイベントがsubviewにいかなくなってしまう。しかし、tableviewをタップされた場合はtableviewだけにイベントがいってほしい! とい…

Foundation.frameworkを検索対象に含める方法

Objective-cでのfor-inの仕様を調べていて、NSFastEnumerationに準拠しているクラスならfor-inが使えることがわかった。そこで、どのクラスがNSFastEnumerationに準拠しているのか調べてみた。 この記事はprotocolに準拠しているクラスを探す方法についての…

CCSpriteのanchorPointを変更した際の位置ズレを吸収する

CCSpriteはanchorPointをセットすると位置がズレる。 瞬間的に位置がズレてしまうので、ズレないように見せるためにpositionを補正する CCSprite *sprite = [CCSprite spriteWithFile:@"hoge.png"]; sprite.anchorPoint = ccp(0.5f, 0.5f); // 位置ズレ前のb…

UILabelでadjustsFontSizeToFitWidthが効かなくてハマった

UILabelのsubClassを作っていて、initializeをoverrideして案件で最適なLabelクラスを作っていた。adjustsFontSizeToFitWidth = YESにセットしているのに、なぜかscaleしてくれない! という問題が発生し、ハマってた。 UILabel.hの当該コメントを見て即解決…

NSCFStringエラーでハマった(凡ミス)

NSStringをpropertyにセットして、いざ使おうとすると何もエラーを吐かずにクラッシュして困った。 凡ミスだったのでメモを残しておく。breakpointをセットして、クラッシュ該当箇所でログを吐いてみたら、 該当文字列のクラスがNSCFStringになっていた。 (l…

NavigationBarのBarButtonItemに使えるIdentifier一覧

StoryBoardを学んでいて、BarButtonItemを設置することがあったのだけれど 結構種類があって使っていないと忘れてしまいそう。せっかく色々用意してあるのだから、適宜使っていきたい。 どんなのがあるのか覚えるためにも一覧にしてみた。 Identifier Image …

cocos2d-iphonev2.1-rc2アップデートメモ

ブログまとめるの結構労力がいるので、適当にメモするくらいしておく4th coordinated release: cocos2d-iphone v2.1-rc2 and much morerc2の変更点はgithubのchangelogで見られる。 cocos2d-iphone/CHANGELOG at develop-v2 · cocos2d/cocos2d-iphone · GitH…

既にsuperviewを持っているviewを他のviewにaddSubviewした場合の振る舞い

あるUIViewがaddSubviewしたときに、すでにsuperviewを持っている(addSubviewされている)viewを貼り付けようとした場合の振る舞いを初めて知った。UIView Class Referenceによると UIView Class ReferenceDiscussion This method retains view and sets its …

CocosBuilderのTimelineとCCActionが共存できなくてハマった

最近はCocosBuilderを使ったりして遊んでおります。 raywenderlichさんとこにもCocosBuilderTutorialがあるのですが、日本語訳してくれた方がいるのでなんとかbuildまでこぎつけました。 CocosBuilder入門CocosBuilderとXcodeがあればもうbuildできるとばか…

はてなダイアリーからはてブロに移行しました

今更ですが。 はてなダイアリーだとgistが貼り付けられなかったり、色々と不便だった。 - 記事のインポート - はてブの移行 - 記事のリダイレクト 以上三点をナビゲーション通りに行いました。

CCNodeのカテゴリで、他のCCNodeをゆったり追うSoftFollowというのを作ってみた その3

CCNodeのカテゴリで、他のCCNodeをゆったり追うSoftFollowというのを作ってみた その2 - 追記2/26 - taoru's memo ↑の続編になります。今回はタイトル詐欺になるけど、カテゴリではなくCCActionを継承してTTSoftFollowを作った。 prefixどうしようかな〜と…

CCRenderTextureで輪郭線を描く

cocos2dを使っていて、CCSpriteに輪郭線を付けたい!ということがよくある。「輪郭線」「Outline」「Outline Stroke」などでググると、色々出てくるけどCCRenderTextureを使う方法がメジャーみたい。 ということで試してみた。CCSpriteとCCLableTTF(CCSprite…

InsertSubviewしたときはaddSubviewはいらない

UIViewをサブビューとして画面に表示させたいとき、 UIView *subview = [[[UIView alloc] init] autorelease]; [parentView addSubview:subview]; のように書くとparentViewのサブビューリストの末尾にsubviewが追加される(一番上に表示される)で、既存の…

kmVec2でのベクトル計算

Kazmath - Kazade/kazmathcocos2dにも標準で入っているライブラリKazmathの勉強をする。今回は特にkmVec2に関するメソッドを色々と試す。 以前にも一度ベクトル計算を試している(※)が、kmVec2Dotとか何をしているか分かっていない。 2Dでベクトル計算ができ…

cocos2dv2.1で追加されたCCClippingNodeを試す

この記事は、cocos2dv2.1で追加されたCCDrawNodeを試す - taoru's memo の続きです。 今回はCCClippingNodeを試す。これを使うといわゆるmask効果を得られる。が、適当に試しててもなかなか思い通りにできなかったので、練習する。 CCClippingNode.h につい…

cocos2dv2.1で追加されたCCDrawNodeを試す

cocos2d v2.1-rc0 が出ましたので、色々試してみようかと。中でも以下の2つ CCClippingNode CCDrawNode をマスターしたいところです。とりあえずCCDrawNodeを練習した記録を残す。 まずはサンプルを見ながらシンプルな三角形を書くコード - (id)init { if (…

UITableViewのCellを、タッチ中(highlight)だけ色を変える(半透明にしたい)

UITableViewのcellは、defaultのままだとタッチすると青くなる。単純なセルの色変更なら、UITableViewDelegateのdidSelectRowAtIndexPath中でcellを取得した後に、 cell.selectionStyle = UITableViewCellSelectionStyleGlay; などセットすれば色を変えられ…

UIViewをUIImageに変換する

拡張子が.pngの場合、UIImageに渡すファイル名では拡張子を省略できる(iOS 4以降) UIImage Class Reference On iOS 4 and later, if the file is in PNG format, it is not necessary to specify the .PNG filename extension UIImage *image = [UIImage ima…

Xcodeプロジェクトのgitignore設定とgitattributes設定

Xcodeプロジェクトをgit管理するとき、ユーザーデータやスワップファイルは無視させる。 こちはら使っていればすぐ.gitignore設定しなきゃ!って気がつくので問題があまりない。しかし、これだけでは複数人開発をしたときに .pbxproj という拡張子のついたフ…

QLOOKアクセス解析