zoukankan      html  css  js  c++  java
  • Unity3D_(游戏)卡牌01_启动屏界面

     

    卡牌2D游戏展示

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

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

      

    规则

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

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

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

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

    启动屏
        主菜单界面选择主题,不同主题对应不同图片素材。点击后进入选关界面
    选关界面
        鼠标进入某个具体关卡按钮上,底下对应显示这个关卡的描述信息
        当关卡很多时,通过滑动屏幕,来切换多页显示
    游戏界面
        随机生成偶数对图片。两两配对
        全部配对成功,游戏结束
    核心算法:先后翻开两张卡牌,判断两个卡牌id相同即可
        时间计时。剩余时间越多在关卡中标识星星越多(0-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 = 0;
            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>5||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 = 0;
            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>5||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>5||Input.anyKeyDown)
            {
                GoToMainMenu();
            }
    
            void GoToMainMenu()
            {
                SceneManager.LoadScene("MainMenu");
            }
    (如需转载学习,请标明出处)
  • 相关阅读:
    Unity3D Shader入门指南(二)
    Unity3D Shader入门指南(一)
    NGUI 减少drawcall规则
    linux系统date命令详解
    使用Installutil安装系统服务方法
    各大视频网站广告屏蔽代码
    C#--无边框窗体实现拖动、最大化、最小化、关闭(转)
    C# 如何在winform窗体自定义一个扁平化控件(转)
    C# winform 界面美化技巧(扁平化设计) (转)
    VC6插件安装--Unable to register this add-in because its DllRegisterServer returns an error (转)
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9499397.html
Copyright © 2011-2022 走看看