Accesing local defined variable in other functions - Swift -
i making game kind of space invaders.  have function creates invaders @ random position.x.
inside addinvader(), have defined attacker skspritenode(imagenamed: "someimage").
this have defined inside function, since there added new attacker every second.
my problem inside function:
override func update(currenttime: nstimeinterval) {     if attacker.position.y < cgfloat(size.height/5*2)         attacker.texture = sktexture(imagenamed: "someotherimage")     } } since attacker constant local, update(currenttime: nstimeinterval) function can`t access it. 
how can access attacker.position inside update-function?
there no way can access variable defined privately in method.
but can this..
in addinvader() method, below this
  var attacker = skspritenode(imagenamed: "someimage") you want add following code
attacker.name = "attacker"  you can set attacker.name want string.
  setting allow find node in skscene , use so
now once have set ready move on update(currenttime: nstimeinterval) method. inside update(currenttime: nstimeinterval) add line of code before else 
let attacker =  self.childnodewithname("attacker") as! skspritenode what loops through of children in skscene , looks 1 name called attacker or whatever set. if attacker node not child of skscene , child of variable example attackerparent can this
let attcker = attackerparent.childnodewithname("attacker") as! skspritenode so update function this
let attacker = self.childnodewithname("attacker") as! skspritenode  if attacker.position.y < cgfloat(size.height/5*2) {      attacker.texture = sktexture(imagenamed: "someotherimage")  } also quick tip, if want change texture of skspritenode so
var texture = sktexture(imagenamed : "someotherimage") attacker.texture = texture 
Comments
Post a Comment