参考书籍《Unity5权威讲解》韩 李在贤

1.unity脚本的生命周期

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//类名要与脚本名保持一致
public class XXX : MonoBehaviour
{void Awake(){//执行脚本只调用一次//调用于Start函数前//禁用脚本时也可以执行//不可用于例程//用于初始化游戏状态值或初始化变量}void Start(){//调用Update函数前仅调用一次//激活脚本才可运行//其他所有Awake函数均执行后才能执行}void Update(){//每个游戏帧都要调用是游戏的核心逻辑//激活脚本才可以执行}void LateUpdate(){//所有Update函数均调用完后调用一次//用于按顺序执行的逻辑//主要用于摄像机移动逻辑//激活脚本后才可以执行}void FixedUpdate(){//主要用于使用物理引擎时,每隔一定时间即被调用//每次调用间隔时间一致}void OnEnable(){//激活游戏对象或脚本时调用//事件发生时使用//不可用于例程}void OnDisable(){//禁用游戏对象或脚本时调用//事件结束时使用//不可用于例程}
}

2.下载键盘输入值 

unity中由Input类接收键盘的输入值,通过Input.GetAxis("组合键名")获取事先设置的组合键的值。可以选择菜单栏Editor ---> Project Setting ---> Input查看组合键名。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerCtrl : MonoBehaviour
{private float h = 0.0f;private float v = 0.0f;void Update(){//在玩家按下A,D,Left,Right键时返回-1~1h = Input.GetAxis("Horizontal");//在玩家按下W,D,UP,Down键时返回-1~1v = Input.GetAxis("Vertical");//将信息以文本形式输出到Unity的控制台Debug.Log("H = " + h.ToString());Debug.Log("V = " + v.ToString());}}

3.控制玩家移动代码 

//控制玩家前后移动using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerCtrl : MonoBehaviour
{private float h = 0.0f;private float v = 0.0f;//必须先分配变量,之后才能使用要访问的组件private Transform tr;//移动速度public float moveSpeed = 10.0f;void Update(){//在玩家按下A,D,Left,Right键时返回-1~1h = Input.GetAxis("Horizontal");//在玩家按下W,D,UP,Down键时返回-1~1v = Input.GetAxis("Vertical");//将信息以文本形式输出到Unity的控制台Debug.Log("H = " + h.ToString());Debug.Log("V = " + v.ToString());//Translate(移动方向 * 速度 * 位移值 * Time.deltaTime, 基础坐标)tr.Translate(Vector3.forward * moveSpeed * v * Time.deltaTime, Space.Self);}}
//控制玩家前后左右移动using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerCtrl : MonoBehaviour
{private float h = 0.0f;private float v = 0.0f;//必须先分配变量,之后才能使用要访问的组件private Transform tr;//移动速度public float moveSpeed = 10.0f;void Update(){//在玩家按下A,D,Left,Right键时返回-1~1h = Input.GetAxis("Horizontal");//在玩家按下W,D,UP,Down键时返回-1~1v = Input.GetAxis("Vertical");//将信息以文本形式输出到Unity的控制台Debug.Log("H = " + h.ToString());Debug.Log("V = " + v.ToString());Vector3 moveDir = (Vector3.forward * v) + (Vector3.right * h);//Translate(移动方向 * 速度 * 位移值 * Time.deltaTime, 基础坐标)//moveDir.normalized向量加法运算后,为了只获取向量方向,需要转换为单位向量tr.Translate(moveDir.normalized * moveSpeed * Time.deltaTime, Space.Self);}}

unity笔记(一)相关推荐

  1. Houdini流体>>粒子流体导出到unity笔记

    Houdini流体>>Houdini流体导出到unity笔记 一.参考资料: 1.unity中流体案例项目连接:(可选HDRP 和URP管线) https://github.com/kei ...

  2. Unity笔记-25-简单的商城系统数据库操作

    Unity笔记-25-简单的商城系统&数据库操作 要求与分析 英雄属性界面 展示英雄头像,英雄名称,英雄属性(AD,AP,AR,SR,自左向右,自上向下),金币数量 商店界面 展示可购买的物品 ...

  3. Unity笔记(5):Make Character Animation【2D】

    目录 1.新建项目 2.导入资源 复习一下前两篇笔记: 3.搭建场景 4.控制角色移动 5.制作角色动画 发现问题: 解决问题: 1.新建项目 2.导入资源 Sunny Land | 2D Chara ...

  4. Unity笔记Spine的基础应用(小白入门)

    目录 一.导入Spine环境 1.环境下载导入 2.资源导入 二.基础应用 1.UI层 (1).初学手动 展示体会 (2).代码动态 简易实现 2.非UI层 其他播放: 三.效率优化 1.Binary ...

  5. Unity笔记(正版全阶段)目录

    目录 第一阶段unity基础 1 引言 1 第一章:Unity环境搭建 2 Scene场景面板 2 摄像机 4 instantOC(面试重点) 5 光照系统 6 声音 8 第二章  C# 语言基础 8 ...

  6. Unity笔记之调节text的字间距

    需求:unity内置的调节间距的只有行距,无法调节字的间距,只能通过代码来实现调节字间距的效果. 内容我是百度别人的拿来直接用的,附一下大佬的地址 using System.Collections; ...

  7. 【Unity笔记】连招动画切换方式(一)

    连招动画切换方式(一) 此方法可以实现的连击效果: 通过连续点击鼠标左键 攻击1 接 攻击2 接 攻击3 结束 在任意攻击动作中停止点击鼠标左键,则连击中断 一.Animator中的设置 先将一套连招 ...

  8. Unity笔记---模拟行星旋转(含代码)

    一.模拟行星旋转 1.先创建名字为Sphere的3D object.(如图,是一个球状体.) 2.在Asset里面可以创建 material 给我们刚刚创建的小球增加材质(我们现在所学的materia ...

  9. Unity笔记——FairyGUI

    前言 平时一直用的都是Unity内部的UGUI来着,本来以为FairyGUI跟UGUI差不多,用了之后才发现完全不是一个等级的,FairyGUI用起来舒服多了,很多Unity内部处理比较麻烦的Fair ...

  10. Unity笔记---建立山峰和挖沟以及对其的锐化

    这里所讲的是本人(一个正在学Unity的小白)学习unity的建立山峰,挖沟操作以及对山峰和沟尖尖的刺的锐化! 之前老师讲过三种方法建立3D object: 1.在GameObject里创建3D物体. ...

最新文章

  1. 微寻,把“线下医院”带到“线上轻松问诊”
  2. Android移动开发之【Android实战项目】DAY13-MPChart简单的折线图LineChart
  3. 微软服务器系统玩游戏,微软将于2020年1月22日关闭Windows7游戏服务器
  4. 版本分支管理标准 - Trunk Based Development 主干开发模型
  5. 微型计算机原理上机实验改错,北京理工大学微机原理汇编语言上机实验题
  6. make、make是什么??
  7. 实现Runnable接口
  8. 360浏览器打不开qq空间_360浏览器打不开? 60浏览器打不开网页的处理方法(图文)...
  9. kali2020进入单模式_出租车使用“滴滴”平台 司机希望恢复抢单模式 滴滴出行有回应...
  10. qq浏览器插件_惊艳与吐槽:QQ浏览器升级到 Chromium70 内核以后
  11. 一辆车,一年大概要花费多少钱,除了油费?
  12. 如何linux安装apache服务器,Linux中如何安装Apache服务器
  13. 电磁波与电磁信号、生活中的电磁波
  14. c语言做的计算器小程序,c语言实现计算器小程序
  15. natapp做一个内网穿透
  16. Chap.16 总结《CL: An Introduction》 (Vyvyan Evans)
  17. Web:flex模拟移动商城首页页面布局/grid布局的相关属性
  18. 报错:Error: module property was removed from Dependency
  19. 解决使用DevStack 安装 OpenStack 重启后br-ex失效的问题
  20. 如何扩展Orchard

热门文章

  1. java推箱子_java实现简单的推箱子小游戏
  2. vue项目中加载模型报错
  3. 计算机毕业设计Java大学生创新创业项目管理(源码+系统+mysql数据库+lw文档)
  4. web前端html开发学什么,前端应届生如何做一个职业规划
  5. 深度学习优化——He初始化
  6. 升级Nexus 出现小绿人倒地+无命令(no command)解决方案
  7. 【20171010】【软工】第三次作业
  8. PostgreSQL 错了被别人指出,是人生幸事 vacuum 操作修正
  9. JDBC-06:PrepardeStatement操作BLOB类型字段
  10. 在应用处理器上开发实时任务系统