3.Unity中c#代码学习(按键+屏幕和三维坐标转换+组件的调用)
if (Input.GetMouseButtonDown(0)) 0左键 1右键 2中键 判断鼠标按下 鼠标事件只触发一次
if (Input.GetMouseButtonUp(0)) 判断鼠标抬起 事件探测
if (Input.GetMouseButton(0)) 判断鼠标按住 事件是全局不被垄断
int width = Screen.width;
int high = Screen.height;
Debug.Log("屏幕:" + width + "," + high); 屏幕像素大小
if (Input.GetMouseButtonDown(0))
{
Vector3 vector3Cube = Input.mousePosition; 获得鼠标在屏幕上的位置
Debug.Log(vector3Cube);
}
Vector3 pos = this.transform.position;
Vector3 screenPos = Camera.main.WorldToScreenPoint(pos);
Debug.Log("立方体屏幕坐标" + screenPos); 将立方体三维坐标转换为屏幕坐标
if(screenPos.x<0||screenPos.x>Screen.width|| screenPos.y<0|| screenPos.y> Screen.height)
{
Debug.Log("正方块已出界"); 判断物体是否出屏幕
}
KeyCode - Unity 脚本 API
if (Input.GetKey(KeyCode.W)|| Input.GetKey(KeyCode.UpArrow)) 判断按键是否按下
{
this.transform.Translate(0, 0, speed * Time.deltaTime);
//Debug.Log("按键W按下");
}
if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow))
{
this.transform.Translate(0, 0, -speed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
{
this.transform.Translate(-speed * Time.deltaTime, 0, 0);
}
if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
{
this.transform.Translate(speed * Time.deltaTime, 0, 0);
} 方向控制,是否按下 按下后转移方向
游戏启动时自动播放
通过GetComponent来调用<AudioSource>来进行赋值 <>指泛值
AudioSource audio = this.GetComponent<AudioSource>();
UnityEngine.AudioSource - Unity 脚本 API
audio.Play();
GetComponent调用的是this有的组件
可以通过创建GameObject变量来访问其他结点
public GameObject bgmNode; 创建一个新的结点
AudioSource audio = bgmNode.GetComponent<AudioSource>(); 把原有结点进行引用
audio.Play(); 使用新结点
public AudioSource bgm;通过创建AudioSource变量,直接将想要赋过来的bgm放入
public GameObject fanNode; 创建一个新的结点
Revolve fan = fanNode.GetComponent<Revolve>(); 把原有结点进行引用
fan.rotateSpeed = 180; 使用新结点
public Revolve fan; 直接创建新的Revolve变量,直接将想要赋过来的fan放入 调用
3.Unity中c#代码学习(按键+屏幕和三维坐标转换+组件的调用)相关推荐
- 7.Unity中c#代码学习(物理系统刚体+碰撞检测(爆炸效果实现))
刚体 通过添加组件Physics/Rigidbody 实现对物体插入物理引擎(刚体) 碰撞体 查看碰撞体范围 可以编辑碰撞的范围 ...
- Unity中使用代码将预制加载到场景
Unity中使用代码将预制加载到场景 大家知道, 在日常修改预制的时候很方便, 我们将预制从资源文件夹往场景上"一拖", 然后就可以进行修改, 然后应用保存即可. 但是如果某些需求 ...
- Unity中C#代码学习用wasd和上下左右键控制物体前后左右上下移动和绕轴旋转
Unity中C#代码学习用wasd和上下左右键控制物体前后左右上下移动和绕轴旋转 using System.Collections; using System.Collections.Generic; ...
- SiKi学院 Unity中常用api学习笔记(001-014)
Api 应用程序编程接口 前言 笔记是看siki学院中<Unity中常用api>的学习笔记 课程地址: http://www.sikiedu.com/my/course/59 强烈推荐大 ...
- unity中MVP模式学习
#####该文章是个人学习MVP模式的总结和实践,水平有限,谢谢指点. 目录 前言 一.MVP模式是什么? 二.unity中实现 1.整体流程 2.具体实现 总结 前言 在游戏开发的过程中,经常会遇到 ...
- 测试Unity中常用代码的运行所用时间:三维向量和变换位移篇 #性能测试 #Vector3 #tranform.position
C# Vector3 和 transform.position 篇 〇.前言 系统自带计时器 -System.Diagnostics.StopWatch- 的使用 一.三维向量测试 1. 三维向量的函 ...
- unity中通过代码控制游戏中画质
最近在开发项目的时候突然想到可以添加一个调整画质的按钮或者DropDown或者Slider的UI来控制游戏中的画质 因为我之前写过一篇关于DropDown的使用方法的博客 DropDown的使用方法地 ...
- SiKi学院 Unity中常用api学习笔记(015-019)
Api 应用程序编程接口 前言 笔记是看siki学院中<Unity中常用api>的学习笔记 课程地址: http://www.sikiedu.com/my/course/59 强烈推荐大 ...
- 【《Effective C#》提炼总结】提高Unity中C#代码质量的21条准则
原则1 尽可能地使用属性而不是可直接访问的数据成员 ● 属性(property)一直是C#语言中比较有特点的存在.属性允许将数据成员作为共有接口的一部分暴露出去,同时仍旧提供面向对 ...
最新文章
- 【南洋理工-CVPR2022】视觉语言模型的条件提示学习
- 进程间通信之命名管道
- 网页制作中最有用的免费Ajax和JavaScript代码库
- iphone11返回上一级手势怎么设置_苹果iphone12怎么关闭程序appp 怎么返回上一步
- java 文件路径问题_java 文件路径问题
- 深入理解计算机系统(2.3)---整数的表示方式精解无符号与补码编码(重要)...
- 解决java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor问题
- android menu菜单 实现点击后不消失_教你修改Windows万年不变的黄色文件夹,让文件也不枯燥...
- 理顺 JavaScript (7) - 数字相关问题
- Boost高性能网络编程
- Web核心技术-服务器端技术
- 锐捷长ping_锐捷交换机常用操作命令
- android 电视 vob格式转换,vob格式转换器免费版|闪电vob格式转换器 v9.7.0 免费版 - 软件下载 - 绿茶软件园|33LC.com...
- Python数据处理Tips使用OpenCV预处理图像数据的10种操作
- 戴上这个之后,你再也不是个凡人(doge)
- 怎样用计算机粉碎文件夹,粉碎文件夹怎么操作 粉碎文件夹操作方法
- PWM整流器仿真。 在simulink中搭建了PWM整流器,采用电压电流双闭环控制,实现了网侧电压与电流同相位,单位功率因数运行
- 微信支付宝刷步数_一劳永逸版(在用)
- IEEE 802.2 LLC协议
- TS实现Base64的加密解密