Unity功能——通过按键设置物体朝左/右旋转(含C#转xlua版)
博文简介:
开发场景:unity的3d场景; 功能:当设定的键被按下时,进行物体朝左/右旋转;
适用范围:本文代码适用于设置3d物体朝左右旋转,也适用于设置UI对象朝左右旋转;
注:可自定义按键作为物体旋转的按键,这里使用常用的A,D键来控制物体的左右旋转;
若功能需求为:根据鼠标朝左/右旋转;限制物体旋转的角度;
可参考本人的另一篇博文:Unity功能——物体随鼠标朝左/右旋转(带角度限制)
1、监测按键触发
C#: if (Input.GetKey(KeyCode.D)){...}
xlua: if CS.UnityEngine.Input.GetKey(CS.UnityEngine..KeyCode.A) then ... end
if (Input.GetKey(KeyCode.D)){...}
--C# 改 xlua版if CS.UnityEngine.Input.GetKey(CS.UnityEngine..KeyCode.A) then--要实现的需求的功能代码
end
2、设置物体旋转
C#: transform.Rotate(Vector3.forward * rotateSpeed);
xlua: self.transform:Rotate(CS.UnityEngine.Vector3.forward * self.rotateSpeed)
transform.Rotate(- Vector3.forward * rotateSpeed);
--C# 改 xlua版,注意使用冒号调用函数self.transform:Rotate(CS.UnityEngine.Vector3.forward * self.rotateSpeed)
3、完整功能代码
注:使用hotfix把C#转xlua时,对应的C#脚本上需要:
(1)脚本引用using Xlua;(2)类上面添加[Hotfix]标签;(3)方法上添加[LuaCallCSharp]标签
private void MoveItem(){if (Input.GetKey(KeyCode.A))transform.Rotate(-Vector3.forward * rotateSpeed);else if (Input.GetKey(KeyCode.D))transform.Rotate(Vector3.forward * rotateSpeed);
}
xlua.private_accessible(CS.类名)
xlua.hotfix(CS.类名,'方法名',function(self)if CS.UnityEngine.Input.GetKey(CS.UnityEngine.KeyCode.A) thenself.transform:Rotate(CS.UnityEngine.Vector3.forward * self.rotateSpeed)elseif CS.UnityEngine.Input.GetKey(CS.UnityEngine.KeyCode.D) thenself.transform:Rotate(-CS.UnityEngine.Vector3.forward * self.rotateSpeed)end
end)相关文章:
Unity功能——通过按键设置物体朝左/右旋转(含C#转xlua版)
博文简介: 开发场景:unity的3d场景; 功能:当设定的键被按下时,进行物体朝左/右旋转; 适用范围:本文代码适用于设置3d物体朝左右旋转,也适用于设置UI对象朝左右旋转…...
泛微ecology开发修炼之旅
我将多年泛微ecology开发经验,进行了总结,然后分享给大家。 泛微开发修炼之旅 泛微开发修炼之旅--01搭建开发环境 泛微开发修炼之旅--02开发接口demo 泛微开发修炼之旅--03常用数据表结构讲解 泛微开发修炼之旅--04常用数据库操作工具类封装 。。。。 我…...
PostgreSQL的视图pg_locks
PostgreSQL的视图pg_locks pg_locks 是 PostgreSQL 提供的系统视图,用于显示当前数据库中的锁信息。通过查询这个视图,数据库管理员可以监控锁的使用情况,识别潜在的锁争用和死锁问题,并优化数据库性能。 pg_locks 视图字段说明…...
元宇宙NFG结合IPO线上营销模型合理降税
在当今快速演进的互联网和区块链技术背景下,我们见证了从移动端购物到区块链热潮,再到如今市场竞争日趋激烈的变革。尤其是在2024年这个关键节点,许多平台为了吸引用户,推出了各种创新的商业模式。然而,如何在这样的环…...
Python打印当前目录下,所有文件名的首字母
代码如下: #!/usr/bin/env python3 """ 按顺序打印当前目录下,所有文件名的首字母(忽略大小写) """ import sys from pathlib import Pathdef main() -> None:ps Path(__file__).parent.glob(…...
程序员应该有什么职业素养?
程序员的六大职业素养:构建成功职业生涯的基石 在不断变化的技术世界中,程序员不单要保持技术的锋利,也需要培养相应的职业素养,这些素养在很大程度上决定了一个程序员的职业生涯能否走得长远。以下是我认为最为重要的六大职业素…...
【PostgreSQL17新特性之-冗余IS [NOT] NULL限定符的处理优化】
在执行一个带有IS NOT NULL或者NOT NULL的SQL的时候,通常会对表的每一行,都会进行检查以确保列为空/不为空,这是符合常理的。 但是如果本身这个列上有非空(NOT NULL)约束,再次检查就会浪费资源。甚至有时候…...
Flink的简单学习二
一 Flink的核心组件 1.1 client 1.将数据流程图DataFlow发送给JobManager。 1.2 JobManager 1.收集client的DataFlow图,将图分解成一个个的task任务,并返回状态更新数据给client 2.JobManager负责作业调度,收集TaskManager的Heartbeat和…...
如何提高员工的工作主动性?
在现代竞争激烈的商业环境中,拥有高度主动性的员工是每个组织所追求的目标。主动性不仅能够促进员工的个人成长,还可以提升团队的效率和创新力。因此,如何提高员工的工作主动性成为了企业管理者需要关注的重要问题。那么如何培养和激发员工的…...
FFmpeg PCM编码为AAC
使用FFmpeg库把PCM文件编码为AAC文件,FFmpeg版本为4.4.2-0 代码如下: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <…...
React@16.x(16)Render Props
目录 1,问题描述2,解决方式2.1,Render Props2.2,HOC 3,使用场景 1,问题描述 当使用组件时,标签中的内容,会被当做 props.children 来渲染: 子组件: import…...
STM32 定时器问题
stm32通用定时器中断问题 STM32 定时器有时一开启就进中断的问题 /// STM32 TIM1高级定时器RCR重复计数器的理解 /// /// /// /// /// /// /// ///...
CSS学习笔记目录
CSS学习笔记之基础教程(一) CSS学习笔记之基础教程(二) CSS学习笔记之中级教程(一) CSS学习笔记之中级教程(二) CSS学习笔记之中级教程(三) CSS学习笔记之高级…...
随笔-我在武汉一周了
做梦一样,已经来武汉一周了,回顾一下这几天,还真是有意思。 周一坐了四个小时的高铁到了武汉站,照着指示牌打了个出租车。司机大姐开得很快,瞅了眼,最快速度到了110,差点把我晃晕。一下车就感觉…...
Python 爬虫零基础:探索网络数据的神秘世界
Python 爬虫零基础:探索网络数据的神秘世界 在数字化时代,网络数据如同无尽的宝藏,等待着我们去发掘。Python爬虫,作为获取这些数据的重要工具,正逐渐走进越来越多人的视野。对于零基础的学习者来说,如何入…...
微信小程序的view的属性值和用法
在微信小程序中,view 是一个基础的视图组件,用于承载其他视图组件或者展示文本、图片等内容。view 组件具有多种属性,用于控制其行为和样式。以下是一些常用的 view 属性及其用法: class / style: 控制视图的样式,可以…...
Python优化、异常处理与性能提升技巧
Python作为一种高效的编程语言,其灵活性和强大的功能使得它成为了许多开发者的首选。在日常的编程实践中,掌握一些高效的Python技巧可以极大地提升开发效率和代码质量。本文将介绍五个关于Python使用技巧,帮助你更加熟练地运用Python解决问题…...
Flink状态State | 大数据技术
⭐简单说两句⭐ ✨ 正在努力的小叮当~ 💖 超级爱分享,分享各种有趣干货! 👩💻 提供:模拟面试 | 简历诊断 | 独家简历模板 🌈 感谢关注,关注了你就是我的超级粉丝啦! &a…...
go语言方法之方法值和方法表达式
我们经常选择一个方法,并且在同一个表达式里执行,比如常见的p.Distance()形式,实际上 将其分成两步来执行也是可能的。p.Distance叫作“选择器”,选择器会返回一个方法"值"->一 个将方法(Point.Distance)绑定到特定接…...
TDMQ CKafka 版弹性存储能力重磅上线!
导语 自 2024年5月起,TDMQ CKafka 专业版支持弹性存储能力,这种产品形态下,存储可按需使用、按量付费,一方面降低消费即删除、存储使用波动大场景下的存储成本,另一方面存储空间理论上无穷大。 TDMQ CKafka 版产品能…...
小白也能搞定:CYBER-VISION零号协议智能助盲系统部署全流程
小白也能搞定:CYBER-VISION零号协议智能助盲系统部署全流程 1. 系统介绍与准备工作 CYBER-VISION零号协议是一款专为视障人士设计的智能助盲系统,它通过先进的计算机视觉技术,将周围环境实时转化为可理解的语音提示。想象一下,当…...
像素皇城灵蛇贺岁:5分钟部署你的赛博春联生成器(保姆级教程)
像素皇城灵蛇贺岁:5分钟部署你的赛博春联生成器(保姆级教程) 1. 前言:当传统春节遇上赛博美学 春节贴春联是延续千年的传统习俗,但你是否想过用AI技术为这个传统注入新的活力?今天我们要介绍的"像素…...
Qwen2.5-14B-Instruct在AI编剧赛道的突破:像素剧本圣殿Glitch标题交互体验分享
Qwen2.5-14B-Instruct在AI编剧赛道的突破:像素剧本圣殿Glitch标题交互体验分享 1. 像素剧本圣殿:AI编剧的新范式 在数字内容创作领域,剧本创作一直是最具挑战性的任务之一。传统编剧需要花费大量时间构思情节、塑造角色、打磨对白ÿ…...
s2-pro语音合成新玩法:用标签控制语气,轻松制作带情绪的语音内容
s2-pro语音合成新玩法:用标签控制语气,轻松制作带情绪的语音内容 1. 语音合成技术的新突破 在数字内容创作领域,语音合成技术正变得越来越重要。传统的语音合成系统往往只能生成单调、机械的语音,缺乏情感表达和自然韵律。而s2-…...
Wan2.2-I2V-A14B私有部署镜像优势:零依赖冲突、开箱即用、免编译安装
Wan2.2-I2V-A14B私有部署镜像优势:零依赖冲突、开箱即用、免编译安装 1. 镜像核心价值与定位 Wan2.2-I2V-A14B私有部署镜像是专为文生视频场景打造的一站式解决方案。这个镜像最大的特点就是解决了AI模型部署中最让人头疼的环境配置问题,真正做到下载即…...
GUI-Guider工具:LVGL嵌入式GUI开发实战指南
1. GUI-Guider工具概述GUI-Guider是恩智浦公司专为LVGL图形库开发的一款可视化设计工具。作为一名长期从事嵌入式GUI开发的工程师,我亲身体验到这款工具如何彻底改变了传统的手写代码开发模式。它通过拖拽式操作界面,让开发者能够快速构建出精美的用户界…...
独立站页面结构优化的注意事项是什么_独立站 SEO 与品牌建设的关系是什么
独立站页面结构优化的注意事项是什么 在当今的数字化时代,独立站(独立网站)已经成为个人品牌和企业展示自我、推广产品和服务的重要平台。单凭一个美观的独立站,难以在竞争激烈的网络环境中脱颖而出。因此,独立站页面…...
GinCdn内容分发系统V1.0.9更新内容
GinCdn内容分发系统GinCdn是一款基于Go语言Gin框架自研的轻量高效内容分发系统,专为中小型企业/个人搭建CDN打造,采用主控边缘节点分布式架构,实现智能调度、高效缓存、精准监控的一体化解决方案。无需复杂命令行,小白也能轻松上手…...
皇后大学揭秘:AI机器人与人类程序员的代码审查大作战
当你写完一段代码,准备提交到项目中时,通常会有同事帮你检查一遍——这个过程叫做代码审查,就像文章发表前的编辑校对一样重要。不过现在情况有了变化:越来越多的AI机器人也开始参与代码审查工作,它们能自动发现bug、提…...
Libre Barcode:终极免费条码字体解决方案,让条码生成变得简单高效
Libre Barcode:终极免费条码字体解决方案,让条码生成变得简单高效 【免费下载链接】librebarcode Libre Barcode: barcode fonts for various barcode standards. 项目地址: https://gitcode.com/gh_mirrors/li/librebarcode Libre Barcode 是一个…...
