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()是移动的主要方法,其实就是上面文字分析的代码实现罢了。

相关文章
|
XML 编解码 编译器
Unity跨平台UI解决方案:可能是最全的FairyGUI系列教程-第八天
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
1500 0
|
5月前
|
XML 前端开发 Java
Android App开发动画特效中遮罩动画的讲解及实战演示(附源码 简单易懂 可直接使用)
Android App开发动画特效中遮罩动画的讲解及实战演示(附源码 简单易懂 可直接使用)
64 0
|
9月前
|
数据可视化 C# 图形学
【unity造轮子】Unity ShaderGraph使用教程与各种特效案例
点关注不迷路,持续输出干货文章。 嗨,大家好,我是向宇。最近在玩ShaderGraph,决定把我自己实验的所有效果记录到这篇博客中,附带完整高清的连线动态图,希望对想要学习ShaderGraph的同学有所启发。后续有发现一些新的ShaderGraph我还会继续进行更新。
|
12月前
|
定位技术
从零开始手把手教你使用javascript+canvas开发一个塔防游戏05拖拽塔到地图上
从零开始手把手教你使用javascript+canvas开发一个塔防游戏05拖拽塔到地图上
108 0
|
图形学
egret连连看项目实战之四(异步加载进度条)
egret连连看项目实战之四(异步加载进度条)
egret连连看项目实战之四(异步加载进度条)
|
编解码 前端开发 C#
egret连连看项目实战之一(搭建场景)
egret连连看项目实战之一(搭建场景)
egret连连看项目实战之一(搭建场景)
|
C# 图形学
egret连连看项目实战之三(解析配置表)
egret连连看项目实战之三(解析配置表)
egret连连看项目实战之三(解析配置表)
|
定位技术
egret微信小游戏扫雷游戏开发基本思路
egret微信小游戏扫雷游戏开发基本思路
|
C# 图形学
Unity零基础到进阶 ✨ 使用 Vectrosity 插件 像德芙一样丝滑的画线
Vectrosity画线插件 ☀️ Unity画线插件Vectrosity 🔥 在使用Unity进行开发的过程中,我们在某些时候需要使用到划线功能,使用Unity中的几种划线方法自然可行,但是我们可以用一种更方便的方式来进行划线操作,那就是我们的主角:Vectrosity插件👍!
Unity零基础到进阶 ✨ 使用 Vectrosity 插件 像德芙一样丝滑的画线
|
C#
silverlight,WPF动画终极攻略之迟来的第三章 动画整合篇(Blend 4开发)
原文:silverlight,WPF动画终极攻略之迟来的第三章 动画整合篇(Blend 4开发) 有个问题想请教下大家,我仿了腾讯的SL版QQ,相似度95%以上。我想写成教程教大家怎么开发出来,会不会有版权什么问题的。
1067 0