cocos2dx 实现不一样的ScrollView】的更多相关文章

原来在公司被迫加班加点赶工,用lua实现的版本:http://www.cnblogs.com/mmc1206x/p/4146911.html 后来因我个人的需要, 用C++实现了一个版本. 蓦然回首, lua那版不忍直视, 设计拙劣, 代码拙劣, 当然, 这都归咎于那时的我太年轻. 效果图 ScrollView.h #pragma once #include "Base.h" class ScrollView : public ccNode { public: struct Param…
1. 简介 “甩出”效果是当我们快速拖动container并松开后,container继续朝原方向运动,但是渐渐减速直到停止的效果. ScrollView的onTouchEnded方法会设置Timer,间隔0.延迟0.无限次数,回调函数是deaccelerateScrolling方法.说明触摸结束时,当该方法不被unschedule时将每帧执行一次. 2. setContentSize 先看一个和“甩出”有关的方法setContentSize: ScrollView的setContentSize…
目录 简介 基础变量 ScrollViewDelegate Direction _dragging _container _touchMoved _bounceable _touchLength 方法 create setContentSize deaccelerateScrolling maxContainerOffset 和 minContainerOffset 触摸的各阶段 onTouchBegan onTouchMoved onTouchEnded 简介 scrollView是在一定可视…
从2019年7月开始学习游戏引擎Cocos2dx,版本3.17. 学习笔记尽量以白话的形式表达自己对源码的理解,而不是大篇幅复制粘贴源码. 本人水平有限,欢迎批评指正! Cocos2d-x 学习笔记 ‎Cocos2d-x 学习笔记(3.1) Scene 场景与场景切换 ‎Cocos2d-x 学习笔记(3.2) TransitionScene 过渡场景和场景切换的过程 ‎Cocos2d-x 学习笔记(3.3) Layer ‎Cocos2d-x 学习笔记(4) Scheduler Timer 调度与…
转自:http://codingnow.cn/cocos2d-x/1024.html 在游戏和应用中经常要实现左右滑动展示游戏帮助.以列表显示内容的UI效果,就像android中的Gallery和ListView.本文通过CCScrollView和CCTableView分别来实现这两个效果,基于cocos2d-x 2.0.4版本.首先来简单了解一下这两个东东,CCScrollView本身是一个CCLayer,而CCTableView是CCScrollView的子类,这是引擎已经帮我们封装好了的,…
ScrollView由视窗区域(裁剪区域)和内容区域组成,内容区域叫innerContainer. 视窗区域范围:get/setContentSize 内容区域:get/setInnerContainerSize, ScrollView怎样排版?对ScrollView而言,innerContainer就是一个大矩形,这个矩形的范围就是滚动的范围,如果内容宽大于视窗 innerContainer则可以在x向移动.同理决定是否可在y向移动. 移动范围是多少?移动范围是0对应innerContaine…
scrollview的原生代码没有提供元素对齐功能 通过下面介绍的index计算方法以及scrollview自带的设置位置方法 void setContentOffsetInDuration(CCPoint offset, float dt); 我们便可以轻松实现元素对齐功能. 一.scrollview界面设计 容器选用CCMenu,屏幕高度为640,每个item之间间距为320. item的y坐标设置为itemHeight * (1-i); 屏幕中部的index为默认值 效果设计如图所示 in…
于MenuScene.cpp 点击单机游戏后会调用 Director::getInstance()->pushScene(MapChooseScene::createScene()); 进入到关卡选择界面,我们採用ScrollView控件制作这个界面 因为scrollview拖动后,位置比較任意,我想是拖动到第二张图片,就完整的显示第二张图片,不要产生偏离位置的现象.所以在移动之后须要进行位置的校正,写了一个adjustScrollView()方法,用来进行该调整. 详细代码例如以下: MapC…
使用cocosStudio制作界面基本已成为基础了,之前都是拖动一些 Image.Button的小控件,再用到层容器和滚动层的时候,习惯性的用拖动来改变控件的大小.但是你在把其他的控件拖动到上面的时候就会发现,控件跟着缩放了. :1: 正确使用方法: 在这个位置手动的调整层容器和滚动层的大小,这样才不会是它上面的控件变性. 2:拖一个滚动层到Panel上, 3:调整你需要他要滚动的区域大小,以及滚动方式(水平.垂直.......).这里需要注意的是你要把多出来的区域裁剪,这样才不会让不显示的内容…
在windows上面跑的是OK的,  在android下面跑的時候就變成這樣子了:…
这阶段心绪比較乱,所以这篇开头就不扯淡了.(谁说大姨夫来了我跟谁急!~~)说到大姨夫我突然想到英雄联盟有个美女讲解叫伊芙蕾亚,她的堂弟ID居然叫:姨夫累呀,好笑吧(呵呵,有点冷~~额,我都说不扯淡了). ------------前天有个网友问我一些关于scrollView的使用方法,因为在QQ上实在讲不清,所以就利用晚上的时间写这篇博客出来了.本篇要实现的功能是用scrollView 拖动对象时,对象移动到某个固定范围会有放大.缩小的效果.以下開始. 在进入正题前我先简短的介绍下scrollVi…
附:本文參加了CSDN博客大赛.亲假设认为这篇文章不错,就大胆的来投上一票吧! !!http://vote.blog.csdn.net/Article/Details? articleid=34140469 转眼六月份都快过去了,我发现这个月我一篇博客都没发表. 表示非常羞涩...... 下个月非常有可能会迎来博客大爆发.仅仅是博客的主题有点......呃,留点悬念吧. --------------------- 有小伙伴和我私聊时说在看过我写的那篇 delegate相关的博文后.回过头再看看S…
1. 简介 CCScrollView.cpp文件内的滚动视图ScrollView直接继承了Layer+ActionTweenDelegate. 滚动视图能在屏幕区域内,用户通过触摸拖动屏幕,实现大于屏幕尺寸的图片的滚动效果. 滚动视图尺寸是我们的可视尺寸,滚动视图包含的成员container(layer)是被拖动的大图所在的层. 实现滚动视图效果,需要以下几个方面的工作: · 获取屏幕尺寸. · 一个layer. · layer中addChild一张/多张大图. · layer尺寸设置成包含所有…
http://blog.csdn.net/u014096244/article/details/21525789 http://bbs.9ria.com/thread-199305-1-1.html http://www.cnblogs.com/hanhongmin/p/3501193.html http://blog.csdn.net/jijun7885417/article/details/38422947…
Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰然网创始人杨雍力荐) 于浩洋 著   ISBN 978-7-121-23998-4 2014年9月出版 定价:59.00元 356页 16开 编辑推荐 以Cocos2d-x V3.0为框架全面讲解手游开发的知识和方法 以热门游戏2048.卡牌为例,完整再现手游的开发过程 Cocos2d-x作者之一林…
转载请注明来自:Alex Zhou的程序世界,本文链接:http://codingnow.cn/cocos2d-x/1024.html //================================================================================== 在游戏和应用中经常要实现左右滑动展示游戏帮助.以列表显示内容的UI效果,就像android中的Gallery和ListView.本文通过CCScrollView和CCTableView分别来实现…
#ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" USING_NS_CC; #include "cocos-ext.h" USING_NS_CC_EXT; // 校正滑动动画速度 #define ADJUST_ANIM_VELOCITY 800; class HelloWorld : public cocos2d::CCLayer, public co…
[cocos2dx]让CCScrollView支持分页 做过IOS开发的朋友, 肯定知道UIScrollView有一个isPaged属性. 当设置其为true的时候, 滑动会自动分页. 即, 每次滑动之后, 会停止在整页的位置. 当开始介入cocos2dx开发的时候, 却发现跟UIScrollView接口十分相似的CCScrollView却没有这个分页属性. 于是手动实现了一个. 博客: http://www.cnblogs.com/jhzhu 邮箱: jhzhuustc@gmail.com 作…
在cocos2dx中,ScrollView与TableView都可以实现选择效果,其中ScrollView较为原始,TableView的格子大小可以不与winSize一样大. ScrollView实现 #include "T25ScrollView.h" #include "AppMacros.h" CCScene* T25ScrollView::scene() { CCScene *scene=CCScene::create(); T25ScrollView* l…
转自:http://www.cnblogs.com/dcxing/archive/2012/12/31/2840217.html ScrollView一般用在游戏的关卡选择这种类似的场景还有帮助这种场景之中,当然,也可以用其他一些选择菜单的场景.用途还是比较广泛的嘛. 首先CCScrollView 在 Cocosd-x 的扩展库里面,要是使用的话,需要引入扩展包,然后添加命名空间 #include "cocos-ext.h" USING_NS_CC_EXT;//cocos2dx定义的宏…
转自:http://blog.csdn.net/bill_man/article/details/8498424 可以根据一个模板切割图片的节点--CCClippingNode.这个类提供了一种不规则切割图片的方式,在这种方式以前,我们可以使用纹理类自带的setTextureRect函数来切割矩形区域,而新特性中提供的CCClippingNode最大的不同之处就是裁减将不仅仅局限于矩形,可以根据任何形状进行裁减,而你要做的只是给一个“裁减模板”,首先来看这个类的常用函数(需要说明的是,这里介绍的…
大多数游戏都有背包这个东西. 道具列表通常用 ScrollView 来实现. 这个ScrollView内部有一个Layout, 滑动都是由移动这个Layout来实现. 道具摆放通常从上往下, 从左到右. 假设你有一个道具数组, 你遍历这个数组来摆放道具. 因为数组长度是已知的, 你可以计算出Layout需要的尺寸, 再把道具摆上去. 这个实现是很容易的. 但是, 如果你提前不知道数组长度, 就是不知道道具数量, 可能随时会添加道具或者删除道具. 因为cocos2dx的坐标系是左下角为原点, 因此…
一  框架层面 二  Lua层面 三  工具层面 四  android打包 一 框架层     总体来说,cocos2dX提供的一个简便的框架,包括了渲染,动画,事件分发,网络还有UI,物理引擎等几大模块.对于做一个游戏从功能上来说已经 足够了.我从这几个方面分别探讨下cocos2dX的优缺点以及我们在项目中是怎样用到的 (1)渲染:渲染这块,他的渲染数据跟Sprite进行了绑定,然后对于openGl也是直接进行了调用,而不是採用策略或者插件进行调用.对于后期假设採用DX的话 我认为这块比較冗余…
因为Cocos2d-X中的动作较多,我将全部的动作制作成了一个滚动视图.每一个滚动视图上都有动作名,单击滚动视图就能够展示对应的动作 程序效果图: 使用滚动视图实现动作切换 动作展示 程序代码: 首先创建一个ActionShow类 在ActionShow.h中的代码 #ifndef _ActionShow_H_ #define _ActionShow_H_ #include "cocos2d.h" #include "cocos-ext.h" USING_NS_CC…
cocos2d-x来源合计文件夹 http://blog.csdn.net/u011225840/article/details/31743129 1.准备工作 想弄懂可循环的CCscrollView,首先请阅读cocos2d-x本身的CCscrollView源代码http://blog.csdn.net/u011225840/article/details/30033501(我已经加入凝视.方便阅读). 2.源代码展示 由于源代码我想放到git上,所以凝视都是用的英文.假设这部分源代码有人有问…
项目需要,根据所输入的字符串,的需要计算串帐户Size. 包代码如下面.只需要传递一个字符串,您可以返回Size: Size ChartDemoScene::calculateFontSize(const char *str ) { std::string tempString = str; log("tempString = %s",tempString.c_str()); size_t computeCount = tempString.size(); //假设字符串非常长每次抽取…
cocos2dx 3.0版本号TableView拍生自ScrollView,经常使用来做滚动列表,有几种特殊使用方法,不知道大家用到过没 要求:1.滚动时不能选中TableCell,非滚动状态才干选中 非常easy,在TableView的delegate函数中,通过isTouchMoved()函数来推断 void WeaponSelectLayer::tableCellUnhighlight(cocos2d::extension::TableView* table, cocos2d::exten…
记录下在cocos2dx 2.x时代遇到的问题 1.cocos2dx   retain 在onenter时,在onexit时 release 2.先结束定时器再退出界面 3.在不同帧里数据是有可能不一致 4.ccaction 必须要是node的子类,ccnode不行 5.滑动判断 起点.终点 6.aabb碰撞检测 7.简单的随机 A={x1,x2,x3,x4,xi},通过控制xi的分布,从A中随机取一个. 8.如果settag重复,则获取的节点不是所需要的节点,如果和内部tag重复,可能出现诡异…
Cocos2d-X中提供了很丰富的动作特效 比如:网格动画 扭曲特效 3D瓷砖波动特效 程序代码: #include "ActionEffect.h" #include "HelloWorldScene.h" static const char* _actionName[] = { "CCFadeOutBLTiles", "CCFadeOutDownTiles", "CCFadeOutTRTiles", &…
今天主要是学习了cocos2dx的scrollview的内容,把简单的菜单滑动表现做出来了.像很多游戏的下方有一槽功能按钮,角色.背包.技能.帮助等,当宽度不足以全部显示出来的时候,隐藏一部分,以滑动的形式展现是一个很好的解决办法,秦时明月2就是如此. 做到这一点,很简单,主要有几点要注意一下: (1)cocos studio的ui编辑器中的scrollview的属性倒数第二个“滑动方向”要选择Horizontal.另外,这里有一篇文章讲到了scrollview和listview的一点区别,你往…