创头条App
扫码下载APP
扫码下载APP

您是个人用户,您可以认领企业号

    免密码登录
  • 图形验证码
  • 获取验证码
  • 立即登录
第三方账号登录
·
·

Hello,新朋友

在发表评论的时候你至少需要一个响亮的昵称

GO
资讯 > 游戏动漫 > unity3d棋牌开发教程 干货分享
分享到

unity3d棋牌开发教程 干货分享

首发且原创 时间:08-01 15:25 阅读:2657次 来源:千锋互联

摘要:unity3d棋牌游戏教程之手机斗地主的发牌功能实现

这次千锋老师的Unity3D棋牌游戏教程主要教手机斗地主的发牌功能的实现,话不多说,咱们先创建项目:

1.创建Unity2017的2D项目,暂且叫做ChinesePoker吧,就用自带的UGUI来编辑UI, 目前只导入iTween插件,用来方便控制动画效果。

目录结构如下:

考虑卡牌需要动态生成,我把图片资源放到Resource目录,并按照Card_类型(大小王,红桃,黑桃,方片,梅花 )_数字(卡牌所在类型中的数字)命名。

2.建第一个场景,默认叫001_Playing,作为主要玩牌的场景,暂时作为第1个场景,后期新场景添加进来,我们可能再调整场景的顺序。

添加一个UI->Image,选择一个背景图片;

添加3个UI->Canvas,分别取名叫Player0,Player1,Player2,代表玩家,对手1,对手2;

每个Player底下,添加一个Image,选择卡牌背面图片,分别表示发牌时各自牌堆的位置,并在桌面放置一个总牌堆的位置,默认not active;

建一个卡牌的图片,命名为Card,并作为预制件,放入Player0中间一个,稍微偏移一定位置再放置一个,用来计算每张牌跟临牌相对位置,设置not active;

建一个卡牌的背面图片,命名Cover,也作为预制件;

添加一个测试按钮TestButton;

差不多了,大概结构如下:

创建卡牌、玩家信息

1.新建CardInfo类,主要不要继承默认的MonoBehaviour类,用来作为卡牌的实体类;

实现IComparable接口,后面手牌排序会用到。

2.Card预制件上,添加Card脚本,主要保存对应CardInfo信息、选中状态,并加载卡牌图片;

3.考虑玩家分为2种类型,先创建一个公共的基类,实现玩家公共的方法,比如增加一张卡牌、清空所有卡片、排序等;

4.添加第一种玩家(自身玩家)PlayerSelf,继承Player,并挂载到Player0对象上;

实现整理手牌的逻辑:发牌后,从中间的位置,根据大小依次将牌展开;

获取牌面点击事件,将牌选中或取消选中;

5.添加另一种玩家(对手玩家)PlayerOther,继承Player,并挂载到Player1,Player2对象上;

在Camera上添加卡牌管理脚本:CardManager

1.实现洗牌逻辑,这里用生成GUID随机性后排序,达到洗牌的目的;

2.记录当前发牌回合,每发一张牌,跳转给下一个玩家;

3.记录当前玩牌回合(将来可能用到),每玩一局,跳转下个玩家开始发牌;

4.发牌逻辑:

设置牌堆的显示,动画依次给每位玩家发一张卡牌,发完牌后,隐藏牌堆,并将玩家的卡牌排序并展示。

以上就是千锋老师的Unity3D棋牌游戏教程了,详细代码欢迎前来咨询~

声明:本文由千锋互联企业号发布,依据企业号用户协议,该企业号为文章的真实性和准确性负责。创头条作为品牌传播平台,只为传播效果负责,在文章不存在违反法律规定的情况下,不继续承担甄别文章内容和观点的义务。

游戏动漫 移动互联网 VR/AR unity
unity3d棋牌开发教程 干货分享
扫码打赏作者

评论

未登录的游客
游客

千锋互联
千锋互联
关注企业号
2
分享次数
0

千锋互联致力于打造IT教育全产业链人才服务平台,专注HTML5、PHP、JavaEE、大数据、VR/AR/Unity游戏开发培训。

TA的其他文章

    为您推荐
  • 推荐
  • 人物
  • 专题
  • 干货
  • 地方
  • 行业
+加载更多资讯

阅读下一篇

2018年ChinaJoy强势来袭,除了大长腿,你能看点啥?

2018年ChinaJoy强势来袭,除了大长腿,你能看点啥?

返回创头条首页

©2015 创头条版权所有ICP许可证书京ICP备15013664号RSS