【COCOS CREATOR 系列教程之四】基于0.7.1先简单制作一个PAGEVIEW

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/cocos-creator/1999.html

由于当前版本还没有发布1.0,因此还有不少组件没有发布,那么Himi也看到Cocos Creator群里有几个童鞋问起过PageView的问题,那么Himi正好借此练手,基于当前版本制作一个PageView。

本文分为两部分进行讲解: 1. 制作PageView     2. 如何使用

一. 制作PageView

由于都是基于当前cc版本提供的组件进行的,所以这里不进行详细的解释与介绍。

其实制作PageView,首先考虑要保证考虑如下几点:

1. 要能自动布局

2. 要能设置裁切区域

3. 提供用户参数设置。

那么回过头来想考虑当前CC版本提供的组件,是否可满足以上条件呢:

1. 自动布局??  CC里有Layout,并且可以设置布局横竖两方向、还提供了间隔的设定。

2. 设置裁切区域?? CC里有Mask。

OK,下面开始动手,步骤如下:

1. 首先我们创建一个空节点PageView,并添加Mask组件作为裁切视图。

2. 在PageView节点下,我们添加一个布局组件pLayout, 以后用户直接在pLayout下进行添加item即可实现自动布局。

3. 在根节点PageView挂自定义的脚本,其内容实现触摸滑动翻页的逻辑(对Layout的位置改变)等

4. Himi将PageView制作成了Prefab,便于使用(现在插件制作Himi还没仔细看 – -。)

完成效果如下图GIF所示:(点击可看到动态效果)

二. 如何使用:

1. 拷贝PageView(Prefab)和PvJs(脚本)到资源管理器中,拖PageView 的Prefab 到层级管理器中即可使用。

2. 参数设置:

选中根节点PageView,然后查看属性检查器中的脚本提供的参数,如下图:

Item_Count: Item 数量  (请保证这里的数量与你在pLayout下添加的子节点数量保证一致!)

Item_Width: 每个 Item 的宽度

Item_Height:每个 Item 的高度

Item_Move_Dis:设定触发翻页的距离(像素)

3. 设置剪切区域大小

选中根节点PageView,然后查看属性检查器中的节点Node的Size属性,让其宽高与每个Item的宽高保持一致!

4. 设置布局类型、排序类型以及间隔

选中  根节点PageView  下的pLayout 子节点的属性检查器中的Layout组件,如下图:

Layout Type: 布局的类型,三个类型:

NONE : 无  (既然要做PageView的效果,选这个不太讲道理了,请务必不要选这个)

HORIZONTAL:横向排版

VERTICAL: 纵向排版

Margin:空白的大小(横向可改宽度、纵向可改变高度)

Spacing X: 每个item X轴之间的间隔(选择横向排版时出现的属性)

Spacing Y: 每个item Y轴之间的间隔(选择纵向排版时出现的属性)

Horizontal Direction:有两个类型:

LEFT_TO_RIGHT:从左到右的顺序排列

RIGHT_TO_LEFT:从右到左的顺序排列

5. 在pLayout下添加item吧,想加多少请随意。只需记得其数量要保证与PageView脚本里的Item_Count参数设置的数量保持一致。

其实简化使用过程,就1步:

选中PageView,在属性检查器中,设置好Node 的Size 与你的Item大小保持一致,并对脚本暴露出来的参数进行合适设定。

(记得检查pLayout下的Layout Type 这个布局类型属性不可选NONE,因为Himi也不支持 -。 0)

下面放出源码: http://vdisk.weibo.com/s/yZxRoLm4MKqqU

项目结构:

资源管理器的HPV文件夹就是啦~

PageViewTest 是示例

PageView 是模板,大家用这个~

PvJs 是脚本

himi 是图片,大家可以无视

使用演示:(点击可看到动态效果)

那么年前就到这里,各位咱们年后见~  

时间: 2024-12-26 08:08:31

【COCOS CREATOR 系列教程之四】基于0.7.1先简单制作一个PAGEVIEW的相关文章

【COCOS CREATOR 系列教程之二】脚本开发篇&事件监听、常用函数等示例整合

[Cocos Creator ](千人群):  432818031 上一篇,介绍了Himi在使用过cc所有组件后的一篇总结,没有具体介绍每个组件的原因在于官方文档很齐全,而且也有视频的介绍. 所以希望童鞋们可以把我这两篇博文当成对组件.脚本两部分开发的整理与总结. 后续的文章,Himi应该主要更新一些官方还未补充或者还没有的教程.避免无用功. 下面直接放出代码,因为不是很难理解.所以不再一一赘述,都是常用的函数.事件监听.动作回调.定时器等开发过程中必接触的. 大致内容如下: cc 属性介绍 获

CRL快速开发框架系列教程二(基于Lambda表达式查询)

本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(

[转]Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序

转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/13/251101.html 本系列教程将详细介绍Struts 1.x的基本原理和使用方法,读者可以参阅<Struts 2系列教程>来比较Struts 1.x和Struts 2.x的相同点和不同点.    在这篇文章中将以一个简单的例子(mystruts)来演示如何使用MyEclipse来开发.运行Struts程序,并给出了解决ActionForm出现乱码问题的方法.读者可以从本文中了解

【REACT NATIVE 系列教程之十三】利用LISTVIEW与TEXTINPUT制作聊天/对话框&&获取组件实例常用的两种方式

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2346.html 本篇Himi来利用ListView和TextInput这两种组件实现对话.聊天框. 首先需要准备的有几点:(组件的学习就不赘述了,简单且官方有文档) 1. 学习下 ListView: 官方示例:http://reactnative.cn/docs/0.27/tutorial.html#content

【Cocos Creator 实战教程(1)】——人机对战五子棋

整体思路 在15*15的棋盘上每一个可下棋子的地方都放置一个"隐形的棋子",当要在某个位置下子时就将该位置的棋子显示出来,在判断输赢逻辑里,我们根据这225个"隐形棋子"的状态(黑,白,无)判断输赢 涉及知识点 场景切换 按钮事件监听 节点事件监听 节点数组 循环中闭包的应用 动态更换sprite图片 定时器 关于人机算法 参考了http://blog.csdn.net/onezeros/article/details/5542379 新建工程 在Menu.js里添

Provisioning Services 7.8 入门系列教程之四 目标设备安装

续Provisioning Services 7.8 入门系列教程之三 安装并配置 Provisioning Services 对于目标设备,我们可以简单理解为一台用来构建硬盘映像的基础计算机,所构建的映像将存储在虚拟磁盘上.构建映像后,Provisioning Services 将通过流技术将从主目标设备创建的虚拟磁盘内容推送到其他目标设备.因此,在实际工作,我们会根据操作系统以及应用软件的使用情况,准备多台目标设备,然后通过映像操作构建多个虚拟磁盘,供用户使用. 准备好主目标设备以便进行映像

Nginx系列教程之四:Nginx常用变量汇总及测试

Nginx系列教程之:Nginx内置变量的收集及使用 前言:     各位小伙伴,前两天忙着测试openstack Icehouse,撰写openstack技术文档,导致nginx剩下的几篇博文没来得及整理,你是不是等着急啦?哈哈,抱歉,今天继续来聊一聊nginx常用的内置变量及其相关的使用. Nginx的变量在nginx的使用中还是占了一定的重要性,尤其是在日志和rewrite中,必须对各种变量的含义有所了解,才能组合出适合自己的日志格式和更高级的rewrite规则.其次了解nginx的变量含

【Cocos Creator 实战教程(2)】——天天酷跑(动画、动作相关)

转载请保留原文链接,个人公众号:xinshouit(新手程序员),欢迎关注 准备工作 把背景图拉长,很长很长的那种....一会我们要让它滑动起来 背景动画 为背景节点添加滚动动画 现在背景就循环滚动起来了(图是我后来截的,这步猴哥还没登场呢) 猴哥动画 导弹动画 这里我们要添加两个Clip,一个是高空导弹,一个是低空导弹 这里我们要给导弹加几个帧事件,在导弹导弹猴哥头上的几个帧上添加judgeDown事件,当导弹到达猴哥头上,猴哥还没低头,那就游戏结束,低空导弹同理,需要猴哥跳起 结束场景 游戏

【REACT NATIVE 系列教程之四】刷新组件RENDER(重新渲染)的三种方式详解

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2242.html 开发过游戏的都应该很清楚,"刷屏"是多么的重要.其实开发应用也如此,当组件的数据被修改后,如何及时更新组件呈现出最新的数据与效果一样至关重要. 那么这里Himi大概讲三种常用的方式: this.setState()  [最为常用] 这是在事件处理函数中和请求回调函数中触发 UI 更新的主要