Я создал карту тайлов размером 8×8, где каждая плитка имеет спрайт.
После удаления спрайта из тайла верхний спрайт займет позицию удаленного спрайта, для этого как найти плитку пустой в cocos2d-x 2.2.3
Шаг 1
Создайте отдельный класс для вашей карты тайлов.
Создайте объект для класса и назначьте правильное значение для статуса плитки.
Шаг 2
Объявите новый titeArray и добавьте спрайт в titeArray …
Например
TileData *tile = [[TileData alloc] init];
sprite.userObject = tile;
[tileArray addObject:sprite];
В сенсорном функции
-(void) touchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
for (int i = 0; i < [tileArray count]; i++)
{
if (CGRectContainsPoint( [[tileArray objectAtIndex:i] boundingBox], touchLoc)) {
//Game logic like remove your tile or do some functionality.
}
}
}