预览效果

具体内容

■ 这一期,主要讲解主页下方列表选项如何实现。也就是游戏开始后,加载所有现有的英雄列表,这一功能的实现,如下图部分。

■ 列表使用 ScrollView 实现,横向滚动,设置好上下左右的边距、选项之间的间距,内容部分使用 Layout 来做自动排版,最终列表显示内容,如上图所示即可。

■ 重点是列表中的英雄预制体。预制体一共有三种状态:已解锁、使用中、未解锁。具体显示效果如下图所示。游戏中存储每一级英雄的状态,根据状态数据,绘制英雄列表显示。

状态的显示控制

■ 如上所述,一共有三种状态,理论上,游戏开始时,只有第一关是解锁的,后面的关卡根据游戏的进行,不断的开启。预制的状态由一个变量控制,不同值表示不同状态。

■ 预制节点下,留有不同状态的根节点,根据英雄不同的状态,控制不同状态的节点显示以达到状态变化的效果。

英雄武器显示控制

■ 英雄和武器,都是总共 12 个等级,根据不同的等级,选择对应的英雄和武器纹理,进行纹理的动态更新即可,下图中的英雄有两种状态,后期操作需要用到,目前可以忽视 _p 结尾的, _n 是这次需要用到的。

■ 武器和英雄,都依托在一个精灵上,对应的纹理,使用纹理数据存储即可,为了方便,会按照等级顺序存储,这样方便取出等级纹理图片。

英雄选择控制

■ 因为在游戏过程中,一次只能使用一个英雄,所以使用中状态的英雄,永远只会有一个。而且,未解锁的英雄,是无法使用的,点击也需要做特别处理。

■ 如上图代码,在选择的时候,需要判断新选择的是否和之前的一样,这种不需要做处理;如果获取到新选择的英雄未解锁,目前是没有做其他任何处理的。

■ 添加英雄的时候,需要给每个预制体注册一个回调函数,预制体点击的时候,会调用注册的函数,为了获取点击的节点,需要把预制体本身节点传递出来。

加载英雄列表

■ 游戏一开始,根据英雄列表数据,绘制英雄列表,数据单机的,存储在内存。存储的数据包括:各等级的英雄名称,状态信息,后续游戏过程中,触发某些条件,再更新对应数据,重新绘制列表即可,如果有需要,也可以存储起来,目前是用来学习的 demo,就暂时用全局变量存储。

Cocos Creator | 飞刀大乱斗开发教程系列(一)的更多相关文章

  1. Cocos Creator | 飞刀大乱斗开发教程系列(二)

    预览效果 具体内容 ■ 这一期,主要讲解主页中间人物效果的实现.也就是,在下方列表选择不同人物,上方显示不同的人物,播放不同的效果,即下图的效果实现,此部分也是采用预制 Prefab 进行实现. 英雄 ...

  2. Cocos Creator | 飞刀大乱斗开发教程系列(三)

    预览效果 ​ 具体内容 ■ 这一期,主要讲解游戏过程中,通过触摸滑动,控制人物的运动方向,以及游戏过程中,人物运动区域的控制.如下图,人物通过滑动控制运动方向,即是往哪个方向滑动,人物就往哪个方向移动 ...

  3. cocos creator策略类手游开发教程

    目录 大小6.83GB,Mp4格式,语言:中文 扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主

  4. GridView的 PreRender事件与 RowCreated、RowDataBound事件大乱斗

    GridView的 PreRender事件与 RowCreated.RowDataBound事件大乱斗 之前写了几个范例,做了GridView的 PreRender事件与 RowCreated.Row ...

  5. python红蓝英雄大乱斗(面向对象实现)

    红蓝英雄大乱斗 游戏规则 ''' 有红蓝两方英雄(可自定义个数) 随机一方英雄使用随机攻击方式攻击另一方英雄,任意一方英雄全部阵亡则游戏结束 每个英雄有 名字.生命值.普通攻击.Q技能攻击.W技能攻击 ...

  6. cocos creator使用anysdk接入admob广告教程

    http://lolling787.lofter.com/post/1f5b6553_12925042 cocos creator使用anysdk接入admob广告

  7. arcgis engine 开发教程系列

    版权声明:        <ArcGIS Engine+C#实例开发教程>为3SDN(http://www.3sdn.net)原创教程,版权所有.禁止商业用途转载(如需请联系作者),非商业 ...

  8. EnjoyingSoft之Mule ESB开发教程系列第五篇:控制消息的流向-数据路由

    目录 1. 使用场景 2. 基于消息头的路由 2.1 使用JSON提交订单的消息 2.2 使用XML提交订单的消息 2.3 使用Choice组件判断订单格式 3. 基于消息内容的路由 4. 其他控制流 ...

  9. Android/Unity大乱斗-完整双方集成交互指南

    这是一个很长很长的story!-芝麻粒儿创作 开篇 源码地址:GitHub 本文目的,将Unity集成到Android端,学完本文后你可以做到 Android任意布局加载Unity 3D场景 任意操作 ...

随机推荐

  1. SVN过滤设置 标签: svn 2015-07-29 17:39 953人阅读 评论(35) 收藏

    为了方便管理我们的系统版本,很多人会用到SVN,开发中我们经常用到SVN插件, 但是对于某些文件的缓存来说, 我们只要有操作缓存便会保存一次, 每次提交很是麻烦, 可能有的文件或者文件夹我们并不想提交 ...

  2. OpenStack Nova启动实例流程

    1.概述 启动一个新的实例,会涉及到OpenStack Nova中的多个组件: API服务器,接收用户端的请求,并且将其传递给云控制器. 云控制器,处理计算节点.网络控制器.API服务器和调度器之前的 ...

  3. php开发微信支付获取用户地址

    http://mp.weixin.qq.com/s/uNpWE_Z5RZ48PDIWkmGBYQ 使用微信获取地址信息是和微信支付一道申请的,微信支付申请通过,就可以使用该功能. 微信商城中,使用微信 ...

  4. Python的unittest拓展和HTMLReport SKIP报表扩展

    C:\Python27\Lib中修改unittest内容 unittest 在init中添加Myskip代码: __all__ = ['TestResult', 'TestCase', 'TestSu ...

  5. oracle的group by用法

    原文链接:https://www.cnblogs.com/Each-Person-Got-a-Dream/p/8946961.html sql如下: select min(es.sku_price) ...

  6. call,apply,bind详解

    为什么要改变this指向? 我们知道bind,call,apply的作用都是用来改变this指向的,那为什么要改变this指向呢?请看下面的例子: var name="lucy"; ...

  7. 教你怎么让vi和vim显示行数

    首先我们来看看没有行号是多么难看. 2 再来看看有行号后的效果. 3 设置行号很简单. 我们要到命令模式下,输入set number :set number 按下回车 来看看效果 4 那么怎么关闭行号 ...

  8. uni-app学习记录04-轮播图和滑屏图片

    <template> <view> <!-- 轮播图视图 swiper-item是每页的元素 --> <swiper :indicator-dots=&quo ...

  9. Python--day23--组合

  10. 2018-2-13-WPF-DelegateCommand-出现Specified-cast-is-not-valid

    title author date CreateTime categories WPF DelegateCommand 出现Specified cast is not valid lindexi 20 ...