小编Cha*_*rse的帖子

使用CALayer内容的alpha属性使用CALayer进行测试

我正在使用Cocoa为Mac编写游戏.我目前正在实施热门测试,并发现CALayer提供了热门测试,但似乎没有实现alpha属性.正如我在堆叠在彼此的顶部倍多CALayers,我真的需要找到一种方法来确定哪些用户实际上意味着点击.

我想如果我能以某种方式得到一个包含指向包含点击点的所有CALayer的指针的数组,我可以通过它们过滤一些方法.然而,我到目前为止创建数组的唯一方法是:

NSMutableArray* anArrayOfLayers = [NSMutableArray array];
    for (CALayer* aLayer in mapLayer.sublayers)
    {
        if ([aLayer containsPoint:mouseCoord])
            [anArrayOfLayers addObject:aLayer];
    }
Run Code Online (Sandbox Code Playgroud)

然后按照CALayer的z值对数组进行排序,然后检查位置处的像素是否为alpha.然而,在排序和alpha检查之间,这似乎是一个令人难以置信的性能猪.(你怎么检查阿尔法呢?)

有没有办法做到这一点?

cocoa calayer

6
推荐指数
1
解决办法
3555
查看次数

标签 统计

calayer ×1

cocoa ×1