Ios 精灵装备游戏中的得分系统
我正在用雪碧套件制作一个游戏,一个球落在一个人身上,我需要添加一个标签,每次球击中这个人时,标签上都会计数。我有接触部分排序,但我只是有点困惑,如何做标签,使它计数。GGIos 精灵装备游戏中的得分系统,ios,iphone,ios7,sprite-kit,Ios,Iphone,Ios7,Sprite Kit,我正在用雪碧套件制作一个游戏,一个球落在一个人身上,我需要添加一个标签,每次球击中这个人时,标签上都会计数。我有接触部分排序,但我只是有点困惑,如何做标签,使它计数。GG - (void)didBeginContact:(SKPhysicsContact *)contact { SKSpriteNode *firstNode, *secondNode; firstNode = (SKSpriteNode *)contact.bodyA.node; secondNode
- (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默认为上次使用的字体、字体大小、字体颜色、水平对齐模式和垂直对齐模式,介于方便和令人沮丧之间,取决于你想要的标签的多样性。你能详细介绍一下你是如何处理联系人信息的吗?基本上就是这样。。。