卡牌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. Django发送邮件和itsdangerous模块的配合使用

    项目需求:用户注册页面注册之后,系统会发送一封邮件到用户邮箱,用户点击链接以激活账户,其中链接中的用户信息需要加密处理一下 其中激活自己邮箱的smtp服务的操作就不在加以说明,菜鸟教程上有非常清晰的讲 ...

  2. Spring 自定义注解,结合AOP,配置简单日志注解 (转)

    java在jdk1.5中引入了注解,spring框架也正好把java注解发挥得淋漓尽致. 下面会讲解Spring中自定义注解的简单流程,其中会涉及到spring框架中的AOP(面向切面编程)相关概念. ...

  3. Souvenirs CodeForces - 765F (好题)

    大意: 给定序列$a$, $m$个询问$[l,r]$, 回答$[l,r]$内最接近的两个数的差. 考虑离线, 枚举右端点, 每个点维护左端点的贡献, 对于新添一个点$a_r$, 只考虑左侧点比$a_r ...

  4. 02Spring基于xml的IOC配置--实例化Bean的三种方式

    maven依赖 <dependencies> <!--IOC相关依赖--> <dependency> <groupId>org.springframew ...

  5. Yii2 常用代码集合

    Yii2.0 对数据库查询的一些简单的操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

  6. 08 Python爬虫之selenium

    ---恢复内容开始--- 一. 先介绍图片懒加载技术 当获取一个网站的图片数据时,只能爬取到图片的名称,并不能获得链接,而且也不能获得xpath表达式.这是应用了图片懒加载技术. - 图片懒加载技术的 ...

  7. jenkins操作TreeView,展开合并

    双击treeview 双击选中的部分,使treeview展开合并 Opt() #include <GUIConstantsEx.au3> #include <GuiTreeView. ...

  8. Docker 环境下部署 redash

    环境: centos7 官网:https://redash.io/help/open-source/dev-guide/docker 一.安装步骤 1.虚拟机安装 安装vmware,并安装centos ...

  9. Java读取利用java.util类Properties读取resource下的properties属性文件

    说明:upload.properties属性文件在resources下 import java.io.IOException;import java.io.InputStream;import jav ...

  10. docker删除虚悬镜像(临时镜像文件)

    在我们构建镜像的过程中,常常需要使用build命令根据Dockerfile进行构建镜像,并且会build很多次,镜像名字也是相同的,那么就会出来下面这种情况