『功能项目』禁止射线穿透行为【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

相关文章

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤