我正在尝试使用swift在sprite工具包中创建一个僵尸游戏。在我的游戏中,在开始时,我使用for循环添加5个僵尸。这是添加僵尸的代码。
override func update(currentTime: CFTimeInterval) {
if player.position.x < zombie.position.x && overrideWalkRight == false {
zombie.position.x -= mediumZombieMoveSpeed
}
else if player.position.x > zombie.position.x {
zombie.position.x += mediumZombieMoveSpeed
}
if player.position.y - 35 > zombie.position.y && player.physicsBody?.velocity.dy == 0 && noJump == false {
zombie.physicsBody?.applyImpulse(CGVectorMake(0, 5))
}
if zombie.position.x > 170 && zombie.position.x < 1005 && zombie.position.y > player.position.y && zombie.position.y > 360 {
overrideWalkRight = true
}
else {
overrideWalkRight = false
}
if player.position.x > 170 && player.position.x < 965 && player.position.y > zombie.position.y && zombie.position.y < 370 && zombie.position.y > 278 {
noJump = true
}
else {
noJump = false
}
}
这是更新方法中应该是僵尸AI的代码。
In [23]: pd.melt(df, id_vars=['id'], var_name='colvals', value_name='DOPU')
Out[23]:
id colvals DOPU
0 ID1 a O
1 ID2 a O
2 ID3 a D
...
21 ID2 z P
22 ID3 z O
23 ID4 z U
24 ID5 z DNP
AI本身运作完美。但是,didMoveToView方法中的for循环会向场景添加五个僵尸。 AI只适用于第一个僵尸。我试图找出一种方法让AI适用于添加到场景中的每个僵尸。任何帮助将不胜感激。