Я пишу игру для Mac с помощью Какао. Я в настоящее время реализую тестирование хита и имею, основывает это тестирование хита предложений CALayer, но, кажется, не реализует альфа-свойства. Поскольку у меня время от времени есть много CALayers, сложенные друг на друге, я действительно должен найти способ определить то, на что пользователь на самом деле означал нажимать.
Я думаю, мог ли я так или иначе получить массив, который содержит указатели на все CALayers, которые содержат точку щелчка, я мог проникнуть в них некоторые как. Однако единственный способ, которым я должен до сих пор создать массив:
NSMutableArray* anArrayOfLayers = [NSMutableArray array];
for (CALayer* aLayer in mapLayer.sublayers)
{
if ([aLayer containsPoint:mouseCoord])
[anArrayOfLayers addObject:aLayer];
}
Затем отсортируйте массив по z-значениям CALAYER, затем проходят проверку, если пиксель в местоположении является альфой или нет. Однако между видом и альфа-проверка это, кажется, невероятный пожиратель ресурсов производительности. (Как Вы даже проверили бы альфу?)
Там какой-либо путь состоит в том, чтобы сделать это?