I have added 42 shapes to the canvas of a C4 app. How can I determine which one of the shapes has been touched by a user?
I add the shapes as follows:
#import "C4Workspace.h"
@implementation C4WorkSpace{
C4Shape *greyRect;
}
-(void)setup {
int imageWidth=53.53;
int imageHeight=65.1;
for (int i=0; i<42; i++) {
int xMultiplier=(i)%6;
int yMultiplier= (i)/6;
int xPos=xMultiplier*imageWidth;
int yPos=yMultiplier*imageHeight;
greyRect=[C4Shape rect:CGRectMake(xPos, yPos, imageWidth, imageHeight)];
greyRect.fillColor=[UIColor colorWithRed:0 green:0 blue:0 alpha:0];
greyRect.lineWidth=2;
greyRect.strokeColor=[UIColor colorWithRed:0.7 green:0 blue:0 alpha:1];
[self listenFor:@"touchesBegan" fromObject:greyRect andRunMethod:@"highlightLetter"];
[self.canvas addShape:greyRect];
}
}
-(void)highlightLetter{
C4Log(@"highlightLetter");
}
@end
I pretty much only need to know which number[i] the clicked rect has.
But I don't know how to access that after running the line: [self listenFor:@"touchesBegan" fromObject:greyRect andRunMethod:@"highlightLetter"];
Any suggestions?