Unity——金币飞行效果

这篇具有很好参考价值的文章主要介绍了Unity——金币飞行效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用的工具:dotween

效果展示:

金币飞行

1.游戏对象

 unity金币飞行,unity,unity

 CoinParent是起点,TargetPos是目标终点,金币从CoinParent炸开并飞向终点。

2.具体内容 

unity金币飞行,unity,unity 

 unity金币飞行,unity,unity

3.具体代码

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class FlyControl : MonoBehaviour
{
    private Vector3 endpos;
    private Vector3 startpos;

    private Vector3 vec1;
    private Vector3 vec2;

    public GameObject coin;

    //第一段位移
    public void FlyCoinOne()
    {
        startpos = transform.position;
        float random_x, random_y;
        random_x = Random.Range(-200, 250);
        random_y = Random.Range(50, 250);
        vec1 = startpos + new Vector3(random_x, random_y, 0);

        coin.transform.DOMove(vec1, 0.3f).SetTarget(this);
    }
    //第二段位移
    public void FlyCoinTwo(Transform targetPos)
    {
        endpos = targetPos.position;
        vec2 = endpos;
        coin.transform.DOMove(vec2, 0.6f).SetTarget(this);
        float timer1 = 0;
        Tween t1 = DOTween.To(() => timer1, x => timer1 = x, 1, 0.3f)
                      .OnStepComplete(() =>
                      {
                          this.gameObject.GetComponent<Image>().DOFade(0, 0.3f).SetTarget(this);
                      });
        float timer = 0;
        Tween t = DOTween.To(() => timer, x => timer = x, 1, 0.61f)
                      .OnStepComplete(() =>
                      {
                          Destroy(this.gameObject);
                      });
    }
}

 文章来源地址https://www.toymoban.com/news/detail-745708.html

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Accessibility;
using UnityEngine.UI;

public class CoinEffect : MonoBehaviour
{
    [Header("金币预制体")]
    public GameObject Coin;
    [Header("金币数量")]
    public int num;
    [Header("最终目的地")]
    public Transform targetPos;
    [Header("金币飞行速度")]
    public float time = 1;
    private int childnum = 0;

    private List<FlyControl> ts = new List<FlyControl>();

    public void StartEffect()
    {
        for (int i = 0; i < num; i++)
        {
            GameObject go = Instantiate(Coin, Vector3.zero, Quaternion.identity) as GameObject;
            go.transform.SetParent(transform);
            go.transform.localPosition = new Vector3(0, 0, 0);
            FlyControl cc = go.GetComponent<FlyControl>();
            if (cc != null)
            {
                ts.Add(cc);
            }
            ts[i].FlyCoinOne();
        }
    }
    IEnumerator StartEffect1()
    {
        yield return new WaitForSeconds(0.6f);
        for (int i = 0; i <= ts.Count; i++)
        {
            this.DOKill();
            yield return new WaitForSeconds(0.1f);
            var rm = Random.Range(0, ts.Count);
            yield return new WaitForSeconds(0.01f);
            ts[rm].FlyCoinTwo(targetPos);
            ts.Remove(ts[rm]);
            Debug.Log(rm);
            i = 0;
        }
    }
    /// <summary>
    /// 金币飞行效果,在Update里面调用
    /// </summary>
    public void CoinEffectShow()
    {
        //第一次飞行
        StartEffect();
        //第二次飞行
        StartCoroutine(StartEffect1());
    }
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.R))
        {
            CoinEffectShow();
        }
    }
}

到了这里,关于Unity——金币飞行效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity】简单案例脚本实现 | 鼠标观察/键盘控制移动飞行/行走/碰撞检测

    《Unity5实战-使用C#和Unity开发多平台游戏》第二章-构建一个让你置身3D空间的演示 鼠标观察/键盘控制移动飞行/行走/碰撞检测 Unity版本:2019.4.23f1c1 注意脚本名称和组件添加,不在文章中一一强调 场景模型都是在资源商店选择的免费下载(选择Sort by Price(Low to High)排序)搜索

    2024年02月04日
    浏览(55)
  • 【Unity项目】Unity实现 双屏显示效果

        需求:两个屏显示项目,一个屏显示列表,一个屏显示列表按钮点击后的效果。 最近在修改一个项目,是要求分屏显示项目,一个一体机,一个大屏,一体机当作目录界面,大屏当作模型显示界面,如下图: 列表界面:  展示界面:    这次是拿之前的项目修改的,所

    2024年02月13日
    浏览(48)
  • unity组件LineRenderer Unity LineRenderer 实现闪电效果

    这是一个好玩的组件 主要作用划线,像水果忍者中的刀光,还有一些涂鸦的小游戏,包括让鼠标划线然后让对象进行跟踪导航也可通过此插件完成 附注:unity版本建议使用稳定一些的版本,有些api可能已经发生变化,请参考unity官方文档 此组件: 线渲染器用于在 3D 空间中绘

    2024年02月03日
    浏览(46)
  • 【unity学习笔记】捏人+眨眼效果+口型效果

    一、vriod捏人 1.在vroidstudio软件中捏人 2.导出模型(.vrm) 二、vrid导入unity的插件 1.在Git上搜索、打开univrm。 2.找到release页面找到合适的插件版本。(VRM-0.116.0_0f6c) 3.将univrm导入到工程中(assets)。 三、导入小人 1.在assets中新建文件夹arts,拖入小人。 2.将小人转化为unity可识别

    2024年01月18日
    浏览(53)
  • 【Unity Shader】Unity中利用GrabPass实现玻璃效果

    《入门精要》中模拟玻璃是用了Unity里的一个特殊的Pass来实现的,这个Pass就是 GrabPass ,比起上一篇博客实现镜子的方法,这个方法我认为相对复杂,因此在实现之前需要对GrabPass及实现原理做一个更加详细的介绍。 场景物体拜访和贴图完全参考《入门精要》: 以及当前场景

    2024年02月09日
    浏览(50)
  • unity实现子弹散射效果和闪电链效果

    实现爆炸散射效果可以按照以下步骤进行: 1.准备子弹模型和爆炸特效模型,可以使用粒子特效或者模型。 2.创建子弹和敌人模型,同时添加刚体组件。 3.创建子弹的脚本,绑定到子弹上。 4.在脚本中,对子弹的 OnTriggerEnter 或 OnCollisionEnter 函数做出响应,检测敌人碰撞事件发

    2024年02月16日
    浏览(38)
  • Unity 实现贴花/投影效果

    【核心思路】 实现投影效果有以下几种思路: 一是对处理渲染到相机的最终画面,将想投影的贴图修改上去。 二是对被投影的物体的Shader加上,开启的时候用想投影的贴图。 三是在一个物体上渲染想投影的贴图,让这个物体最后绘制,且只绘制那些被遮挡的部

    2024年02月12日
    浏览(44)
  • Unity 2021 凹陷效果设置

     首先来到Terrain地形的第二个小图标,然后有个如图的下拉列表,选择Set Height,  

    2024年02月15日
    浏览(49)
  • Unity头发飘动效果

    Unity中头发飘动其实有很多种方式,如果是想做的生动一点那么还是需要用到模拟物理这种方式,如果不要求的生动那其实可以在做动作的时候就把头发给做上飘动。这里不光可以做头发飘动部位的晃动,裙子的布料也是可以用这个插件来实现的。 优点 :是程序不需要写逻辑

    2024年02月20日
    浏览(30)
  • Unity云图渲染效果

    根据有限元分析后处理结果(应力等),将云图效果在Unity中复现同样的效果 从有限元分析软件(Abaqus、Ansys等)将模型结点数据进行导出 Step1 通过C#根据结点(相当于模型顶点)数据大小将数据转化由红到蓝颜色区间的颜色(采用HSV色彩模型以便于获取纯色彩),获得一个

    2024年02月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包