unity3d实现水果机(随机)跑马灯效果

本文介绍了使用Unity3D创建水果机的随机跑马灯效果,包括随机生成不同页面布局、随机放置图片、图片大小颜色变化、随机旋转时长以及分值结算。通过预制图片和脚本实现图片的放大、变色效果,以及投注和得分显示功能。文中还提到了未完善的功能,如背景音乐、禁止旋转中再次点击、充值界面和防止作弊机制等。
摘要由CSDN通过智能技术生成

unity3d实现水果机(随机)跑马灯效果
初次发文,多多谅解。美工没做,都是网上的图片。
思路!
一、随机产生不等页面布局【跑马灯】(目前可实现22个和18个…)
二、随机在跑马灯上产生不一样的图片【不同于现实中固定的大奖】
三、图片会逐步变大变小变色
四、随机产生跑马效果时长
五、结算分值。
图一
整体效果
图一
第一步解决生成图片
图二
注意每个grid的位置 做到上下左右对其的标准,因为生成的图片会用grid自动排序所以要摆放好位置才能起到连贯性。
图二添加ugui ,用grid的形式存储图片
导入需要变换的图片
图三

图四
图四、grid的参数设置
图四五
图五、制作预制图片(因为这个图片是生成的所以要预制)
**实现的效果:**运行脚本每个预制体增加脚本(运行时产生大、变色的效果)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class tu_jiaoben : MonoBehaviour {
Vector2 tu_daxiao;
// Use this for initialization
void Start () {
tu_daxiao = this.gameObject.transform.localScale;
}
public bool ji_huo=false;
public float TimeA;
float DTime = 0;
// Update is called once per frame
void Update () {

    if (ji_huo)
    {
        this.gameObject.transform.localScale = new Vector2(tu_daxiao.x * 1.2f, tu_daxiao.y * 1.2f);
        this.GetComponent<Image>().color = Color.red;
        DTime += Time.deltaTime;
        if (DTime > TimeA)
        {
            DTime = 0;
            this.gameObject.transform.localScale = tu_daxiao;
            this.GetComponent<Image>().color = Color.white;//赢得积分
            ji_huo = false;
        }
    }
}
public string wen_ben="";
/// <summary>
/// 变大的操作
/// </summary>
public void da()
{
    this.gameObject.transform.localScale = new Vector2(tu_daxiao.x * 1.2f, tu_daxiao.y * 1.2f);
    this.GetComponent<Image>().color = Color.red;
    wen_ben = this.GetComponentInChildren<Text>().text;
}

}
第二步、脚本生成页面布局
有了预制图片、页面布局Grid那么就要生成布局了
以下代码中包含生成布局、点击旋转(跑马)、投注、得分显示、总分显示、投注button、计算…我就不一一分开了 因为这是一个脚本。
实现的效果:
点击下方跑【投注按钮】、点击中间【水果转转】运行。
图片会变大、变色、恢复,进行到下一个图片…然后依次,直到停止旋转。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
///
/// 转盘
///
public class ZhuanPan : MonoBehaviour {
///
/// 脚本单例模式
///
public static ZhuanPan _insert;
///
/// 用于保存 图片的大小
///
Vector2 tu_daxiao;
///
/// 存储 4个模块
///
public GridLayoutGroup []Grid;
///
/// 预制体(图片)
///
public Image Tu;

void Start () {
    _insert = this;
    PanDuan();
}
void Update () {
}
/// <summary>
/// 总共是四组
/// </summary>
int diji_zu=0;
/// <summary>
/// 随机产生滚动的的时间长短
/// </s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值