sprite kit - Swift: score increases by 2 and not 1 when contact is detected? -


alright, i'm keeping score in sprite kit game , score stored in variable named animalscount. here set variable , label node outputting to:

    //score count in stats bar     //animal score count      animalscount = 0      animalscountlabel.text = "\(animalscount)"     animalscountlabel.fontsize = 45     animalscountlabel.fontcolor = skcolor.blackcolor()     animalscountlabel.position = cgpoint (x: 630, y: 40)      addchild(animalscountlabel) 

i need animalscount increase 1 every time contact between 2 sprite nodes, chicken1 , savior, made. here have animalscount increasing collision detection:

 func didbegincontact(contact: skphysicscontact) {          //chicken1          if (contact.bodya.categorybitmask == collidertype.savior.rawvalue && contact.bodyb.categorybitmask == collidertype.chicken1.rawvalue )  {              println("chicken1 contact made")             chicken1.hidden = true             chicken1.setscale(0)              animalscount += 1             animalscountlabel.text = "\(animalscount)"           } else if (contact.bodya.categorybitmask == collidertype.chicken1.rawvalue && contact.bodyb.categorybitmask == collidertype.savior.rawvalue)  {              println("chicken1 contact made")             chicken1.hidden = true             chicken1.setscale(0)          } 

(i increase score when savior collides chicken1 because can't happen vice versa) is, label starts @ 0 , animalscount increase 2 every time savior collides chicken1.

i'm assuming because animalscount goes when savior begins contact chicken1 , when ends contact.

how can change animalscount goes when contact begins? or how else can make animalscount go 1 , not 2? have tried having animalscount increment 0.5 , got error message.


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -