Unity2D游戏笔记
作者:互联网
1.如何用鼠标控制玩家的转向
Camera.main.ScreenToWorldPoint(Input.mousePosition).x
获取鼠标当前的屏幕x轴坐标与主角的x轴坐标进行对比,若大于则往右转,反之往左。
控制转向的三种方法:
①: transform.localScale(1,0,1)→transform.localScale(-1,0,1)
②:transform.localEulerAngles = new Vector3(0, 0, 0);
改变x,y,z相关角度
③: transform.rotation=Quaternion.Euler(0,0,0)
同上
小插曲:在测试鼠标点击的坐标时使用了OnMouseDown()
的方法,发现这么点都没用。原因是这个方法只检测,当你的鼠标点击到了一个物体,这个物体的脚本中有这个方法才行。也就是说,该方法适用于只会被该脚本附加上的gameobject监控到。而 Input.GetMouseButton()
会被任何gameobject检测到。
2.当玩家攻击到敌人产的伤害数字显示
①
attackDamage = Random.Range(minDamage, maxDamage);
用于设定随机伤害
②设置一个text用于显示数值,text所在的ui画布Canvas一定设置为世界坐标。
③Start()中设置数值的显示时间,即为多少秒后销毁
Destroy(gameObject, lifeTimer);
Update()中改变数字的y轴,起到一个数字上升的效果
transform.position += new Vector3(0, upSpeed * Time.deltaTime, 0);
最后写一个方法用于数值类型的转换,因为text中只能显示string 型的
damageText.text = _amount.ToString();
④:显示数字的方法是在敌人受到伤害即碰撞检测是实例化那个text所存在的画布
DamageNum damagable = Instantiate(DamageCanvas, other.transform.position, Quaternion.identity).GetComponent<DamageNum>();//实例化
damagable.ShowUIDamage(Mathf.RoundToInt(attackDamage));把数值整数化并传递
效果:
学习的视频:https://www.bilibili.com/video/BV1VT4y1G7Vq
标签:鼠标,Unity2D,text,transform,笔记,数字,数值,方法,游戏 来源: https://blog.csdn.net/weixin_43821918/article/details/105664716