タグ

ブックマーク / takatoshiono.com (3)

  • Objective-C 宣言プロパティで利用できるオプション (readonly、retain、nonatomic)など | thaty

    今日は、宣言プロパティで使用できる属性とその宣言の仕方を見ていきます。 プロパティの属性とは 例えば、前々回の投稿「宣言プロパティとは」で出てきた、starSignというプロパティを見てみると、これは外部から読み取り専用にしたいインスタンス変数のプロパティでした。 アクセサでこれを実現する場合は、セッタメソッドを書かず、ゲッタだけを書くことで実現できました。 これを宣言プロパティで実現しようとすると、普通に宣言したのでは、ゲッタもセッタも提供されてしまいます。 そこでこのような場合は「readonly」という属性オプション使ってやります。これを設定することで、ゲッタだけを提供するプロパティとして定義できます。 このように読み書きの方法や、値の設定の仕方をある程度カスタマイズできる用にいくつかのオプションが用意されています。 その一覧を以下の表にまとめました。 合計11のオプションが用意され

    Objective-C 宣言プロパティで利用できるオプション (readonly、retain、nonatomic)など | thaty
  • cocos2dでスワイプの方向、速さを検出する | thaty

    前回、タップの使い方について解説しました。今回はiPhoneアプリのインタラクションの特徴でもあるスワイプを扱ってみたいと思います。 通常のCocoa Touchを用いた開発では、UIGestureRecognizerのサブクラスUISwipeGestureRecognizerを使って方向などを取得しますが、cocos2dにUIKitフレームワークを入れなければならない上、SwipeGestureRecognizerはぶっちゃけ全然使いものになりません。スワイプを検出し、方向(上下左右)を決定するには特化していますが、ゲーム的な使い方には向いてないように思います。TouchBeganなどのタッチ系メソッドが反応しないので、スワイプの速さや細かな座標などを用いる処理には向いていなさそうです。 例えばオブジェクトを何処かへ飛ばすようなタッチアクションを作りたいとすると、4方向しか出せないUIG

    cocos2dでスワイプの方向、速さを検出する | thaty
  • cocos2dの基礎 CCLayerとCCSpriteの違い - レイヤーをスプライトのように使うには -. | thaty

    前回、cocos2dでシーンへレイヤーやスプライトを追加する方法を解説しました。 今回は僕がアプリを作る上で非常に困惑した部分を書いていきます。それはレイヤーとスプライトの挙動の違いです。これはアプリ制作に入る前に知っておくべきだったと思います。 レイヤーとスプライトの違い 簡単にいえば、レイヤーはどーんと画面いっぱいに作り重ねていくのが基です。一方スプライトは位置や回転、スケールを指定し、画像を画面に配置したり動かしたりするのに長けています。 では、「画像は必要ないが、オブジェクトを自由に配置したり動かしたりしたいとき」はどうすればいいでしょうか。 例えば、僕はよくOpenGLでオブジェクトを描画します。これは画像を使うわけではないので、CCSpriteクラスのオブジェクトとして作ることはできません。なぜならスプライトを生成するときは必ず画像を用いなければならないからです(何か他に画像

    silem
    silem 2013/11/15
    CCLayerの配置、超重要
  • 1