擅长:python、mysql、java
<p>好吧,你的人工智能控制实体有某种“我下一步要做什么?”方法,对吗?只要让这个方法返回“我很忙,继续做我正在做的事情”的结果,而另一个操作正在进行中。在</p>
<p>例如</p>
<pre><code>class ToughGuy(AI):
Action_Idle, Action_BroadswordSwing, Action_CastingMagic = range(3)
MagicRange = 10
MagicTime = 8
MeleeRange = 4
MeleeTime = 2
def __init__(self):
self.action = ToughGuy.Action_Idle
self.actiontimer = 0
def Update(self, timestep):
if self.actiontimer <= 0:
self.action = ToughGuy.ActionIdle
else
self.actiontimer -= timestep
if self.action == ToughGuy.Action_Idle:
global player # don't do this
if self.AmIFacing(player):
distance = DistanceBetween(self, player)
if distance < ToughGuy.MeleeRange:
self.action = ToughGuy.Action_BroadswordSwing
self.actiontimer = ToughGuy.MeleeTime
elif distance < ToughGuy.MagicRange:
self.action = ToughGuy.Action_CastingMagic
self.actiontimer = ToughGuy.MagicTime
</code></pre>
<p>等等。对不起,变量编码标准。。。;)</p>