0

ユーザーが「Rectangle」オブジェクトの上にドラッグ/ドロップしたスプライトを追跡しようとしています。最も簡単な方法は、同じタイプの「MySprite」のプロパティを「Rectangle」オブジェクトに追加し、その値をその上にドロップされた「MySprite」と同じ値に設定することだと思いました。「Rectangle.h」ファイルでプロパティ「MySprite *sprite」を使用し、「Retangle.m」ファイルでそれを合成すると、「setSprite」メソッドが自動的に作成されると思いました。何かわからない……。

「target.sprite = selSprite;」CocosScene.m の以下のコード行により、次のエラーが発生します。

2013-05-14 20:32:51.953 DragDrop[461:c07] * キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: '-[CCSprite setSprite:]: **認識されないセレクターがインスタンス0x8d5c280 に送信されました'

Rectangle.h

#import "CCNode.h"
#import "cocos2d.h"
#import "MySprite.h"

@interface Rectangle : CCNode
{
    MySprite *sprite;
}

@property(nonatomic,readwrite,copy) MySprite *sprite;

@end

長方形.m

@implementation Rectangle

@synthesize sprite = _sprite;

@end

CocosScene.m

for(Rectangle *target in wordCircleRectangles)
            {

                if(CGRectIntersectsRect(selSprite.boundingBox, target.boundingBox))
                {
                    target.sprite = selSprite;
                }
            }
4

0 に答える 0