Kre*_*kin 4 objective-c bitmask ios sprite-kit
我听说每个Sprite Kit游戏只允许使用32种不同的categorybitmask.有没有办法解决?我绝对需要更多(自游戏开放世界以来大约3-4倍).我将categorybitmask设置如下:
static const uint64_t boundaryCategory = 0x1 << 0;
static const uint64_t mainCharCategory = 0x1 << 1;
...
static const uint64_t someOtherCategory = 0x1 << 31;
Run Code Online (Sandbox Code Playgroud)
我甚至将uint32_t更改为uint64_t,希望这会使我可以使用的categorybitmask数量增加一倍.不幸的是,事实并非如此.如果有人知道绕过这个限制的任何技术,我将非常感激.
您可以通过多种方式了解此问题.例如,您可以使用节点的name属性.将所有敌人置于一个categoryBitMask下,并在联系完成后使用他们的名字来区分他们.
另一种方法是使用SKNode字典属性.如果需要,这允许您存储更多详细数据,而不仅仅是字符串.
创建SKNode字典:
myNode.userData = [NSMutableDictionary dictionary];
[myNode.userData setObject:@"goblin" forKey:@"enemyType"];
Run Code Online (Sandbox Code Playgroud)
读字典:
NSString *myString = [myNode.userData objectForKey:@"enemyType"];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
260 次 |
| 最近记录: |