首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >塔防御:重叠的塔范围

塔防御:重叠的塔范围
EN

Stack Overflow用户
提问于 2016-11-23 18:32:03
回答 2查看 84关注 0票数 0

我计划用一些动态的方法来创建一个塔防御游戏。场景是这样的:

enter image description here

红色区域将是“杀伤区”,玩家的塔位/策略将在这里得到极大的利用。

我想要发生的是,当一个有“主动护盾增益”的海浪中的爬虫进入杀伤区时,爬虫会激活他的技能来保护附近的爬虫。

有没有一种算法可以帮助我做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2016-11-23 18:38:23

在这种情况下,我想我会为那些塔(包括目标塔和效果塔)创建对撞机。然后,当蠕变同时在这些对撞器的区域内时。特效应该被激活。

票数 0
EN

Stack Overflow用户

发布于 2016-11-25 16:29:58

你只需要检查爬行是否在每个塔的半径内。你可以通过以下方式来实现

代码语言:javascript
运行
复制
function isInside(creep_pos, tower_pos, radius):
    return pow(creep_pos.x - tower_pos.x, 2) + pow(creep_pos.y - tower_pos.y, 2) < radius*radius

(纯粹的毕达哥拉斯定理)

现在假设你有两座塔,Tower t1, t2。如果爬行位于两个塔的半径内,则需要激活它:

代码语言:javascript
运行
复制
Tower t1, t2
Creep c
if (isInside(c.pos, t1.pos, t1.r) && isInside(c.pos, t2.pos, t2.r))
    c.activeShield()

您可以检查任意数量的塔,只需&&-ing更多塔在一起。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40761922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档