2014年7月11日金曜日

cocos2d v3.1非互換:CCSpriteクラスも変えちゃうの(^^ゞ

<非互換項目>

  1. 「spriteWithFile:」メソッド名変更( →「spriteWithImageNamed:」)
  2. 透明度プロパティ(opacity)が0〜255指定が0.0〜0.1実数指定に変更


    // 爆弾スプライト生成
    CCSprite *theBombSprite = [CCSprite spriteWithFile:@"Bomb.png"];
    
    // 爆弾透明度変更
    theBombSprite.opacity = 128;
    
    // 爆弾スプライト生成
    CCSprite *theBombSprite = [CCSprite spriteWithImageNamed:@"Bomb.png"];
    
    // 爆弾透明度変更
    theBombSprite.opacity = 0.5f;
    


<対応方法>

  1. 「spriteWithFile:」メソッド名変更
    ・「spriteWithImageNamed:」文字列への一括置換で対応可能。
  2. 透明度プロパティ(opacity)変更対応
    ・指定方法が0〜255整数値指定から0.0〜1.0実数指定に変わっているので透明度プロパティ設定箇所を実数指定に修正。

<所感>

  • 「spriteWithFile:」メソッド名変更はUIKitの「[UIImage imageNamed:@"xxx.png"];」のメソッド名命名に合わせたんでしょうか? だとすると、リソースファイルから読み込むメソッドが他にも存在すればメソッド名変更されている可能性がありますね。
  • 透明度プロパティ(opacity)変更については元々整数指定(0〜255)に違和感があったので実数指定(0.0〜1.0)に変更した事には賛成なのですが、Assertionチェック等が入っていないようで1.0より大きな値を代入してもエラーにならないので見落としてしまう危険性が気になりますね。


ではまた〜

0 件のコメント:

コメントを投稿