unity3d-学习笔记10-卡牌游戏制作(实现点击卡片消失,并将后面的卡片填充的功能)

  • 实现点击卡片消失,并将后面的卡片填充的功能
  • 实现更换unity启动的图标

实现点击卡片消失,并将后面的卡片填充的功能

这里需要一点小逻辑,我没有看大佬们的,完全是自己手敲(膨胀了),花了一个下午的时间,只能勉强完成这个功能,还有很多写的时候就知道不严谨,还可以优化的地方有很多,时间关系还是先写上去了
上代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using DG.Tweening;
public class Desktop : MonoBehaviour
{// Start is called before the first frame updatepublic CanvasGroup all;public Transform MianTrasfrom;private float way;private GameObject go;public static List<string> des = new List<string>();private int index;void Start(){all.DOFade(0, 0);way = 1f;StartCoroutine(ShowScene());foreach (string text in StaticRes.texts){des.Add(text);}}// Update is called once per framevoid Update(){UpdateData();}IEnumerator ShowScene(){yield return new WaitForSeconds(1f);all.DOFade(1, 1);yield return new WaitForSeconds(1f);for (int i = 0; i <= 2; i++){go = (GameObject)Instantiate(Resources.Load("Events/Events"), MianTrasfrom.position, MianTrasfrom.rotation);go.transform.parent = MianTrasfrom;//设置实例化对象的父级go.transform.localScale = Vector3.one;//设置缩放比例1,1,1way += 4.5f;go.transform.Translate(new Vector3(MianTrasfrom.position.x + way, 0, 0));Image[] image = go.GetComponentsInChildren<Image>();int pic = i + 1;image[1].sprite = Resources.Load("Events/" + pic, typeof(Sprite)) as Sprite;Text text = go.GetComponentInChildren<Text>();text.DOText(des[i], 1);}way = 1f;}void UpdateData(){if (Clip.isUpdate && des.Count>=3){for (int i = 0;i<GameObject.Find("EventsController").transform.childCount;i++){Destroy(GameObject.Find("EventsController").transform.GetChild(i).gameObject);}for (int i = 0; i <= 2; i++){GameObject go = (GameObject)Instantiate(Resources.Load("Events/Events"), MianTrasfrom.position, MianTrasfrom.rotation);go.transform.parent = MianTrasfrom;//设置实例化对象的父级go.transform.localScale = Vector3.one;//设置缩放比例1,1,1way += 4.5f;go.transform.Translate(new Vector3(MianTrasfrom.position.x + way, 0, 0));Image[] image = go.GetComponentsInChildren<Image>();image[1].sprite = Resources.Load("Events/" +Clip.pics[i], typeof(Sprite)) as Sprite;Text text = go.GetComponentInChildren<Text>();text.DOText(des[i], 1);index++;}Clip.isUpdate = false;way = 1f;}if (Clip.isUpdate && des.Count == 2){for (int i = 0; i < GameObject.Find("EventsController").transform.childCount; i++){Destroy(GameObject.Find("EventsController").transform.GetChild(i).gameObject);}for (int i = 0; i <= 1; i++){GameObject go = (GameObject)Instantiate(Resources.Load("Events/Events"), MianTrasfrom.position, MianTrasfrom.rotation);go.transform.parent = MianTrasfrom;//设置实例化对象的父级go.transform.localScale = Vector3.one;//设置缩放比例1,1,1way += 7f;go.transform.Translate(new Vector3(MianTrasfrom.position.x + way, 0, 0));Image[] image = go.GetComponentsInChildren<Image>();image[1].sprite = Resources.Load("Events/" + Clip.pics[i], typeof(Sprite)) as Sprite;Text text = go.GetComponentInChildren<Text>();text.DOText(des[i], 1);index++;}Clip.isUpdate = false;way = 1f;}if (Clip.isUpdate && des.Count == 1){for (int i = 0; i < GameObject.Find("EventsController").transform.childCount; i++){Destroy(GameObject.Find("EventsController").transform.GetChild(i).gameObject);}GameObject go = (GameObject)Instantiate(Resources.Load("Events/Events"), MianTrasfrom.position, MianTrasfrom.rotation);go.transform.parent = MianTrasfrom;//设置实例化对象的父级go.transform.localScale = Vector3.one;//设置缩放比例1,1,1way += 10f;go.transform.Translate(new Vector3(MianTrasfrom.position.x + way, 0, 0));Image[] image = go.GetComponentsInChildren<Image>();image[1].sprite = Resources.Load("Events/" + Clip.pics[0], typeof(Sprite)) as Sprite;Text text = go.GetComponentInChildren<Text>();text.DOText(des[0], 1);index++;Clip.isUpdate = false;way = 1f;}}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using DG.Tweening;
public class Clip : MonoBehaviour
{// Start is called before the first frame updateprivate CanvasGroup one;private int index;public static bool isUpdate;public static List<int> pics = new List<int>();private string text;void Start(){isUpdate = false;pics.Add(1);pics.Add(2);pics.Add(3);pics.Add(4);pics.Add(5);pics.Add(6);pics.Add(7);pics.Add(8);pics.Add(9);pics.Add(10);pics.Add(11);pics.Add(12);pics.Add(13);pics.Add(14);pics.Add(15);}// Update is called once per framevoid Update(){}public void  SelectAndRemove(){one = GetComponent<CanvasGroup>();text = one.GetComponentInChildren<Text>().text;index = Desktop.des.IndexOf(text);StartCoroutine(Disappear());}IEnumerator Disappear(){one.DOFade(0, 1);yield return new WaitForSeconds(1f);Desktop.des.RemoveAt(index);Clip.pics.RemoveAt(index);isUpdate = true;if (text == "“你们上当了呢”"){SceneManager.LoadScene("FightScene");}}
}

实现更换unity启动的图标



这里一通乱点就可以了
匆匆结尾,还有打牌的逻辑没实现,加油!

unity3d-学习笔记10-卡牌游戏制作(实现点击卡片消失,并将后面的卡片填充的功能)相关推荐

  1. Unity3D 学习笔记4 —— UGUI+uLua游戏框架

    Unity3D 学习笔记4 -- UGUI+uLua游戏框架 使用到的资料下载地址以及基础知识 框架讲解 拓展热更过程 在这里我们使用的是uLua/cstolua技术空间所以提供的UGUI+uLua的 ...

  2. 本科课程【虚拟现实引擎Unity3D】实验4 - 卡牌游戏完善

    大家好,我是[1+1=王], 热爱java的计算机(人工智能)渣硕研究生在读. 如果你也对java.人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never ...

  3. unity3d学习笔记(九)--NGUI制作英雄和怪物的头像和血条

    本系列文章由Aimar_Johnny编写,欢迎转载,转载请标明出处,谢谢. http://blog.csdn.net/lzhq1982/article/details/12710797 上一篇讲了NG ...

  4. [Unity3D]卡牌游戏中有关卡牌类的制作

    文章目录 展示卡牌 卡牌展示效果 打出卡牌 敌人释放技能 需求 制作 流程 抽牌: 弃牌: 一些问题 抽牌 查看卡牌 查看抽牌堆 查看弃牌堆 卡牌效果的实现 还没学到设计模式,所以自己和同学捣鼓了一个 ...

  5. EUI卡牌游戏的制作全过程

    转载自:https://bbs.egret.com/forum.php?mod=viewthread&tid=50009&highlight=%E5%8D%A1%E7%89%8C 为了 ...

  6. 天池 在线编程 卡牌游戏(01背包)

    文章目录 1. 题目 2. 解题 1. 题目 你跟你的朋友在玩一个卡牌游戏,总共有 n 张牌. 每张牌的成本为 cost[i] 并且可以对对手造成 damage[i] 的伤害. 你总共有 totalM ...

  7. CCF201612-5 卡牌游戏(募集解题代码)

    试题编号: 201612-5 试题名称: 卡牌游戏 时间限制: 3.0s 内存限制: 256.0MB 问题描述: 问题描述 小Q和小M是游戏数值策划师,他们最近在测试自己新设计的卡牌对战游戏.游戏总共 ...

  8. 算法题 - 卡牌游戏问题 - Python

    问题描述: 卡牌游戏问题   小a和小b玩一个游戏,有 n张卡牌,每张上面有两个正整数 x, y.取一张牌时,个人积分增加 x,团队积分增加 y.求小a,小b各取若干张牌,使得他们的 个人积分相等,且 ...

  9. Unity3D 学习笔记3——了解U3D引擎的操作面板和各种工具

    Unity3D 学习笔记3--了解U3D引擎的操作面板和各种工具 在完成了Unity的安装破解之后,我们接下来要做的当前是启动这个引擎,然后学会如何去使用它为我们提供的各种工具,这也是上手任何一个软件 ...

最新文章

  1. 在Ubuntu 16.04.3 LTS上运行go+https+json示例
  2. jupyter notebook用法积累(快捷键)
  3. 支持快速精准纳米孔新型冠状病毒测序的ARTIC Network工作流
  4. SDNU 1474.特殊回文数(水题)
  5. Angular Injection Token records map的填充原理
  6. oracle rds 运维服务_从运维的角度分析使用阿里云数据库RDS的必要性–你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库...
  7. 腾讯获准在中国销售Switch游戏机 任天堂股价应声飙升逾14%
  8. python中ta_非常详细的Ta-Lib安装及使用教程
  9. 单引号、双引号、倒引号
  10. python 腾讯视频签到_腾讯视频V力值自动签到
  11. 晶振工作原理与元件选型
  12. 指针操作数组c语言,C语言入门教程-用指针操作数组
  13. WOFF2与icon字体化
  14. 手把手教你摆地摊之摆摊卖什么
  15. vue日历加法定假假日
  16. 浏览器兼容问题及解决方法
  17. 五一南京-无丝竹无案牍
  18. 基于5G网络的远程控制机器人应用及测试
  19. EXCEL中对1个单元格中多个数字求和
  20. 快速上手 Spring Boot 项目开发

热门文章

  1. this kernel requires an x86-64 CPU, but only detected an i686 CPU. unable to boot - please ues a ker
  2. APP界面引导页设计注意事项
  3. 深入理解计算机系统——知识总结(二)
  4. GD32 spi通信
  5. C语言——二分法求一元三次方程的方程根
  6. 10a大电流稳压芯片_24V大电流直流稳压电源400V10A线性直流可调电源-山东航能
  7. RecyclerView选中Item滚动到屏幕中间 / 指定位置
  8. (转载)delphi checklistbox用法
  9. 2023哈尔滨理工大学计算机考研信息汇总
  10. 交换友情链接看什么?