栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

【Unity项目实战】手把手教学:飞翔的小鸟(2)脚本编写

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Unity项目实战】手把手教学:飞翔的小鸟(2)脚本编写

        承接上篇博客,我们已经将游戏需要的背景、动物等一些基本的属性给配置好了,接下来将在主人物小鸟身上添加一个脚本,用以增加交互性。

一.添加脚本

        选中我们的主人公小鸟,在它的属性框上点击最下方增加按钮,选择添加一个C#脚本,并且命名为Birds:

        修改名称并且点击添加:

        随后你就可以在一个不起眼的地方看见了你添加到的脚本:

        我们单击以下这个地方,可以跳转至脚本当前所在位置,如果我们双击,则会打开脚本编辑器,如果你有按照我之前第一篇说过的操作的话:

        我们双击打开VS编辑器,进入到脚本的编写

二.编写脚本 

         打开脚本之后,我们可以看到以下的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Birds : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

        除了开头调用了几个必要的库之外,我们需要关注的是Start()以及Update()这两个函数,根据文档,Start()函数相当于一个初始化的操作,一些变量在这里可以被赋予一些初始值,而Update()则可以简单理解为实时更新。我们第一个想到的交互可能是点击一下鼠标或者按下空格键,我们的主角小鸟可以向上飞,随后又因重力掉下来,代码可以按照以下格式编写:

public class Birds : MonoBehaviour
{
    public float upForce = 20f;

    private bool isDead = false;
    private Rigidbody2D rb2d;

    // Start is called before the first frame update
    void Start()
    {
        rb2d = GetComponent();
    }

    // Update is called once per frame
    void Update()
    {
        if (isDead == false)
        {
            if (Input.GetMouseButtonDown(0))
            {
                rb2d.velocity = Vector2.zero;
                rb2d.AddForce(new Vector2(0, upForce));
            }
        }
    }
}

        这段代码就做了两件事情:添加死亡判断条件以及点击鼠标左键可让角色获取一个向上的力:

         至于向上的力有多大,可以通过共有变量实现:

         设置的这个共有变量还可以在unity界面上实时调整,以调整成最适合的速度:

          当我们角色与草地相撞时,即判断为游戏失败,所以添加一个失败条件判断:

        编写完代码,保存然后切换到unity中,运行一下,可以发现点击鼠标左键可以让角色往上飞,如果觉得力不够大,则可以修改UpForce的大小直至自己满意。接下来完成角色碰到地面时,判断为死亡(isDead)部分,在脚本中添加以下函数:

    void OnCollisionEnter2D ()
    {
        rb2d.velocity = Vector2.zero;
        isDead = true;
    }

        这个函数属于unity中一个监听函数,当脚本添加这个函数后,一旦和别的碰撞体发生碰撞,则会执行该函数里面的代码,添加完成后运行以下游戏,可以发现小鸟碰到地板之后就不能再飞起来了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/901140.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号