egret连连看项目实战之二(礼盒动画)

简介: egret连连看项目实战之二(礼盒动画)
推荐阅读:

       距离上一次更新实战项目之连连看,已经过去近一周了,不要问我这一周经历了什么,做项目容易,不会就问大佬,百度总能解决的。但是,写文章这种事,真的太累了,不仅要考虑些什么,还要考虑怎么写,怎么才能看似通俗易懂但又不缺乏内涵。俗话说做项目一小时,讲解五小时,只有经历过才懂。

       最近忙自己项目真的是累惨了,都没有时间和朋友们撕逼了。今天终于解放了一下自己,继续来与大家分享干货,话不多说,就开干。

       在游戏中,礼盒非常重要,它直接决定了你的收益。但是它的动画和美术也直接决定了你是否回去点击,今天给大家分享礼盒来回移动动画制作。

       在Unity中,动画的制作用NGUI是相当方便的,由于我们项目使用的是UGUI,我们只能代码实现了,在scene场景中,拖动礼盒位置,找到它的至高点和最低点,并记录这两点的位置信息,这两个位置之间的空间是礼盒移动的空间(由于游戏是2D的,因此只会影响Y轴的坐标),如下图是至高点位置信息,y=900:

在这里插入图片描述

如下图是最低点位置信息,y=-450:
在这里插入图片描述
       首先我们来分析一下运动过程,在从上往下的过程中,当到底最低点时,应该改变移动方向,即从下往上移;在从下往上的过程中,当到底至高点时,应该改变移动方向,即从上往下移;如此反复。

       从上面的分析中我们发现,需要一个控制方向的布尔值,需要一个移动的速度,来控制移动的快慢,了解这些之后,我们就可以开始码代码了。

打开StartManager脚本,写下如下代码:

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

public class StartManager : MonoBehaviour {

    public GameObject gift;
    public float giftSpeed=10;
    private bool isMoveButton = true;

    // Use this for initialization
    void Start () {

    }
    
    // Update is called once per frame
    void Update () {
        GiftMove();
    }
    private void GiftMove()
    {
        if (gift.transform.position.y <= -450 && isMoveButton)
        {
            isMoveButton = false;
        }
        else if (gift.transform.position.y >900 && !isMoveButton)
        {
            isMoveButton = true;
        }
        else
        {
            gift.transform.position += (isMoveButton ? Vector3.down : Vector3.up) * Time.deltaTime * giftSpeed;
        }

    }
    public void StartGame()
    {
        SceneManager.LoadScene(1);
    }

}

       我们使用变量isMoveButton来控制它是否能往下移动,使用比那辆giftSpeed来控制移动速度,定义为public,时方便在引擎中修改,以调节速度。函数GiftMove()是移动的主要方法,其实就是上面文字分析的代码实现罢了。

相关文章
|
JSON 测试技术 数据格式
5 JMeter断言-Jmeter响应中出现乱码时
5 JMeter断言-Jmeter响应中出现乱码时
290 0
|
缓存 负载均衡 网络协议
|
消息中间件 算法 Java
2023金九银十Java高级工程师面试 1000 题+答案(全)
前言 春节过后招聘旺季就到了,不知道大家是否准备好了,面对金三银四的招聘旺季,如果没有精心准备那笔者认为那是对自己不负责任;就我们 Java 程序员来说,多数的公司总体上面试都是以自我介绍+项目介绍+项目细节/难点提问+基础知识点考核+算法题这个流程下来的。 有些公司可能还会问几个实际的场景类的问题,这个环节阿里是必问的,这种问题通常是没有正确答案的,就看个人的理解,个人的积累了。剩下的就没啥了,都是换汤不换药,聊项目就看你自己对你自己的项目是否理解的透彻,比如经常问你你为什么选择这个技术,为什么这么处理之类的,常考的基础的知识点就那么多,最后算法就是靠刷题。 今天为大家分享的就是当前
|
Shell 网络安全 数据安全/隐私保护
|
存储 自然语言处理 搜索推荐
分布式搜索引擎ElasticSearch
Elasticsearch是一款强大的开源搜索引擎,用于快速搜索和数据分析。它在GitHub、电商搜索、百度搜索等场景中广泛应用。Elasticsearch是ELK(Elasticsearch、Logstash、Kibana)技术栈的核心,用于存储、搜索和分析数据。它基于Apache Lucene构建,提供分布式搜索能力。相比其他搜索引擎,如Solr,Elasticsearch更受欢迎。倒排索引是其高效搜索的关键,通过将词条与文档ID关联,实现快速模糊搜索,避免全表扫描。
714 87
|
数据采集
多线程在编程中的重要性有什么?并以LabVIEW为例进行说明
多线程在编程中的重要性有什么?并以LabVIEW为例进行说明
213 4
|
TensorFlow 算法框架/工具 C++
在有GPU的windows上安装TensorFlow
在有GPU的windows上安装TensorFlow
509 0
|
JavaScript
Vue Steps步骤组件用法
Vue Steps步骤组件用法
401 0
|
监控 数据可视化 安全
智慧工地源码:数字孪生智慧工地可视化解决方案
智慧工地源码:数字孪生智慧工地可视化解决方案
357 0