Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 精灵装备游戏中的得分系统_Ios_Iphone_Ios7_Sprite Kit - Fatal编程技术网

Ios 精灵装备游戏中的得分系统

Ios 精灵装备游戏中的得分系统,ios,iphone,ios7,sprite-kit,Ios,Iphone,Ios7,Sprite Kit,我正在用雪碧套件制作一个游戏,一个球落在一个人身上,我需要添加一个标签,每次球击中这个人时,标签上都会计数。我有接触部分排序,但我只是有点困惑,如何做标签,使它计数。GG - (void)didBeginContact:(SKPhysicsContact *)contact { SKSpriteNode *firstNode, *secondNode; firstNode = (SKSpriteNode *)contact.bodyA.node; secondNode

我正在用雪碧套件制作一个游戏,一个球落在一个人身上,我需要添加一个标签,每次球击中这个人时,标签上都会计数。我有接触部分排序,但我只是有点困惑,如何做标签,使它计数。GG

- (void)didBeginContact:(SKPhysicsContact *)contact
{
    SKSpriteNode *firstNode, *secondNode;

    firstNode = (SKSpriteNode *)contact.bodyA.node;
    secondNode = (SKSpriteNode *)contact.bodyB.node;

    if ((contact.bodyA.categoryBitMask == manCategory)
    && (contact.bodyB.categoryBitMask == pooCategory))
    {
        CGPoint contactPoint = contact.contactPoint;

        float contact_y = contactPoint.y;
        float target_y = secondNode.position.y;
        float margin = secondNode.frame.size.height/2 - 25;

        if ((contact_y > (target_y - margin)) &&
        (contact_y < (target_y + margin)))
        {

        }
    }
}
-(void)didBeginContact:(skphysiccontact*)联系人
{
SKSpriteNode*第一节点,*第二节点;
firstNode=(SKSpriteNode*)contact.bodyA.node;
secondNode=(SKSpriteNode*)contact.bodyB.node;
if((contact.bodyA.categoryBitMask==manCategory)
&&(contact.bodyB.categoryBitMask==pooCategory))
{
CGPoint contactPoint=contact.contactPoint;
浮动触点_y=触点y;
float target_y=secondNode.position.y;
浮动边距=secondNode.frame.size.height/2-25;
如果((联系y>(目标y-边距))&&
(联系人y<(目标客户y+保证金)))
{
}
}
}
试试这个

创建UILabel属性

@property (nonatomic, strong) UILabel *coreLabel;
建造它

scoreLabel = [[UILabel alloc]initWithFrame:CGRectMake(...)];
scoreLabel.text = @"0";
[self.view addSubview:scoreLabel];

更新UIlabel

if ((contact_y > (target_y - margin)) && (contact_y < (target_y + margin)))
    {
        int temp = [scoreLabel intValue];
        temp += 1;
        scoreLabel.text = [NSString stringWithFormat:@"%i", temp];
    }
if((联系人y>(目标y-保证金))&&(联系人y<(目标y+保证金)))
{
int temp=[scoreLabel intValue];
温度+=1;
scoreLabel.text=[NSString stringWithFormat:@“%i”,temp];
}

尽管您完全可以在spriteKit上使用UILabels和UIButtons,但它们似乎希望您使用SKLabelNode

有关如何完全设置SKLabelNode的示例可能如下所示:

@property SKLabelNode* deathLabel;
然后

deathLabel = [SKLabelNode labelNodeWithFontNamed:@"CoolveticaRg-Regular"];
deathLabel.fontSize = 16;
deathLabel.text = [NSString stringWithFormat:@"%d Deaths",deaths];
deathLabel.position = CGPointMake(self.size.width/2,labelHeight);
deathLabel.fontColor = [SKColor whiteColor];
deathLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeRight;
[hudLayer addChild:deathLabel];
然后,当您需要更新它时,只需重复以下行:

deathLabel.text = [NSString stringWithFormat:@"%d Deaths",deaths];

我注意到的一个奇怪之处是SKLabelNodes默认为上次使用的字体、字体大小、字体颜色、水平对齐模式和垂直对齐模式,介于方便和令人沮丧之间,取决于你想要的标签的多样性。

你能详细介绍一下你是如何处理联系人信息的吗?基本上就是这样。。。