卡牌2D游戏展示

  (游戏代码放到  卡牌04_游戏界面  文章最后面~)

  游戏项目已托管到github上(里面有个32bit可执行文件)  传送门

  

规则

  开始游戏每张卡牌初始翻开展示 展示几秒后卡牌扣下。

    点击第一个卡牌,翻开、记录。 点击第二个卡牌, 如果不匹配,等待1秒后两个都重置为扣下 如果匹配,则变暗,禁止再次点击 所有卡牌成功配对

  右上角显示时钟倒计时 时间结束,游戏失败

  不同主题关卡不同,远不止15关~

启动屏
主菜单界面选择主题,不同主题对应不同图片素材。点击后进入选关界面
选关界面
鼠标进入某个具体关卡按钮上,底下对应显示这个关卡的描述信息
当关卡很多时,通过滑动屏幕,来切换多页显示
游戏界面
随机生成偶数对图片。两两配对
全部配对成功,游戏结束
核心算法:先后翻开两张卡牌,判断两个卡牌id相同即可
时间计时。剩余时间越多在关卡中标识星星越多(-3个)
数据结构设计
每个关卡在指定图片素材中随机、在全体图片素材中随机
记录的保存
记录最高的关卡编号。只有通过当前关卡才解锁下一关卡
每关根据完成比赛时间长短,显示不同的星级。

游戏整体分析

  卡牌01_启动屏界面  传送门

  卡牌02_主菜单界面  传送门

  卡牌03_选关界面   传送门

  卡牌04_游戏界面     传送门

启动屏界面

  5s后start场景跳转到MainMenu场景

(0.5s闪烁一次!)

  点击start场景(按任意键),从start场景跳转到MainMenu场景

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement; public class Scene_Start : MonoBehaviour { float _timer;
GameObject anyKeyObj; // Use this for initialization
void Start () {
_timer = ;
anyKeyObj = GameObject.Find("anykeyTxt");
} // Update is called once per frame
void Update () { _timer += Time.deltaTime; if (_timer % 0.5f > 0.25f)
{
anyKeyObj.SetActive(true);
}
else
{
anyKeyObj.SetActive(false);
} if (_timer>||Input.anyKeyDown)
{
GoToMainMenu();
}
} void GoToMainMenu()
{
SceneManager.LoadScene("MainMenu");
}
}

Scene_Start.cs

实现过程

  创建四个场景,并保存到工程项目中

  创建游戏屏幕分辨率

   Canvas的分辨率及多屏幕适配 

  添加background(Image)、logo(Image)、name(text)、anykeyTxt(txt)

  创建一个空对象,挂载脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement; public class Scene_Start : MonoBehaviour { float _timer;
GameObject anyKeyObj; // Use this for initialization
void Start () {
_timer = ;
anyKeyObj = GameObject.Find("anykeyTxt");
} // Update is called once per frame
void Update () { _timer += Time.deltaTime; if (_timer % 0.5f > 0.25f)
{
anyKeyObj.SetActive(true);
}
else
{
anyKeyObj.SetActive(false);
} if (_timer>||Input.anyKeyDown)
{
//任意键按下,则直接跳转主菜单场景
GoToMainMenu();
}
} void GoToMainMenu()
{
SceneManager.LoadScene("MainMenu");
}
}

Scene_Start.cs

  anykeyTxt文字闪烁效果

 

  文字状态可见

anyKeyObj.SetActive(true);

  

  文字状态不可见

 anyKeyObj.SetActive(false);

  添加文字闪烁

        if (_timer % 0.5f > 0.25f)
{
anyKeyObj.SetActive(true);
}
else
{
anyKeyObj.SetActive(false);
}

  5s钟后或任意键按下,则直接跳转到MainMenu场景

        if (_timer>||Input.anyKeyDown)
{
GoToMainMenu();
} void GoToMainMenu()
{
SceneManager.LoadScene("MainMenu");
}

Unity3D_(游戏)卡牌01_启动屏界面的更多相关文章

  1. Unity3D_(游戏)卡牌03_选关界面

      启动屏界面.主菜单界面.选关界面.游戏界面 卡牌01_启动屏界面 传送门 卡牌02_主菜单界面 传送门 卡牌03_选关界面 传送门 卡牌04_游戏界面    传送门 选关界面效果 (鼠标放在不同关 ...

  2. Unity3D_(游戏)卡牌02_主菜单界面

      启动屏界面.主菜单界面.选关界面.游戏界面 卡牌01_启动屏界面 传送门 卡牌02_主菜单界面 传送门 卡牌03_选关界面 传送门 卡牌04_游戏界面    传送门 主菜单界面 (选择左边图标或选 ...

  3. Unity3D_(游戏)卡牌04_游戏界面

        启动屏界面.主菜单界面.选关界面.游戏界面 卡牌01_启动屏界面 传送门 卡牌02_主菜单界面 传送门 卡牌03_选关界面 传送门 卡牌04_游戏界面    传送门 选关界面效果 (源代码在文 ...

  4. 升级IOS9,提示滑动升级,卡在password锁屏界面,无反应了

    注:升级之前一定要把锁屏password取消掉 若遇上述问题.可通过进入DFU 模式解决 进入DFU具体步骤.(进入成功后,屏幕为全黑) 注:在进入DFU操作时务必与电脑连接好数据线. 1.按住pow ...

  5. cocos2d-x 3.3 之卡牌设计 NO.4 定时器的使用(清理内存)

    我的卡牌游戏卡牌有两个类.各自是OpenCard和CardSprite. 不知道分成两个是不是有些奇怪.我分开的原因是:一个卡牌用来当手牌,一个用来当场上的牌,这样说是不是更加奇怪了.. 玩家类里定义 ...

  6. 使用UIKit制作卡牌游戏(三)ios游戏篇

    译者: Lao Jiang | 原文作者: Matthijs Hollemans写于2012/07/13 转自朋友Tommy 的翻译,自己只翻译了这第三篇教程. 原文地址: http://www.ra ...

  7. 华为联运游戏审核驳回:在未安装或需更新HMS Core的手机上,提示安装,点击取消后,游戏卡屏(集成的6.1.0.301版本游戏SDK)

    问题描述 更新游戏SDK到6.1.0.301版本之后,游戏包被审核驳回:在未安装或需更新华为移动服务版本(HMS Core)的手机上,提示安装华为移动服务(HMS Core),点击取消,游戏卡屏.修改 ...

  8. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  9. TCG卡牌游戏研究:《炉石战记:魔兽英雄传》所做的改变

    转自:http://www.gameres.com/665306.html TCG演进史 说到卡牌游戏,大家会联想到什么呢? 是历史悠久的扑克牌.风靡全球的<MTG 魔法风云会>与< ...

随机推荐

  1. mongodb 添加用户

    use admindb.createUser({ user:"admin", pwd:"abc123456", roles:[{role:"root& ...

  2. Ruby学习中(条件判断, 循环, 异常处理)

    一. 条件判断 详情参看:https://www.runoob.com/ruby/ruby-decision.html 1.详情实例(看看就中了) #---------------# # LOL场均人 ...

  3. docker-文件系统出错处理

    Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2 2018年03月17日 22: ...

  4. springboot页面模板thymeleaf的简单用法

    thymeleaf基础语法: 变量输出与字符串操作: ​ th:text 表示在页面输出值 ​ th:value 表示将一个值放入input标签的value中 判断字符串是否为空: ​ thymele ...

  5. Hadoop大数据平台入门——HDFS和MapReduce

    随着硬件水平的不断提高,需要处理数据的大小也越来越大.大家都知道,现在大数据有多火爆,都认为21世纪是大数据的世纪.当然我也想打上时代的便车.所以今天来学习一下大数据存储和处理. 随着数据的不断变大, ...

  6. Spring 注入所得

    Spring在注入的时候 @Autowired @Qualifier(value = "inpatientInfoInInterService") private Inpatien ...

  7. Win7下配置IIS服务器以及网站发布

    本文摘至于:http://heavengate.blog.163.com/blog/static/202381053201391111512986/ 1.vsual Studio 2010下利用本地I ...

  8. Java-日期格式转换

    1.日期-String类型转Date类型 // String转Date str = "2007-1-18"; DateFormat format1 = new SimpleDate ...

  9. Linux中环境变量文件profile、bashrc、bash_profile之间的区别和联系

    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置. 英文描述为: # /etc/pr ...

  10. 码流回调过快导致下方处理不及时socket阻塞问题

    在一个情形中遇到下面一个情况 简述下该图片,对sdk进行二次开发,通过第三方sdk接口获取码流信息.具体实现方式是通过回调函数CallBack_SDK来不停的回调第三方服务的视频流.起初实现逻辑如下: ...