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#代码学习(按键+屏幕和三维坐标转换+组件的调用)相关推荐

  1. 7.Unity中c#代码学习(物理系统刚体+碰撞检测(爆炸效果实现))

    刚体        通过添加组件Physics/Rigidbody            实现对物体插入物理引擎(刚体)  碰撞体         查看碰撞体范围        可以编辑碰撞的范围  ...

  2. Unity中使用代码将预制加载到场景

    Unity中使用代码将预制加载到场景 大家知道, 在日常修改预制的时候很方便, 我们将预制从资源文件夹往场景上"一拖", 然后就可以进行修改, 然后应用保存即可. 但是如果某些需求 ...

  3. Unity中C#代码学习用wasd和上下左右键控制物体前后左右上下移动和绕轴旋转

    Unity中C#代码学习用wasd和上下左右键控制物体前后左右上下移动和绕轴旋转 using System.Collections; using System.Collections.Generic; ...

  4. SiKi学院 Unity中常用api学习笔记(001-014)

    Api 应用程序编程接口 前言 笔记是看siki学院中<Unity中常用api>的学习笔记 课程地址:  http://www.sikiedu.com/my/course/59 强烈推荐大 ...

  5. unity中MVP模式学习

    #####该文章是个人学习MVP模式的总结和实践,水平有限,谢谢指点. 目录 前言 一.MVP模式是什么? 二.unity中实现 1.整体流程 2.具体实现 总结 前言 在游戏开发的过程中,经常会遇到 ...

  6. 测试Unity中常用代码的运行所用时间:三维向量和变换位移篇 #性能测试 #Vector3 #tranform.position

    C# Vector3 和 transform.position 篇 〇.前言 系统自带计时器 -System.Diagnostics.StopWatch- 的使用 一.三维向量测试 1. 三维向量的函 ...

  7. unity中通过代码控制游戏中画质

    最近在开发项目的时候突然想到可以添加一个调整画质的按钮或者DropDown或者Slider的UI来控制游戏中的画质 因为我之前写过一篇关于DropDown的使用方法的博客 DropDown的使用方法地 ...

  8. SiKi学院 Unity中常用api学习笔记(015-019)

    Api 应用程序编程接口 前言 笔记是看siki学院中<Unity中常用api>的学习笔记 课程地址:  http://www.sikiedu.com/my/course/59 强烈推荐大 ...

  9. 【《Effective C#》提炼总结】提高Unity中C#代码质量的21条准则

    原则1   尽可能地使用属性而不是可直接访问的数据成员         ● 属性(property)一直是C#语言中比较有特点的存在.属性允许将数据成员作为共有接口的一部分暴露出去,同时仍旧提供面向对 ...

最新文章

  1. 【南洋理工-CVPR2022】视觉语言模型的条件提示学习
  2. 进程间通信之命名管道
  3. 网页制作中最有用的免费Ajax和JavaScript代码库
  4. iphone11返回上一级手势怎么设置_苹果iphone12怎么关闭程序appp 怎么返回上一步
  5. java 文件路径问题_java 文件路径问题
  6. 深入理解计算机系统(2.3)---整数的表示方式精解无符号与补码编码(重要)...
  7. 解决java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor问题
  8. android menu菜单 实现点击后不消失_教你修改Windows万年不变的黄色文件夹,让文件也不枯燥...
  9. 理顺 JavaScript (7) - 数字相关问题
  10. Boost高性能网络编程
  11. Web核心技术-服务器端技术
  12. 锐捷长ping_锐捷交换机常用操作命令
  13. android 电视 vob格式转换,vob格式转换器免费版|闪电vob格式转换器 v9.7.0 免费版 - 软件下载 - 绿茶软件园|33LC.com...
  14. Python数据处理Tips使用OpenCV预处理图像数据的10种操作
  15. 戴上这个之后,你再也不是个凡人(doge)
  16. 怎样用计算机粉碎文件夹,粉碎文件夹怎么操作 粉碎文件夹操作方法
  17. PWM整流器仿真。 在simulink中搭建了PWM整流器,采用电压电流双闭环控制,实现了网侧电压与电流同相位,单位功率因数运行
  18. 微信支付宝刷步数_一劳永逸版(在用)
  19. IEEE 802.2 LLC协议
  20. TS实现Base64的加密解密

热门文章

  1. Element UI 的el-menu在VUE项目中实现再次点击左侧菜单栏,右侧页面内容刷新
  2. HTML5定稿了,终于有一种编程语言开发的程序可以在Android和IOS两种设备上运行了
  3. win10一键优化禁用缓存,禁用组件,
  4. Matlab 增加配色方案
  5. R语言绘图添加箭头标记、绘制连接两点的线段
  6. 网新 恒天Reporting COE的报表开发能力和恒天报表云平台
  7. 原型图、交互设计、UI图,到底啥关系
  8. java 打印图片_java 实现打印(图片和文本)
  9. 圆通山美食城旅游发展总体规划
  10. java技术最吸引的点_简单几步让演示文稿更有吸引力