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)
     
     
    本攻略发于极客战记官方教学栏目,原文地址为:
  • 相关阅读:
    [九度][何海涛] 顺时针打印矩阵
    [何海涛] 求二元查找树的镜像
    [九度][何海涛] 二叉树中和为某一值的路径
    [面试] 水杯题实现
    [九度][何海涛] 最小的K个数
    [九度][何海涛] 字符串的排序
    如何扩展Orchard
    IoC容器Autofac(3) 理解Autofac原理,我实现的部分Autofac功能(附源码)
    使用PrivateObject帮助单元测试
    Nuget如何自动下载依赖DLL引用
  • 原文地址:https://www.cnblogs.com/codecombat/p/12736242.html
Copyright © 2011-2022 走看看