unity3d学习记录-如何近距离捡起武器,今天看了《小白变超神》系统的冒险游戏教程,学了几点,现在提炼出一点,方便以后查找。
代码如下:
if (ishaveweapon == false)
//如果主角手上没有武器
{
//计算主角和武器之间的距离
float dis = Vector3.Distance(weaponTrans.position, transform.position);
//如果低于1.5以及按下E键
if (dis < 1.5f && Input.GetKeyDown(KeyCode.E))
{
//主角手上拿上武器
ishaveweapon = true;
//武器的父目录设置为主角的手
weaponTrans.SetParent(hand);
//武器的位置和旋转重置为0
weaponTrans.localPosition = Vector3.zero;
weaponTrans.localRotation = Quaternion.identity;
}
}
//如果主角手上有武器,并且按下鼠标左键
if (ishaveweapon == true && Input.GetMouseButtonDown(0))
{
//播放攻击代码
ani.Play("handanim");
}
//主角手上有武器,并且按下G键
if (ishaveweapon == true && Input.GetKeyDown(KeyCode.G))
{
//放下武器
DropWeapon();
}
孙健个人博客