【2023unity游戏制作-mango的冒险】-2.开始画面API制作

简介: 【2023unity游戏制作-mango的冒险】-2.开始画面API制作
+关注继续查看

在这里插入图片描述


👨‍💻个人主页@元宇宙-秩沅

**hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!**

本文由 秩沅 原创

收录于专栏游戏制作


⭐mango的冒险-开始画面制作⭐
-


@[TOC]


👨‍💻前言


🎶版本: 为 Ltp 2021年版本的unity
🎶类型: 简单2D类冒险游戏
🎶目的: 熟悉掌握基本unityAPI
🎶视频教程:【2023小白狂飙unity2D冒险类游戏制作【mango的冒险】】


👨‍💻mango的定向移动和动画切换


  • 利用MoveToword函数和延时调用方法。
    在这里插入图片描述
    ❤️关键源码:
    void FixedUpdate()
      {
         
          time = Mathf.MoveTowards(time, 0, 0.1f);//倒计时,相当于起到一个延时调用的作用
          if (time == 0)
          {
         
              gameObject.transform.position = Vector2.MoveTowards(gameObject.transform.position, point.transform.position, 0.1f);
          }
      }
    

❤️源码:

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

public class Movetowords : MonoBehaviour
{
   
    private GameObject point;
    private Animator  mangoAni;
    private float time = 5 ;
    void Start()
    {
   
        point = GameObject.Find("add");
        mangoAni = GetComponent<Animator>();
    }
    private void Update()
    {
   
        Debug.Log (gameObject.transform.position+"和"+point.transform.position);
        if (gameObject.transform.position.x == point.transform.position.x)
        {
   
            mangoAni.CrossFade("LookUp", 0f);
        }
    }
    void FixedUpdate()
    {
   
        time = Mathf.MoveTowards(time, 0, 0.1f);//倒计时
        if (time == 0)
        {
   
            gameObject.transform.position = Vector2.MoveTowards(gameObject.transform.position, point.transform.position, 0.1f);
        }

    }
}

👨‍💻吟唱召唤法球


  • 第一步:首先固定六个点,前三个作为法球的生成位置(开始点),后三个作为法球的终端(下落点)
  • 第二步:用数组存储所有点的位置
  • 第三步:创建法球
  • 第四步:延时调用该方法

关键代码

 //1.法球生成
            AllIea[i] = Instantiate<GameObject>(profab, Allpoint[i].position, Quaternion.identity);
            //2.实现法球移动效果
            IeaMove mation = AllIea[i].GetComponent<IeaMove>();
            mation.Pball  = Allpoint[i + 4] ; 
//3.法球渲染层级设置
            {
   
                profab.GetComponent<SpriteRenderer>().sortingOrder = 3;
            }

在这里插入图片描述
GIF效果:
在这里插入图片描述
❤️源码:

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.PlayerLoop;
using UnityEngine.UIElements;

//----------------------
//--作用:mango的移动和法球的生成
//----------------------

public class Movetowords : MonoBehaviour
{
   
    private GameObject point, profab;
    private Animator mangoAni;
    private Transform[] Allpoint = new Transform[8];
    private GameObject[] AllIea = new GameObject[4];
    private float time = 5;

    void Start()
    {
   
        point = GameObject.Find("add");
        profab = Resources.Load<GameObject>(@"prefab1/iea");
        mangoAni = GetComponent<Animator>();
        for (int i = 0; i < Allpoint .Length ; i++)
        {
   
            Allpoint[i] = GameObject.Find("Allpoint").transform.GetChild(i);

        }
        Invoke("Creatball", 5);
    }
    private void Update()
    {
   
        //当位置到达后,动画转为吟唱动画
        if (gameObject.transform.position.x == point.transform.position.x)
        {
   
            mangoAni.CrossFade("LookUp", 0f); //
        }
    }
    void FixedUpdate()
    {
   
        time = Mathf.MoveTowards(time, 0, 0.1f);//倒计时,相当于起到一个延时调用的作用
        if (time == 0)
        {
   
            gameObject.transform.position = Vector2.MoveTowards(gameObject.transform.position, point.transform.position, 0.1f);
        }
    }

    private void Creatball()  //创建法球
    {
   
        for (int i = 0; i < AllIea.Length ; i++)
        {
   
           if(i == 3) //3.法球渲染层级设置
            {
   
                profab.GetComponent<SpriteRenderer>().sortingOrder = 3;
            }
           //1.法球生成
            AllIea[i] = Instantiate<GameObject>(profab, Allpoint[i].position, Quaternion.identity);
            //2.实现法球移动效果
            IeaMove mation = AllIea[i].GetComponent<IeaMove>();
            mation.Pball  = Allpoint[i + 4] ; 
         }
    }

}

💕法球上的脚本代码

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

//----------------------
//--作用:法球的定向移动
//----------------------

public class IeaMove : MonoBehaviour
{
   
    public Transform Pball;

    void FixedUpdate()
    {
   
        transform.position = Vector2 .MoveTowards(transform.position , Pball.position,0.01f );
    }
}

👨‍💻添加拖尾粒子特效


GIF效果:
在这里插入图片描述

  • 在法球中添加Trail Render组件
  • 参数更改为如图所示:
    在这里插入图片描述

每天一更,持续更新!


⭐相关文章⭐
-

【unity游戏制作-mango的冒险】-场景搭建

“狂飙”游戏制作---游戏分类图鉴(网易游学)

本站最全-unity常用API大全(万字详解),不信你不收藏


你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!

目录
相关文章
|
3月前
|
API 图形学
【2023unity游戏制作-mango的冒险】-前六章API,细节,BUG总结小结
【2023unity游戏制作-mango的冒险】-前六章API,细节,BUG总结小结
56 0
|
3月前
|
API 图形学
【2023unity游戏制作-mango的冒险】-1.场景搭建
【2023unity游戏制作-mango的冒险】-1.场景搭建
48 0
|
7月前
|
前端开发 定位技术 图形学
Unity3D制作塔防类游戏
Unity3D制作塔防类游戏
Unity3D制作塔防类游戏
|
存储 JSON 缓存
从零开发一款图片编辑器Mitu
我们知道,为了提高企业研发效能和对客户需求的快速响应,现在很多企业都在着手数字化转型,不仅仅是大厂(阿里,字节,腾讯,百度)在做低代码可视化这一块,很多中小企业也在做,拥有可视化低代码相关技术背景的程序员也越来受重视。
|
XML 存储 前端开发
想要制作沙盒游戏?那么这一款插件你一定不能错过(Unity3D)
今天给大家介绍一款简单而又强大的多人沙盒游戏开发插件VOXL。 VOXL是一款简单且易于理解的多重体素沙盒游戏,使用Unity的UNET网络系统开发。 由于服务器和客户端是一体的,所以我们不用再费心搭建服务器,会大大提高我们的开发效率。 VOXL目前只包含大约2500行干净、优雅和易于理解的源代码。
|
JSON 机器人 API
API制作婴儿级教程,有手就会
API制作婴儿级教程,有手就会
100 0
API制作婴儿级教程,有手就会
|
编解码 前端开发 定位技术
2048化学元素版?一文教你Unity零基础制作2048 !
玩游戏也能学习知识?还记得高中时的化学元素常见金属活动性属性表吗?一起来看看化学元素和游戏之间发生的碰撞吧~
307 0
2048化学元素版?一文教你Unity零基础制作2048 !
|
图形学
Unity制作出《超级马里奥》的2D和3D混合效果
现在来做点别的东西。Nintendo Switch上刚推出的《超级马里奥》中,有一些关卡混合了2D和3D的画面,这种效果十分让人印象深刻。如何在Unity中实现这个效果呢?正常情况下,摄像机会直接渲染到你的屏幕。
|
vr&ar 图形学 开发者
在Unity中使用UFPS创建第一人称射击游戏
UFPS,即 Ultimate FPS,是由Opsive(FPS) 开发的模板项目,这个项目对初级或中级开发者来说是必不可少的,因为它可以帮助您提高FPS游戏运行效率。它是Unity Asset Store中维护时间最长的资源之一, 在整个生命周期中,得到了来自开发者的诸多好评。
1451 0
相关产品
机器翻译
推荐文章
更多