LOGSTACK

Tips for programming

Posts Categorized / iOSアプリ開発

  • 8月 05 / 2014
  • 0
iOSアプリ開発

iPhoneアプリ開発:ログファイルへの出力

例えばカメラやGPS、実機を使ったテストを行い場合など、
NSLog()で標準出力に出すログの他に、ファイルにも出して確認したい場合の実装サンプルです。


  • 5月 20 / 2014
  • 0
cocos2d-x, iOSアプリ開発

CCTMXTiledMapで、空のレイヤーを含むtmxファイルを読み込む

cocos2d-xで、CCTMXTilesMapを使っている場合の話です。

地図情報を”Tiles”というアプリで作成し、出来上がったtmxファイルを
CCTMXTiledMapで読み込み、画面へ展開します。

Tilesではマップ情報をレイヤーで管理できるため、
あらかじめレイヤーを複数作成しておいて、後で少しずつ入力していく方法をとりたいのですが、
レイヤー内にブロックが一つもなかった場合、CCTMXTilesMapへの読み込み時にエラーが出てうまくいきません。

これを修正したコードをのせておきます。
ブロックが配置されていないレイヤーがあっても、読み込みと表示が出来るようにはなります。

CCSpriteBatchNode.cpp #668

◎ 変更前

◎ 変更後

CCTMXTiledMap.cpp #132

◎ 変更前

◎ 変更後

CCTMXTiledMap.cpp #217

◎ 変更前

◎ 変更後

※開発者ではありませんので、この修正が正しいのかはわかりません


  • 5月 14 / 2014
  • 0
cocos2d-x, iOSアプリ開発

CCLabelTTFで文字が表示されない

iOS7にすると昔のソースが動かなくなっていました。
CCLabelTTFからラベルを作成すると、フォントが表示されなくなっていたようです。
公式の最新では既に対処されているのかもしれませんが、古いソースでは下記の修正で動きました。

変更箇所:cocos2dx/platform/ios/CCImage.mm
変更メソッド:_initWithString

◎ 変更前

◎ 変更後

同じメソッド内で、古いUITextAlignmentが使用されているので、
こちらもNSTextAlignmentへ変更します。

◎ 変更前

◎ 変更後

最後に、UILineBreakModeWordWrap を、NSLineBreakByWordWrappingへ修正します。

◎ 変更前

◎ 変更後

以上の修正で、TTFLabelから作成されたCCMenuItemLabelの表示まで確認できました


  • 5月 13 / 2014
  • 0
iOSアプリ開発

NSStringによる文字列操作

Objective-Cにおける文字列の操作をまとめます。

文字列検索

・rangeOfString
指定した文字列Aの中から、特定の文字列Bを探して、その位置を取得します。
他言語でいうところのindexOf系にあたり、Objective-Cにおいては単純な位置ではなく範囲で取得するようです。

部分文字列

・substringWithRange
・substringToIndex
指定した文字列の中から、範囲を指定して部分文字列を取得します。

文字列置換

・stringByReplacingOccurrencesOfString
指定した文字列の中にある、特定の文字列を全て別の文字列へ置換します。

上記の例では、「#」の部分が全て「$$」へ変換されるため、結果としては
“aaa$$$$$$bbb$$”
という文字列が返却されることとなります。

トリム

・stringByTrimmingCharacterInSet
文字列の先頭と末尾にある空白、改行、タブを除去します。

URLエンコードとデコード

・stringByAddingPercentEscapesUsingEncoding
・stringByReplacingPercentEscapesUsingEncodin
URLエンコードとデコードを行います。


ページ:123