Unity3D(2021)最最最基础游戏《小球吃方块》制作中的小球的移动

一、小球的移动

1.在右边层级(Hierarchy)右键找到并点击3D对象(3D Object)选择球体(Sphere)平面(Plane)双击创建。自己调好球体平面位置,给球体添加刚体(Rigidbody可以让球体掉落

2.给小球移动:在项目中找到创建(Create)中点击创建C#脚本(C# Script)命名move并打开输入以下代码(别看错)。

public class move : MonoBehaviour
{
    public Rigidbody RD;//用于小球刚体
    private bool isground= false;//用于小球的接触值
    private Transform player;//移动值
    void Start()
    {

        //通过关键语句获取相应类型的组件
        RD = GetComponent<Rigidbody>();
        player = transform;
    }
    void Update()
    {

        //设置L Shift健这里想的是只有向前给小球加速
        if (Input.GetKey(KeyCode.LeftShift))
        {//嵌套判断
            if (Input.GetKey(KeyCode.W))//设置W健
            {

                player.Translate(Vector3.forward * 4.0f * Time.deltaTime);//设置移速和方向
            }

        }
        else
        {
            if (Input.GetKey(KeyCode.W))
            {
                player.Translate(Vector3.forward * 2.0f * Time.deltaTime);
            }
        }

        if (Input.GetKey(KeyCode.S))//设置S健
        {

            player.Translate(Vector3.back * 2.0f * Time.deltaTime);
        }
        if (Input.GetKey(KeyCode.A))//设置A健
        {

            player.Translate(Vector3.left * 2.0f * Time.deltaTime);
        }
        if (Input.GetKey(KeyCode.D))//设置D健
        {

            player.Translate(Vector3.right * 2.0f * Time.deltaTime);
        }

        //设置空格=space
        if (Input.GetKeyDown(KeyCode.Space) && isground)
        {
            RD.AddForce(Vector3.up * 200);//高度
        }
    }

回到U3D界面把C#脚本move按住鼠标左键拖入球体(Sphere),在右边找到脚本在RD中选择球体(Sphere)的刚体。好像不弄也行

3.视野判断反向:创建C#脚本(C# Script)命名fov并打开输入以下代码。

public class fov : MonoBehaviour
{
    public GameObject Sphere;//目标
    public Vector3 offset;

    // Start is called before the first frame update
    void Start()
    {
        offset = transform.position - Sphere.transform.position;
    }

    // Update is called once per frame
    void Update()
    {
        transform.position = Sphere.transform.position+offset;
    }
}

把C#脚本fov按住鼠标左键拖入摄像机(Camera),调好摄像机位置和方向然后在右边找到脚本在中Sphere选择球体(Sphere)。

试试看吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
制作 1. 首先创建一个新的Unity3D项目,并命名为“小球”。 2. 在场景创建一个球形物体,并调整其大小和位置,使其看起来像一个小球。 3. 添加一个刚体组件,以便球可以受到物理引擎的影响。 4. 添加一个脚本组件,以便我们可以编写代码来控制小球的行为。 5. 在脚本添加以下代码来控制小球移动: ``` using UnityEngine; public class BallController : MonoBehaviour { public float speed = 10f; private Rigidbody rb; private void Start() { rb = GetComponent<Rigidbody>(); } private void FixedUpdate() { float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = Input.GetAxis("Vertical"); Vector3 movement = new Vector3(moveHorizontal, 0f, moveVertical); rb.AddForce(movement * speed); } } ``` 6. 现在我们可以通过按下方向键来控制小球移动了。 7. 添加一个地面,在场景创建一个平面物体,并将其调整到适当的位置和大小。 8. 添加一个盒子碰撞器组件,并将其调整到与地面物体相匹配。 9. 在脚本添加以下代码,以便小球在接触地面时可以停止移动: ``` private void OnCollisionEnter(Collision other) { if (other.gameObject.CompareTag("Ground")) { rb.velocity = Vector3.zero; rb.angularVelocity = Vector3.zero; } } ``` 10. 添加一些障碍物,使游戏更有挑战性。 11. 添加一些收集品,如硬币或宝石,并编写代码来使小球可以收集它们。 12. 最后,添加一些音效和动画效果,以使游戏更具吸引力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值