作ったやつ)3D空間のカメラ(mainカメラ)3D空間のブジェクトサンプルgistやってること3Dカメラでワールド座標からスクリーン上の座標に変換1の値を別のカメラのスクリーン座標上に変換2D上に表示させたいアイテムのx,y座標だけ2で得た座標を上書き※zは描画順やカメラの有効射程から外れるので無視。原点がくるように指定する。bottomにすると原点が中央下部になるので、3Dオブジェクトのちょい上にあらかじめ表示が可能になる。Spriteオブジェクトが乗ったパネルオブジェクトをPoint2DのplaneObjectに参照させるそうするとパネル内で表示物を切り替えたりするときに便利だから。s2kw[XCode4][UIKit]UITableVieCellをオリジナルのXibを使用して表示するコメントをどうぞここに凄くシンプルな方法が載っていたのでまとめ。http://stackoverflow.com/で載っていたサンプル用意するものCell.hCell.mCell.xibMasterViewController.hMasterViewController.m前提として・・・Cellは基本的に表示してる領域+前後いくつか分のViewしか持たないのでCellそのものにデータ保持をさせるのは危険。やっていること独立したUITableViewCellクラス専用に1つのXibを持たせる。Cell自身がXibを呼び出すので、他のサイトで載っているようなController側が保持するやりかたのように複雑風にならない。ついてこのクラスメソッドでは何でも格納ObjectNSArray型のnibContentsにXibを読み込んで格納し、列挙型NSEnumeratorを生成。Xib内に独自Cell用のnibがあったら返してもらい、それを以てCellとし、列挙を離脱。最後にCellを返して終了する、という流れ。cell;}ここでは先のCellで定義したNibを読み込んでViewを生成するクラスメソッドを呼び出して格納している。label1.textはviewに載っているLabelにIBOutletで接続したUILabelへの接続。独自に作ったXibに合わせて変更を。Cellにコントローラを埋める場合はCellの使い回しをセルの種類単位で分けないとぐちゃぐちゃになるとの事。Float型の数値を返しておくこと。100.0;}セル選択時の表現の変更セルを生成しなおしたりできる。変更をデフォルトに戻しておく。NSLog(@"%s",__func__);}XibのIBOutletの設定File’sOwnerのCustomClassの項目はMasterViewControllerにしておく。※これは記述無しでも駆動する。記述が無い場合はデフォルトの値が入るので、CellCell側のCustomClassの項目はCellにする。Label1等に直接接続する。デフォルトのプロパティに準拠UITableViewCellはデフォルトでUILabelを複数保持している。これらのプロパティ名はtextLabelとdetailTextLabelなのでこれらの既存プロパティをメンバ変数と一緒に扱う事で上書きができる。無為にプロパティを増やさなくて済む。detailTextLabel_;//既存プロパティ用に追加。textLabel_;//既存プロパティ用に追加。textLabel_;これで既存プロパティと共通化させる事が出来た。下の画像のセル中央部分がオリジナルのプロパティ。右側がデフォルトのプロパティを利用した表示。s2kw今更きけないUILabelの基本まとめコメントをどうぞ概要UILabelはUIViewを継承したクラス。固定された内容のテキストを画面に貼付けるのに使う。生成したら必ずどこぞのコントローラ下のViewにaddSubviewする。プロパティ設定できるプロパティは以下の通り。textNSStringでパラメータ付与。ラベル内に表示する文字列を指定する。fontUIFontで指定。フォントの種類を指定。フォントオブジェクトはその章を参照。textColorUIColorでパラメータ付与。フォントの色を変える。lineBreakModeUILineBreakMode定数を指定する。文字数オーバー時の表現方法を指定。enabledBOOL指定。グレー反転させて使用不可表現を行う。adjustsFontSizeToFitWidthBOOL指定。textで指定した文字列がラベルの矩形内に納まる様にアジャストするか否かを指定する。これをYESニシタバアイハlineBreakModeが無効になる。baselineAdjustmentUIBaselineAdjustmentを文字列定数で指定。minimumFontSizeCGFloatで指定。次に記述するnumberOfLinesが1の時のみ効果が出る。numberOfLinesNSInteger指定。textで指定された文字列を表示する限界の行数を指定する。highlightedTextColorUIColor指定。ハイライトされた際の文字色を指定する。highlightedBOOL指定ハイライトするか否かを指定する。shadowColorUIColor指定。highlightedが有効だとshadowOffsetCGSize指定。CGSizeはCGFloat型のwidthとheightの2部構成。CGSizeMake(w,h)で作成。userInteractionEnabledBOOL指定。タッチの検出をするか否か。メソッド一覧drawTextInRect:このメソッドは直接呼ばない方が良い。継承したサブクラスのデフォルトの振舞で描画したい時に呼ばれるべきだ。このメソッドが呼ばれる時、現在の描画コンテキスト(デフォルトの環境とテキストの色で)の設計が完了する。Overrideしたメソッドではsuper使って同名メソッドを発動させよう。textRectForBounds:limitedToNumberOfLines:ラベルのテキストの矩形(CGRect)を返す。parameterbounds(CGRect)レシーバの矩形を渡すnumberOfLines:(NSInteger)最大行数を渡すこのメソッドは直接呼ぶべきではない。レシーバに指定した矩形に何かしらの計算を伴う動作をさせる前に、継承したサブクラスがOverrideしたメソッドから呼ぶべきだ。最大行数を指定するnumberOfLinesパラメータを使って高さの上限を返される矩形に指定できる。メソッドを呼ぶためにはsizeToFitか、sizeThatFitsの呼び出しが先だ。UITableViewCellオブジェクト内のUILabel、またはサイズ指定のないUILabelはセルの寸法ベースのサイズが適用される。UILineBreakModeについて矩形に対する文字列幅がオーバーした際の表現方法を指定する。行数指定をしてた場合は矩形幅がたらなくなるところまでは大凡共通した仕様で改行が行われる。UILineBreakModeCharacterWrapは例外で、Word間で自動改行ではなく、たらなくなった時点で改行が行われるので1単語を切ることになるので注意が必要。UILineBreakMode;サンプルこのサンプルを実行すると本記事のトップで表示した画像とおなじViewになる。s2kwUIScrollViewを使ってちゃんとスクロールさせる手順コメントをどうぞ達成した事があったにもかかわらずちょっとハマってしまったのできちんとメモって二度轍しないようにするための記事。UIScrollViewを扱うにあたって最低限しておかなければ成らない事3重の入れ子構造にするWindowUIScrollViewcontentView実際に見せたいView群やる事UIScrollViewを生成ScrollViewの上に乗せるコンテンツのViewを生成ScrollViewにaddSubViewでコンテンツのViewを乗せる。ScrollViewに必要なビューを乗せたいだけ沢山乗せる(載せる)。ScrollViewの可動域を指定する。現在のViewにはUIScrollViewを上書きする。scv;//6}margineの部分の処理はBlockにした方が美しいよね...。図入りで説明されてて分かりやすいし、ズームのさせ方まで載ってるので勉強になった。s2kwUnityでUI上にボタンを配置してボタンからメソッドを実行させる最小構成1件のフィードバックUI上にボタンを表示してタッチ/クリックできるようにします。黒いアイコンのAssetが出現。これを選択してInspector上で各種定義を行う。今回はボタンをメインで扱うのでボタンの要素を触ってみる。“Hover”はマウスオーバー時の変化であり、iOSではタッチのみなので表現されない。実際には”Active”のみ。Destroy(gameObject.FindWithTag("Player"));}スクリプトを書き終えたらGUIを割り当てる。スクリプ上のグローバル変数化しているSkinに対して、先に用意したGUISkinをドラッグ&ドロップで割り当てる。これでGUISkinで定義したボタンの色などが適用される。やらないとデフォルトの定義が割り当てられるので不要ならば”割り当てない”選択もアリ。Nullオブジェクトを生成し、そのコンポーネントとしてスクリプトをドラッグ&ドロップで割り当てると完成。ちなみにだけど、ほんとはgameObject.FindWithTag("Player").SendMessage("Kill")とかでメッセージ送信だけにしておくべき。最小構成ではなくなるので今回は凄く単純なスクリプトにしておきました。文字色が赤いのはマウスオーバーのタイミングでキャプチャしたため。Screen.width;というコードがあると「あ、Screenってクラスから何か取得できるんだ、へー」って事があって助かる。前に一度、サンプルコードはどんどん載せるべき、というはてなのエントリがあったけどその通りだと思う。s2kw【UINavigationController】ボタンを押すことで画面遷移する構造の基本構成コメントをどうぞ画面遷移する際の概念がやっと理解できたので、構成を残しておく。サンプルは以下の通り。処理順のイメージAppDelegateがWindowを生成AppDelegateがTopViewControllerを生成してWindowに表示TopViewControllerがViewに載ったらイベント付きのボタンを2つ生成ボタンが押されたらViewController1を生成してWindowのViewに掲示。ViewController1がViewに載ったらイベント付きのボタンを1つ生成ボタンが押されたらTopViewControllerを生成してViewに乗せる。気をつけなければ成らないのは以下の点このサンプルではUINavigationControllerを利用しているので、遷移経路が全て保持されており、経路上の画面自体も保持され続ける。よって、メモリオーバー必至。メモリオーバー時用の対処はUIKit詳細リファレンスに載ってるのでそれを参照。画面遷移の処理を行う。1:viewControllerを生成する。//背景は白、文字は黒で。animated:YES];}@endおまけちなみにViewController1のbuttonDidPush:senderメソッドを以下の様に書き換えると、トップに戻る様になるので遷移経路を保持せずにメモリを節約できる。