『功能项目』禁止射线穿透行为【05】

2024-08-24 17:04

本文主要是介绍『功能项目』禁止射线穿透行为【05】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们打开上一篇04移动后光标显示项目,

本章要做的事情是在PlayerRayNavgation脚本中添加两行代码,实现人物在场景中打开UI后鼠标点击UI面板不会实现主角的移动,也就是禁止点击禁止射线穿透功能。

在Unity编辑器中创建一个Image

在编辑器视角勾选2D,方便编辑UI,并按住鼠标中键拖动至如下位置

点击移动让Image修改至如下位置

修改Image尺寸

在Image下创建文字Text

命名为背包

再次创建一个Image做为一个背包面板

命名为Bag

修改背包面板尺寸

修改开启背包按钮的命名为BagBtn

增加Button组件

增加一个点击事件Click

拖拽

选择GameObject.SetActive(bool)

勾选显示

增加一个关闭按钮Image

同样手法

注意不勾选显示

将背包界面隐藏

运行程序后,点击背包可显示背包界面

点击灰色框可关闭背包界面

但是我们会发现当我们点击背包UI以及关闭UI操作的时候主角被射线点击移动了,

我们想做的是当我们点击背包、关闭背包以及点击UI界面的操作时不会让主角实现点击移动

那我们只需要修改代码禁止射线点击穿透UI就好了

增加PlayerRayClickNavigation.cs脚本ClickMouse()函数中的 事件系统的当前是否指向游戏物体的函数 如果指向就返回

这样保存代码后 就做到了禁止射线穿透UI的效果

运行项目 

点击背包 主角不会进行点击移动

关闭背包以及点击背包界面也不会使主角移动

本篇只实现了移动中的目标光标效果,接下来还需做以下内容:

1.新输入系统的人物转向功能

2.摄像机跟随主角移动

3.人物释放技能

4.怪物的生成

5.怪物UI信息(笼)

6.3D模型投射UI(UGUI)界面

7.怪物按指定位置移动

以及开放回合制、坐骑系统、宠物系统、背包系统、神炼系统、商城系统、Boss的目标跟随任务导航系统以及UI播放3D动画效果等等。

具体项目运行效果请关注water1024的b站视频项目演示《破碎纪元》

【Unity回合2.5D】破碎纪元_单机游戏热门视频 (bilibili.com)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1rZY4e9Ebs/?spm_id_from=333.999.0.0

这篇关于『功能项目』禁止射线穿透行为【05】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1103080

相关文章

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Java实现预览与打印功能详解

《Java实现预览与打印功能详解》在Java中,打印功能主要依赖java.awt.print包,该包提供了与打印相关的一些关键类,比如PrinterJob和PageFormat,它们构成... 目录Java 打印系统概述打印预览与设置使用 PageFormat 和 PrinterJob 类设置页面格式与纸张

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

Golang如何用gorm实现分页的功能

《Golang如何用gorm实现分页的功能》:本文主要介绍Golang如何用gorm实现分页的功能方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录背景go库下载初始化数据【1】建表【2】插入数据【3】查看数据4、代码示例【1】gorm结构体定义【2】分页结构体