首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >玩家与AI在统一中的切换

玩家与AI在统一中的切换
EN

Stack Overflow用户
提问于 2015-11-12 04:05:47
回答 2查看 1.6K关注 0票数 1

我最近开始使用Unitoryfor一个资源管理的隐形游戏。隐形部分是以转弯为基础的,类似于希特勒的围棋。我有一个简单的字符控制器和一个简单的巡逻AI在一个特定的路径。然而,这些运动是实时的,我想改变它。AI应该等待玩家完成他/她的移动,然后移动自己。球员也是如此。

只有当其他部分的移动完成时,玩家和AI才能移动到他们相邻的路径点。

我该怎么做?

谢谢

我用的语言是UnityScript。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-12 05:07:48

作为一个非常简单的解决方案,首先您可以创建一个空的游戏对象。把它命名为TurnController。使用一个简单的脚本,您可以在其上添加一个布尔变量。让我们将其命名为isPlayerTurn。对于玩家的移动,你可以检查这个,如果是真的玩家可以移动。在他/她的移动结束时(可能单击“结束转”按钮,或者当它达到最大移动距离或其他什么时候),您可以设置isPlayerTurn false。当然,AI应该检查(可能在更新函数中)。但可以通过你的设计来改变)如果是真的,AI可以做它需要做的事情。在轮到它的时候,它应该将isPlayerTurn改为true。我知道这是一个非常简单的解决方案,但希望它有助于开始。我希望我没有误解你的问题。

票数 2
EN

Stack Overflow用户

发布于 2015-11-12 12:04:36

将ai编写为player实例,并让它模拟播放器的输入。(相反,您也可以在两个类上实现一个公共接口。)

使用GameManager行为脚本生成游戏对象,该脚本存储对当前玩家(或ai)的引用。然后让GameManager通过检查当前播放器的输入来更新当前播放器的每一个帧。如果(人类)玩家在没有轮到他的时候提供输入,那么他的输入就会被忽略。

这样,玩家和ai就不必知道是否轮到他们了。

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

https://stackoverflow.com/questions/33664272

复制
相关文章

相似问题

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