应用Enemy AI SpriteKit Swift的问题

时间:2015-08-10 02:11:14

标签: ios swift sprite-kit artificial-intelligence

我正在尝试使用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适用于添加到场景中的每个僵尸。任何帮助将不胜感激。

0 个答案:

没有答案