我正在使用Cocos2d在iOS中進行遊戲。未創建CCTouch邊界框
這是法林使用來檢查,看是否有立方體已被觸摸,
- (void)selectSpriteForTouch:(CGPoint)touchLocation {
CubeSprite * newSprite = nil;
for (CubeSprite *sprite in movableSprites) {
NSLog(@"tested against sprite %i", sprite.boundingBox.origin.x);
if (CGRectContainsPoint(sprite.boundingBox, touchLocation)) {
singleCube = true;
newSprite = sprite;
activeTag = sprite.tag;
break;
}
}
if (newSprite != selSprite) {
selSprite = newSprite;
}
}
但由於某些原因,sprite.boundingBox沒有被正確設置。
「測試反對精靈」日誌只是打印出「測試精靈0」,這似乎不可能,因爲我可以看到我的屏幕上的精靈。
下面是我用的多維數據集添加到我的場景的方法,
-(void)addCube:(CubeSprite *)cube {
int totalCubes = [cubes count];
[cube setPosition:ccp(700 - (totalCubes * 50), 120)];
[cubes addObject:cube];
[movableSprites addObject:cube];
[self addChild:cube];
}
怎麼可能是錯的?
在此先感謝。
編輯,這裏是我的立方體init方法
-(id)initWithNumber:(int)number {
if((self=[super init])) {
[self setTag:number];
CCSprite* sprite = [CCSprite spriteWithFile:string];
[self addChild:sprite];
NSLog(@"Cube created with value of %i and with file %@", number, string);
}
return self;
}