Iphone COCOS2DSPRITE文件查找

Iphone COCOS2DSPRITE文件查找,iphone,cocos2d-iphone,Iphone,Cocos2d Iphone,我正在寻找一种方法来查找CGSprite变量的文件名,然后在IF语句中使用它。像这样: if(target.spritefilename?? == @"Car1.png") { target = [CCSprite spriteWithFile:@"Car1_dead.png" rect:CGRectMake(0, 0, 37, 76)]; } 这就是我猜你要找的 这就是我猜您要查找的内容。将精灵名称存储在数组中,并检查当前精灵名称是否与数组中的名称匹配 if([image_array

我正在寻找一种方法来查找CGSprite变量的文件名,然后在IF语句中使用它。像这样:

if(target.spritefilename?? == @"Car1.png")
{
    target = [CCSprite spriteWithFile:@"Car1_dead.png" rect:CGRectMake(0, 0, 37, 76)];
}
这就是我猜你要找的


这就是我猜您要查找的内容。

将精灵名称存储在数组中,并检查当前精灵名称是否与数组中的名称匹配

if([image_array containsObject:@"car.png"])
{
NSLog(@"Image Found");
} 

希望这有帮助

将精灵名称存储在数组中,并检查当前精灵名称是否与数组中的名称匹配

if([image_array containsObject:@"car.png"])
{
NSLog(@"Image Found");
} 

希望这有帮助

您可以使用isEqualtoString进行字符串比较

if([target.spritefilename isEqualtoString:@"Car1.png"])

对于。

您可以使用isEqualtoString进行字符串比较

if([target.spritefilename isEqualtoString:@"Car1.png"])

对于。

我不知道您为什么要这样做。但就我猜你的目的而言,我想建议一种替代的和正确的方法来识别你不同的精灵

sprite中有一个“userData”属性(从父级继承),您可以使用它存储自定义数据。因此,在创建精灵时,还应将标识的属性指定给userData属性

就像您第一次创建“target”精灵时一样,您可以设置“target.userData=”

稍后,您可以检查target.userData是否等于所需的文件名

这是在精灵中存储自定义数据的正确方法


希望能有帮助。

我不知道你为什么要这样做。但就我猜你的目的而言,我想建议一种替代的和正确的方法来识别你不同的精灵

If([sprite.userData hasPrefix@"Car1"])
...
sprite中有一个“userData”属性(从父级继承),您可以使用它存储自定义数据。因此,在创建精灵时,还应将标识的属性指定给userData属性

就像您第一次创建“target”精灵时一样,您可以设置“target.userData=”

稍后,您可以检查target.userData是否等于所需的文件名

这是在精灵中存储自定义数据的正确方法


我希望它能有所帮助。

如果这只是为了识别精灵,您只需使用精灵的标记属性即可

If([sprite.userData hasPrefix@"Car1"])
...
就像在初始化或创建精灵时为精灵设置taf一样

CCSprite *spr1=[CCSprite spriteWithFile:@"1.png"];
spr1.tag=1;

CCSprite *spr2=[CCSprite spriteWithFile:@"2.png"];
spr2.tag=2;
在获取特定事件的精灵时,使用

if([(CCSprite*)tagetSprite tag]==1)
{
}
else if([(CCSprite*)tagetSprite tag]==2)
{
}

如果这样做的目的只是识别精灵,那么只需使用精灵的标记属性即可

就像在初始化或创建精灵时为精灵设置taf一样

CCSprite *spr1=[CCSprite spriteWithFile:@"1.png"];
spr1.tag=1;

CCSprite *spr2=[CCSprite spriteWithFile:@"2.png"];
spr2.tag=2;
在获取特定事件的精灵时,使用

if([(CCSprite*)tagetSprite tag]==1)
{
}
else if([(CCSprite*)tagetSprite tag]==2)
{
}

看看我需要知道的是如何找到什么车撞到了播放器。我一次在地图上至少有6辆车,需要知道如何找到撞到他的车,改变它的精灵,和玩家一样,精灵假设你已经实现了“碰撞检测”逻辑。因此,当您创建6辆车并为每辆车加载精灵时。您还应该在userData字段中输入文件名或其他标识(例如汽车ID)。因此,每当对象“碰撞”时,您可以检查object.userData==“car-1”,然后您应该在该对象中加载“car-1-dead”精灵。如果您仍然感到困惑,请告诉我您是如何加载精灵的,以及您是如何检测碰撞的,以便我可以尝试根据您的代码进行解释。查看我需要知道的是如何找到与播放器相撞的汽车。我一次在地图上至少有6辆车,需要知道如何找到撞到他的车,改变它的精灵,和玩家一样,精灵假设你已经实现了“碰撞检测”逻辑。因此,当您创建6辆车并为每辆车加载精灵时。您还应该在userData字段中输入文件名或其他标识(例如汽车ID)。因此,每当对象“碰撞”时,您可以检查object.userData==“car-1”,然后您应该在该对象中加载“car-1-dead”精灵。如果您仍然感到困惑,请告诉我您是如何加载精灵的,以及您是如何检测碰撞的,以便我可以尝试根据您的代码进行解释。