推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
467347544

小游戏开发问题

  •  
  •   467347544 · Jun 3, 2016 · 4393 views
    This topic created in 3805 days ago, the information mentioned may be changed or developed.

    正在用 TypeScript 做一个塔防类型小游戏 问题是 假如现在本关 有 3 个炮台 炮台有攻击范围 有 10 个怪物 怪物会沿着路线行动 怪物和炮台都在各自的数组中存放 那么如何判断 是哪个怪物进入了哪个炮台的攻击范围呢? (有可能多个怪物进入了多个炮台的攻击范围) 求提供一个思路(⊙o⊙)

    11 replies  •  2016-06-06 11:10:24 +08:00
    phttc
    phttc
    Jun 3, 2016
    1
    if (根号 dx2+dy2 < 范围)
    then 攻击
    am241
    am241
    Jun 3, 2016 via Android
    2
    这里比较平方和比开根号速度要快吧
    EPr2hh6LADQWqRVH
    EPr2hh6LADQWqRVH
    Jun 3, 2016❤️1
    3
    真正有用的只是路线上的区间而已,随你用什么笨办法计算出来,任意炮塔在路径上的攻击区间。
    炮塔是很有限的,所以攻击区间也很有限,一串 if 下来也是可以的。
    coddmajes
    coddmajes
    Jun 3, 2016❤️1
    4
    每个炮台一次只攻击一个怪物吧 我觉得不需要判断哪个怪物进入哪个炮台的攻击范围,只需要在每个炮台的周围设定一个攻击范围然后进入范围的怪物按照距离来进行攻击。。。这样是不是楼主想要的?
    dudor
    dudor
    Jun 3, 2016
    5
    很简单,求怪和炮台之间的距离 ,然后和攻击范围比较下就可以了
    467347544
    467347544
    OP
    Jun 3, 2016
    6
    谢谢大家了 有思路啦~\(≧▽≦)/~
    just4test
    just4test
    Jun 3, 2016
    7
    这点怪物和炮台数量不用做任何优化
    467347544
    467347544
    OP
    Jun 3, 2016
    8
    好吧是我没说明白 问题是 假如同时有 2 个怪物同时进入了某个炮台的攻击范围 那炮台应该攻击哪个呢 是否应该把进入某个炮台攻击范围的怪物加到一个数组 离开某个炮台攻击范围就从数组删除 然后炮台只攻击数组里面的第一个怪物
    yxz00
    yxz00
    Jun 3, 2016 via Android❤️1
    9
    这有个游戏设计问题,如果你想炮台一旦开始攻击就打到怪物离开范围或者打死(也是大多数塔防的做法):记录第一个进入范围的怪物,一直作为攻击目标,同时一直检测是否死亡或者离开范围。如果离开搜索下一个最近的可攻击怪物
    xuzicn
    xuzicn
    Jun 6, 2016❤️1
    10
    做游戏最重要的一个技术就是“碰撞检测”,也是一个游戏核心之一。
    xuzicn
    xuzicn
    Jun 6, 2016
    11
    搜一搜,会有新的发现
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5861 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 02:28 · PVG 10:28 · LAX 18:28 · JFK 21:28
    ♥ Do have faith in what you're doing.