zoukankan      html  css  js  c++  java
  • 「网易官方」极客战记(codecombat)攻略-游戏开发2-陆军训练 2-army-training-2

    指挥你的军队战斗!

    简介

    如果你有很多单位,可以使用 game.setActionFor(unitType,eventType,eventHandlerFunction) 来为它们都设置好动作!

    game.spawnXY("soldier", 30, 20)
    game.spawnXY("soldier", 35, 20)
    game.spawnXY("soldier", 40, 20)
    game.spawnXY("soldier", 45, 20)
    def lol(event):
        while True:
            unit = event.target
            unit.say("lol")
    game.setActionFor("soldier", "spawn", lol)

    默认代码

    # 使用事件处理程序来命令单位以击败来击败食人魔。
    # 产生2名 "soldier"s。
    game.spawnXY("soldier", 35, 20)
    game.spawnXY("soldier", 45, 20)
    # 产生2名"archer"s。
    def fightEnemies(event):
        while True:
            # event.target是执行这个事件处理函数的单元!
            friendUnit = event.target
            enemy = friendUnit.findNearestEnemy()
            # 然后会有队友攻击敌人!

     

    # 这将把fightEnemies处理程序添加到所有士兵的“spawn”事件中。
    game.setActionFor("soldier", "spawn", fightEnemies)
    # 现在,将敌人添加到弓箭手的“spawn”事件上:

    概览

    注意,事件处理函数可以定义一个参数。

    此参数包含 “event” 数据。

    你可以使用 event.target 来访问正在运行的单位(例如你的士兵)

    def soldierLogic(event):
        soldier = event.target
        enemy = soldier.findNearestEnemy()

    陆军训练 2 解法

    # 使用事件处理程序来命令单位以击败来击败食人魔。
    # 产生2名 "soldier"s。
    game.spawnXY("soldier", 35, 20)
    game.spawnXY("soldier", 45, 20)
    # 产生2名"archer"s。
    def fightEnemies(event):
        while True:
            # event.target是执行这个事件处理函数的单元!
            friendUnit = event.target
            enemy = friendUnit.findNearestEnemy()
            # 然后会有队友攻击敌人!
            friendUnit.attack(enemy)
    # 这将把fightEnemies处理程序添加到所有士兵的“spawn”事件中。
    game.setActionFor("soldier", "spawn", fightEnemies)
    # 现在,将敌人添加到弓箭手的“spawn”事件上:
    game.setActionFor("archer", "spawn", fightEnemies)
     
     
    本攻略发于极客战记官方教学栏目,原文地址为:
  • 相关阅读:
    dockerk个人学习(0)
    ubuntu编译python源码的坑
    查找大目录
    ubuntu 远程gui显示
    paramiko模块
    python open和file的区别
    python type metaclass
    python 生成器 迭代器 yiled
    博客暂停更新,请移步新主页
    win10禁用自动更新服务
  • 原文地址:https://www.cnblogs.com/codecombat/p/12736242.html
Copyright © 2011-2022 走看看