Unity非常简单的翻牌游戏教程,纯UI实现

首先在场景中创建Canvas,加几个Button
在这里插入图片描述

为了排版方便,用了GridLayout在这里插入图片描述
每个Button的结构是这样的,你要为Button里面加四个Image,我这样弄是为了省事,少写脚本

这四个Image的名字也不能改,因为我后续是按照Image的名字进行检索的,也是为了省事……

在这里插入图片描述
在Fade上记得加个Button组件
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
简单说下这四个图片的作用:首先这是个翻牌游戏,游戏规则就是当玩家翻到两张一样的牌时计数板加一,计数到6个时游戏完成并加一分。这里面的Icon是放牌面的,就是让玩家知道这两张牌是一样的还是不一样的,起提示作用。Fade是牌背,玩家刚开始看到的就是12张牌背,点击牌背,牌背隐藏,出现牌面。True和False也起提示作用,当两张牌一样时,显示绿色的True,说明玩家选对了,不一样就显示红色的False。
然后你需要调整一下这四张Image的状态。
在这里插入图片描述
完事了把它复制12张,当然你也可以复制很多,保证是偶数就行了。

在这里插入图片描述
新建脚本CardGame,挂到Canvas或随便一个地方
在这里插入图片描述

新建三个Text,一个用于显示倒计时,一个用于显示计数,一个用于显示得分
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
新建一个Button,用于开始游戏
在这里插入图片描述
在网上找几张卡面,拖到Unity里(如果是3D项目,注意转换下格式),为了省事,我没新建文件夹,大家做游戏一定要注意项目的整洁哦
在这里插入图片描述

然后开始写CardGame脚本了
脚本的思路都在注释了,也没啥好说的,写好后在外面把找的图片赋给Sprite数组,按这一套下来应该就可以运行了,点击开始游戏即可开始翻牌
(之前的脚本忘记把引用加上,其实用vs自动纠错都可以解决的,现在的脚本已经不会报错了。)
(还有像我这种一个脚本写完翻牌游戏的,以后做项目或者做游戏尽量不要这样,这样写起来是省事,但是不利于项目维护。就这个游戏来说,起码应该写三个脚本,一个卡牌Model类,一个游戏控制类,一个UI显示类。)
在这里插入图片描述

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class CardGame : MonoBehaviour
{
   
    /// <summary>
    /// 最大时间,超过该时间游戏失败
    /// </summary>
    public float maxTime=15;
    /// <summary>
    /// 用于计时
    /// </summary>
    private float m_time;
    /// <summary>
    /// 当前翻对了多少组牌
    /// </summary>
    private int Count;
    /// <summary>
    /// 需要翻对多少组牌才能胜利,简单来说就是所有牌数量除2
    /// </summary>
    private int maxCount;
    /// <summary>
    /// 得分
    /// </summary>
    private int Score;

    /// <summary>
    /// 储存牌面图片,注意你用了多少组牌,就得赋多少个牌面,比如教程里用了12个牌,就需要赋值6个Sprite
    /// </summary>
    public List<Sprite> sprites = new List<Sprite>();
    /// <summary>
    /// 储存所有牌的列表,
    /// </summary>
    private List<Transform> cardList = new List<Transform>();
    /// <summary>
    /// 用于初始化牌列表
    /// </summary>
    public Transform cardTrans;
    /// <summary>
    /// 编号列表,用于给每张卡进行编号
    /// </summary>
    private List<int> indexList = new List<int>();
    /// <summary>
    /// 是否开始游戏
    
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值