我看到的大多数分配 userData 的例子都是这样的:
CCSprite *sprite = [CCSprite spriteWithFile:@"whatever.png" rect:CGRectMake(0, 0, screenSize.width, screenSize.height)];
sprite.tag = kWallTag;
[self addChild:sprite];
b2BodyDef groundBodyDef;
groundBodyDef.position.Set(0,0);
groundBodyDef.userData = (__bridge void*)sprite;
如果您使用的是精灵,那很好。但就我而言,我不想创建精灵,因为我只想测试与屏幕边缘的碰撞。我可以创建一个只有边框的屏幕大小的精灵,但我不想使用那么多纹理内存来检测墙壁。所以我的问题是如何将 kWallTag 分配给 groundBodyDef,而不给它分配精灵。我将如何检索标签值?