当前位置: 首页 > article >正文

手把手教你写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; // 把图像移到鼠标位置
    }
}

把这个脚本挂载到刚才新建的图片上去。

成功!

如果操作失败,欢迎留言! 


http://www.kler.cn/a/387433.html

相关文章:

  • 常见error集合
  • 力扣 LeetCode 977. 有序数组的平方(Day1:数组)
  • 【ARM Coresight OpenOCD 系列 5 -- arp_examine 使用介绍】
  • vue+Leaflet.PM插件实现创建和编辑几何图形(点、线、面、圆等)
  • 手动实现h5移动端点击全屏按钮横屏展示图片,左右滑动切换,处理页面会随着手指滑动问题
  • python识别ocr 图片和pdf文件
  • 工程数学线性代数(同济第七版)附册课后习题答案PDF
  • 【重学 MySQL】八十三、掌握循环结构 LOOP、WHILE、REPEAT 的高效应用
  • 使用git lfs向huggingface提交较大的数据或者权重
  • SQLite的BLOB数据类型与C++二进制存储学习记录
  • 403 Request Entity Too Lager(请求体太大啦)
  • 基于Zynq FPGA对雷龙SD NAND的性能测试评估
  • Unet++改进9:添加LSKBlock||动态调整其大空间感受场
  • LeetCode 876.链表的中间结点
  • keep-alive的tab栏内容缓存
  • 共享汽车管理:SpringBoot框架的创新应用
  • vue2 - el-table表格设置动态修改表头
  • 底层视角看C语言
  • EasyExcel的AbstractColumnWidthStyleStrategy注入CellStyle不生效
  • 网页版五子棋—— WebSocket 协议
  • IntelliJ IDEA 中创建目录时 `.` 和 `/` 的区别
  • 【Hadoop和Hbase集群配置】3台虚拟机、jdk+hadoop+hbase下载和安装、环境配置和集群测试
  • go中的类型断言详解
  • 学习笔记:黑马程序员JavaWeb开发教程(2024.11.9)
  • 使用成熟的框架做量化剪枝蒸馏
  • 机器学习系列----梯度下降算法