12186人加入学习
(73人评价)
Unity最全最完整的零基础入门教程-Luna's Fantasy(露娜的大冒险)

制作完成于2023年8月1日,基于Unity2023.1.1

价格 免费

开始测试是0/0,是因为maxHealth没有赋值,默认是0,currentHealth的值也是0,所以无论加多少次,当前血量都只能是0,因为是在[0,0]的区间内取值

[展开全文]

碰撞器位置会歪是因为刚体和碰撞器是加在父布局上的,拖拽移动的时候是移动的子布局,相对就偏移了

[展开全文]

new scene - file - new scene ctrl + n

或右键asset选择新scene

[展开全文]

2by3能边开发边看游戏画面反馈

[展开全文]

2d游戏只在z轴旋转

聚焦游戏物体:hierarchy选中游戏物体按f/双击

鼠标右键进行拖拽

滚动中间进行shi ye

[展开全文]

跟随: CinemachineVirtualCamera组件 -> Follow

摄像机边界值: CinemachineVirtualCamera组件 -> Add Extension -> CinemachineConfiner2D

[展开全文]

unity包管理 : Window -> Package Manage

摄像机模式: Camera -> Projection

[展开全文]

获取键盘的输入 KeyCode.

判断某个键是否按下: Input.GetKey()

[展开全文]

Mathf.Approximately(value1,value2) : 比较两个值近似相等的数学方法

[展开全文]

基于中心点来判断渲染层级

[展开全文]

访问级别:
所有类型和类型成员都具有可访问级别,用来控制判断是否可以允许我们访问某些成员变量和方法。可使用访问修饰符来指定声明类型或成员的可访问性。

[展开全文]

float类型的变量?

即小数变量,0.1是不能使用的,要加f代表float{浮点型}

而整形不用加f\

住:f是float的缩写

[展开全文]

Vector2{"矢量"是一个可以改变对象位移的类型,拥有可以改变2个值的能力,因为我们是2D游戏,只有2个可以位移的量,即XY轴所以用Vector2}

position"位置"这里指的是Unity上面的这个这个position{位置}就是Transform下的第一个这个{位置}

Vector2 position = transform.position中

Vector2 poition调用了vector2类型指定了Unity中的position的x y值{再次强调2D游戏没有z轴所以只有xy两个变量}

后面的 = transform.position指的是将这指定的xy两个值赋予在transform.positiopn上面

position.x = position.x + 0.1f;个人推断是指设置这个position.x的值{这个是x轴位移的值}不断加0.1f

最后面的tansform.position = poition;是将position.x这个不断加1的变化名称赋值给transform.position 这里联系第一行的内容我们能知道Vector2 position是transform.position赋值的

所以老师靠着位置x不断+1的循环实现了Luna在x轴上的位移.

[展开全文]

关键:在副对象上面重新建立了一个新的xy坐标系,在此基础上进行相关对象的位移计算

[展开全文]

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float moveSpeed = 5f; // 移动速度

    private Rigidbody2D rb;

    void Start()
    {
        // 获取 Rigidbody2D 组件
        rb = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        // 获取水平和垂直输入(使用键盘的 WASD 或方向键)
        float horizontalInput = Input.GetAxis("Horizontal");
        float verticalInput = Input.GetAxis("Vertical");

        // 计算移动速度
        Vector2 moveVelocity = new Vector2(horizontalInput, verticalInput) * moveSpeed;

        // 应用移动速度到 Rigidbody2D
        rb.velocity = moveVelocity;
    }
}
 

[展开全文]

授课教师

SiKi学院老师

课程特色

视频(96)
图文(2)