flash游戏制作中怎样用函数代码实现敌人的自动攻击?

2024年11月19日 10:25
有2个网友回答
网友(1):

一款格斗游戏
其实这里面算是有点人工智能的算法在里面了。
不过不算复杂。
先把问题简单化:
格斗游戏动画部分不考滤,只考虑攻击。
首先打架嘛 攻击肯定是有角度(即方向)和力度(攻击的强度)两个参数

根据enemy和wushi的X,Y坐标可以计算出wushi处在敌人的什么位置(敌人自动攻击)。
if ((enemy.x-wushi.x)>0){
//玩家在敌人的左边
//再判断玩家与敌人是在一条水平线上,还是在左上角
if ((enemy.y-wushi.y)>0) {//大于0只是个示范,或是表示玩家当前状态正在跳在空中。

}//否则就是在正左边。
}else{
//玩家在敌人的右边
if ((enemy.y-wushi.y)>0){
//同理
}
}

//然后计算敌人与自己的实际距离,太远了打不着嘛。所以得计算下距离,在多少范围内攻击
var dx=enemy.x-wushi.x
var dy=enemy.y-wushi.y
var area=100;//范围为100,进入100以内自动攻击
var d=Math.sqrt(dx*dx+dy*dy);
if (d //攻击
attack()
}

function attack()
{
//根据计算出来的角度和位置选择不同的攻击方式。
}

网友(2):

要用什么函数 一次?二次?正比例?反比例?....