unity学习笔记-YourFirstGame5

简介

本文主要记载自己学习unity的过程,边看视频边写笔记,原视频为麦可老师(M_Studio)在B站发的Unity教程 Your First Game,笔记内容没那么详细,仅供复习使用,学习请前往观看麦可老师的视频

麦可老师在这节课主要讲了角色方向以及跳跃

这节其实没什么好说的 直接看代码注释就好啦

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
using UnityEngine;

public class PlayerController : MonoBehaviour
{
/// <summary>
/// 声明一个变量用来接收刚体
/// </summary>
public Rigidbody2D rb;
/// <summary>
/// 声明一个变量代表速度
/// </summary>
public float speed;
/// <summary>
/// 声明一个变量代表跳跃力
/// </summary>
public float jumpForce;

// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
//void Update()
//{
// MoveMent();
//}
//根据电脑配置进行每帧调用
void FixedUpdate()
{
MoveMent();
}

void MoveMent()
{
//horizontalMove值分别为 左-1 右1 不动 0
float horizontalMove =Input.GetAxis("Horizontal");//Input.GetAxis获取-1~1之间的数
float facedirection= Input.GetAxisRaw("Horizontal");//GetAxisRaw 只能获取到-1,0,1这三个数 用来判断角色脸的朝向 改变Transfrom的Scale数值来改变角色朝向
if (horizontalMove!=0)
{
//horizontalMove!=0证明角色在动
rb.velocity = new Vector2(horizontalMove*speed*Time.deltaTime,0);//方向乘以速度 Y轴不动 *Time.deltaTime代表两帧之间的时间差(物理运行的百分比) 兼容多种电脑配置
}
if (facedirection!=0)
{
transform.localScale = new Vector3(facedirection, 1, 1);//改变x的值和朝向一致
}
//获取按下跳跃键
if (Input.GetButtonDown("Jump"))
{
rb.velocity= new Vector2(rb.velocity.x,jumpForce * Time.deltaTime);
}
}
}


第五节课到这里 原视频地址