手把手教你写Unity3D飞机大战(5)玩家子弹射击之显示瞄准图标
写在最前面的话
飞机大战,当然要互相攻击,这几篇博客,我将详细介绍基于射线检测的射击脚本。
一、射线
一个顶点,一个方向来确定一条射线,这是射线的基本构成。
你是不是发现,这和射击很像?
以枪口为顶点,确定了枪管的朝向,我们就知道了子弹的飞行轨迹(不考虑引力)。
二、如何应用
你可能会说,那怎么利用射线呢?别急,看完你就知道了。
但是这是2D界面,我们要把它弄到3D世界。
三、显示瞄准图标
这个东西,是不是很眼熟?
没错,大多枪战游戏都会有瞄准图标,我们把它显示出来就好了。
首先绘制这样的图标,很简单。
如果你很细心,一定会发现图中的小箭头,为什么这个图片不一样?
——当然,要把它显示在Game中一定有不一样的设置:更改Texture Type
做完设置后,我们可以把它加入到游戏中了:
新建一个UI-Image
把图片挂载上去。
做完后,你会发现多了一个Canvas。
双击它,你可以移动图片(这是2D的世界,与3D世界没有关联,它会自动附加到摄像机上)
显示瞄准图标
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Aim : MonoBehaviour { void FixedUpdate() { Cursor.visible = false; // 隐藏系统鼠标图标 transform.position = Input.mousePosition; // 把图像移到鼠标位置 } }
把这个脚本挂载到刚才新建的图片上去。
成功!
如果操作失败,欢迎留言!