ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Unity2D游戏笔记

2020-04-22 12:06:13  阅读:293  来源: 互联网

标签:鼠标 Unity2D text transform 笔记 数字 数值 方法 游戏


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有