WEB开发网
开发学院软件开发C语言 C#开发WPF/Silverlight动画及游戏系列教程(Game C... 阅读

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十八) 经典式属性设计及完美的物理攻击系统

 2010-09-30 20:47:09 来源:WEB开发网   
核心提示: 步骤二,跑向敌人时,C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十八) 经典式属性设计及完美的物理攻击系统(4),只要敌人进入攻击范围时即发起攻击:/// <summary>/// 判断是否将要向锁定对象发起攻击/// </summa

步骤二,跑向敌人时,只要敌人进入攻击范围时即发起攻击:

/// <summary>

/// 判断是否将要向锁定对象发起攻击

/// </summary>

private bool WillAttack(QXSpirit attacker, QXSpirit defenser) {

    return defenser == null ? false : Super.InCircle(attacker.X, attacker.Y, defenser.X, defenser.Y, attacker.AttackRange);

}

/// <summary>

/// 判断点是否在圆内

/// </summary>

/// <param name="targetX">目标点X坐标</param>

/// <param name="targetY">目标点Y坐标</param>

/// <param name="centerX">圆心X坐标</param>

/// <param name="centerY">圆心X坐标</param>

/// <param name="radius">圆半径</param>

/// <returns></returns>

public static bool InCircle(double targetX, double targetY, double centerX, double centerY, double radius){

    return  Math.Pow(targetX - centerX, 2) + Math.Pow(targetY - centerY, 2) <= Math.Pow(radius, 2) ? true : false;

}

我设定的主角发起实质性攻击的前提条件是:主角进入为以敌人脚底为圆心以主角攻击距离(范围)为半径的圆内:

C#开发WPF/Silverlight动画及游戏系列教程(Game Course):(二十八) 经典式属性设计及完美的物理攻击系统

上一页  1 2 3 4 5 6 7  下一页

Tags:开发 WPF Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接