0

我试图跟踪用户将哪个精灵拖放到“矩形”对象之上。我认为最简单的做法是将相同类型的“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”

矩形.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