unity3d-学习笔记19-卡牌游戏制作

  • 战斗胜利界面
    • 思路
    • 代码
  • 实现点击菜单栏出现其他选项以及对应功能
    • 思路
    • 代码
  • 实现返回主界面按键功能
    • 思路
    • 代码
  • 实现能量卡消耗
    • 思路
    • 代码

战斗胜利界面

思路

在桌面类update方法里不断判断,获取boss的血量,当≤0时,播放boss被打死消失的动画,以及出现战斗胜利的界面(没有美工所以直接用一个图来代替了)

代码

获取血量并进行判断

int bossLife = int.Parse(GameObject.Find("lifeNumber").GetComponent<Text>().text);BossLifeCheck();if (bossLife<=0){StartCoroutine(bossDead());}
切换boss动画以及出现胜利动画
IEnumerator bossDead(){BossInf.BossDeadAnimation();yield return new WaitForSeconds(3f);GameObject.Find("boss").GetComponent<Image>().DOFade(0, 1f);yield return new WaitForSeconds(1f);winImg.SetActive(true);winImg.transform.DOScaleX(20, 1f);winImg.transform.DOScaleY(12, 1f);winImg.GetComponent<Image>().DOFade(1, 1f);}

实现点击菜单栏出现其他选项以及对应功能

思路

给菜单栏添加两个button组件(我这里是一个返回主界面,一个备用),将他们一开始设置为false。在菜单栏中加载脚本,脚本里添加一个计数器,用来判断是第几次点击(奇数则将一开始设置为false的button组件激活;为偶数则将其再设置为false)

代码

 public CanvasGroup all;public static int showMenuNUm;private GameObject menuParent;private GameObject back;private GameObject menuElse;private void Start(){showMenuNUm = 0;menuParent = GameObject.Find("Menu");back = menuParent.transform.GetChild(1).gameObject;menuElse = menuParent.transform.GetChild(2).gameObject;all = GameObject.Find("Canvas").GetComponent<CanvasGroup>();}public void ShowMenu(){if (showMenuNUm%2==0){back.SetActive(true);menuElse.SetActive(true);}if(showMenuNUm % 2 == 1){back.SetActive(false);menuElse.SetActive(false);}showMenuNUm++;}

实现返回主界面按键功能

思路

创建点击事件,点击之后切换scene到主界面即可

代码

 public void BTGS(){StartCoroutine(WaitToChange());}IEnumerator WaitToChange(){all.DOFade(0, 0.5f);yield return new WaitForSeconds(0.5f);SceneManager.LoadScene("GameStart_0");}

优化战斗胜利的功能
当boss血量小于0时,将下一回合的isnextround设置为false,这样当点击下一回合的时候就不会有牌再打出来了

实现能量卡消耗

思路

在打出卡,桌面类判定卡类型的方法里,添加一个对卡是否需要消耗蓝卡的判断,如果是,则对应的扣除能量,不是则不扣除

代码


先判断是否需要消耗魔力if (int.Parse(cardCost) > 0 && int.Parse(GameObject.Find("energy_characterNumber").GetComponent<Text>().text) > int.Parse(cardCost)){CharacterEnergyCheck(int.Parse(cardCost));}
private void CharacterEnergyCheck(int energyCost){//获取当前能量值,然后减去打出的卡的值,再显示出来int energyNumPass = int.Parse(GameObject.Find("energy_characterNumber").GetComponent<Text>().text);characterInf.GetChild(3).GetChild(1).GetComponent<Text>().text = (energyNumPass - energyCost) + "";characterInf.GetChild(3).GetChild(0).GetComponent<Image>().DOFillAmount((energyNumPass - energyCost)*0.01f,0.3f);}

注意:还需要在桌面类里定义一个静态变量用来储存打出的卡所需消耗的值

添加战斗结束的判定和界面——————完成
把战斗的界面统一到所有需要战斗的事件里
添加除战斗界面的其他事件界面
boss简单的攻击模式(也要能打出卡的)
ui,原画等精细优化
画面一侧要有出牌的记录
人物的buff图标
能量卡的消耗需要可视化———————完成

unity3d-学习笔记19-卡牌游戏制作(战斗胜利界面,点击菜单栏出现其他选项以及对应功能,实现能量卡消耗蓝条)相关推荐

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

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

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

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

  3. 卡牌游戏战斗系统的设计和实现一

    本文转载供自己学习查阅 卡牌游戏战斗系统的设计和实现一 http://www.lxway.com/4418844882.htm 战斗系统是是卡牌类游戏的一个核心模块,可以说其他的模块都是为此提供服务, ...

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

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

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

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

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

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

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

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

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

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

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

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

  10. 计算机卡牌培养游戏,浅谈冒险游戏、卡牌游戏、养成游戏的几个设计要点

    badland-1.jpg (71.19 KB, 下载次数: 16) 2016-1-26 11:56 上传 这几种游戏设计好玩的关键点是: 1.收集:游戏中设计1个主要收集项目,如卡牌本身就是一个很好 ...

最新文章

  1. 【转载】iOS堆和栈的理解
  2. NeurIPS审稿引发吐槽大会,落选者把荒唐意见怼了个遍:“我谢谢你们了”
  3. linux ssh命令 带密码,[命令] Linux 命令 sshpass(密码非交互式 ssh)(转载)
  4. 哪些情况下索引会失效?
  5. python3.8.2中文手册chm_springboot2.2.X手册:构建全局唯一的短链接数据中心
  6. Linux 中断处理浅析
  7. 【数值分析】数值分析的微积分学基础
  8. 理解 Delphi 的类(十) - 深入方法[13] - 在 interface 区声明的方法
  9. Numpy——数组合并
  10. 一看就懂的设计模式--设计模式分类
  11. java后端开发需要学什么知识点(JAVA难学吗)
  12. UI自动化之-使用DD_XOFT实现带有安全控件、U盾的输入
  13. word文件打不开,千万别删除!教你轻松修复
  14. 使用ShareSDK实现QQ登录和分享操作
  15. html酷炫电子时钟效果,纯js实现电子时钟特效
  16. 用“等待-通知”机制优化循环等待
  17. python defaultdict
  18. wps文字 用WPS如何演示制作英语有声读物
  19. mongodb 批量转换大写字符
  20. 【解惑】女生适合干计算机什么方面的工作

热门文章

  1. U盘写保护,不能被格式化
  2. VC++通过MSXML6来操作xml需要注意的内存泄漏问题
  3. 微型计算机及接口技术笔记,2010年自考微型计算机及其接口技术笔记串讲
  4. sql 查找重复值,整行重复
  5. 使用管理员权限强制删除文件夹
  6. Google今日涂鸦:纪念居里夫人诞辰144周年
  7. 第九届蓝桥杯 b组 明码
  8. Kodi Couldn't Connect to Network Server
  9. 微信html刷新页面,填坑——解决微信网页中刷新的问题
  10. python爬楼梯算法_Python算法:如何解决楼梯台阶问题