cocos CCScrollView

要做个显示游戏玩法的功能,但是因为规则多,一个sprite显示不完。有几种解决办法,CCScrollView、listView,tableView。后面那两个还没研究,先试了下CCScrollView。

CCScrollView可以用来做游戏关卡选择。

#ifndef __Test_H_
#define  __Test_H_

#include "cocos2d.h"
#include "../extensions/cocos-ext.h"
USING_NS_CC;
USING_NS_CC_EXT; 

class Test:public CCLayer,public CCScrollViewDelegate
{
public:
	virtual bool init();
	static CCScene *scene();
	CREATE_FUNC(Test);

	virtual void scrollViewDidScroll(CCScrollView* view);
	virtual void scrollViewDidZoom(CCScrollView* view);

};
#endif // !__Test_H_
#include "Test.h"

CCScene *Test::scene()
{
	CCScene *scene = CCScene::create();
	Test *layer = Test::create();
	scene->addChild(layer);
	return scene;
}

bool Test::init()
{
	if (!CCLayer::init())
		return false;

	CCSize size = CCDirector::sharedDirector()->getWinSize();
	CCLog("winSize = %d", size);

	CCScrollView *scroview = CCScrollView::create();

	CCSprite *sp = CCSprite::create("HelloWorld.png");   //添加两个精灵
	sp->setPosition(ccp(size.width*0.5, size.height*0.5));

	CCSprite *sp1 = CCSprite::create("HelloWorld.png");
	sp1->setPosition(ccp(size.width*0.5, size.height*1.5));

	containLayer->addChild(sp);
	containLayer->addChild(sp1);
	containLayer->setContentSize(CCSizeMake(size.width, size.height));

	containLayer->setAnchorPoint(CCPointZero);
	containLayer->setPosition(CCPointZero);

	scroview->setPosition(CCPointZero);
	scroview->setContentOffset(CCPointZero);

	containLayer->setContentSize(CCSizeMake(480 , 320 * 2));//设置滚动区域的大小
	scroview->setViewSize(CCSizeMake(480, 320));		//设置显示区域的大小
	scroview->setContainer(containLayer);                   //设置需要滚动的内容
	scroview->setTouchEnabled(true);       //设置为false的话,可以自己实现触摸事件 
	scroview->setDelegate(this);
	scroview->setBounceable(false);     //是否有弹跳效果,默认为true
	scroview->setDirection(kCCScrollViewDirectionVertical);  //设置滚动的方向,有三种可以选择,水平,垂直呀什么的

	this->addChild(scroview);

	setTouchEnabled(false);
	setTouchMode(kCCTouchesOneByOne);
	return true;
}
void Test::scrollViewDidScroll(CCScrollView* view)
{
	CCLog("fssdf");
}
void Test::scrollViewDidZoom(CCScrollView* view)
{
	CCLog("fsfsfsdfsdf");
}
时间: 2024-10-01 04:25:18

cocos CCScrollView的相关文章

走了很多弯路的CCScrollView

最近在学习Cocos2d-x,学习CCScrollView的时候走了很多弯路,决定记录下来. 学习cocos2d-x的最大的困惑就是资料不是很齐全,网上有很多资料,但是版本差异大,其次深度低,讲解不够透彻,最后发现想更好的理解只能去看源码.后来发现想用好cocos2d-x必须要看懂源码,因为有不少坑等着你踩. CCScrollView是用来做屏幕滚动的UI组件,一个简单的CCScrollView的实现是这样的 chatArea是一个CCScrollView*的对象,container是一个CCN

cocos Creator js 房卡麻将/血战/H5四川麻将源码下载搭建

房卡麻将/血战/H5四川麻将 源码 支持iOS/Android/H5 完整源码 1.基于NODEJS+MYSQL的服务器,成熟的技术方案,高效稳定,且方便Windows开发,Linux平台布署,节约服务器运转成本. 2.采用最新版本的cocos引擎,cocos creator开发,可快速的进行界面调整.且能够快速地发布iOS,Android版本. 3.如需H5版本,只需针对H5平台进行资源优化即可. 4.成熟可靠的房卡式设计,能满足大部分用户使用体验. 5.产品经过大量测试,可以运转稳定. 测试

Cocos2d-x移植WP8时间CCScrollView问题

cocos2d-x 2.2中的CCScrollView和CCTableView存在bug.导致区域裁剪错误 我是这样解决的. 在CCEGLView::setScissorInPoints里.依据不同旋转方向,设置不同參数 void CCEGLView::setScissorInPoints(float x , float y , float w , float h) { switch(m_orientation) { case DisplayOrientations::Landscape: gl

学习cocos 空程序

今天开始学习cocos代码,首先研究源码中的空程序. 在这个程序中,在main函数中,创建了一个Application: int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); // create th

Cocos数据篇[3.4](4) ——plist文件操作

[唠叨] 在Cocos中,plist文件 是非常常见的配置文件.它是特定格式的xml文件. 例如:小图打包成大图的纹理图片.制作粒子特效.帧动画等,都用到了plist文件作为配置文件. 本节要介绍的是:如何创建plist文件,以及读取plist文件中的数据信息. [扩展阅读] http://zh.wikipedia.org/wiki/Plist (维基百科) http://zengrong.net/post/1981.htm (COCOS2D-X中的PLIST文件格式详解) http://cn.

Cocos移植到Android的一些问题-SQLite3数据库移植问题

首选我们讨论一下SQLite3数据库移植问题.我们在第14章节介绍了在Win32平台使用SQLite3数据库,我们介绍了两种配置环境的方法:一种是使用Cocos2d-x提供的SQLite3库配置,另一种是从SQLite官网下载源代码拷贝的工程中.第一种方法配置起来比较麻烦,关键是Cocos2d-x提供的SQLite3库只是Win32没有其它平台的,目录结构如下所示.<游戏工程目录>\cocos2d\external\sqlite3│  Android.mk│├─include│      sq

Cocos开发中性能优化工具介绍之使用Windows任务管理器

说到Windows平台,我们很快就想到了Visual Studio 2012,然而Visual Studio 2012在这方面没有很好的工具.如果我们只是想知道大体上内存.CPU等在某一事件前后变化情况,我们可以使用Windows任务管理器.Windows任务管理器对于很多用户都不陌生,自从有Windows操作系统以来,这个工具就伴随着Windows.打开任务管理器方法也有很多,在Windows7和Windows8平台可以使用Ctrl+Shift+Esc 组合键调出:也可通过Ctrl+Alt+D

Cocos2d-X使用CCScrollView创建滚动视图

CCScrollView可以使游戏有滚动视图的效果,并且可以通过滚动视图切换游戏场景,滚动视图常用于游戏中选择关卡 实例1:使用CCScrollView创建一个简单的滚动视图 首先创建一个ScrollView类 然后在ScrollView.h中添加下面的代码 #ifndef __ScrollView_H__ #define __ScrollView_H__ #include "cocos2d.h" #include "cocos-ext.h" USING_NS_CC

Cocos2d-x滚动列表具体解释(CCScrollView的使用)

今天要写一个滚动列表功能,类似以下这样.(图片资源都是自己从天天酷跑里面抠的,仅用于学习方便) 首先,这样一个列表就和iOS里面的UITableView没什么两样,当然,Android中肯定也存在类似的控件. 在cocos2d-x引擎中參照ios中的UITableView实现了一个叫做CCTableView的类,用于创建列表,对于熟悉ios程序设计的人来说,这个内容应该是非常好理解的. 以下就介绍下CCTableView. 首先,mark几个比較好的博文. Cocos2d-x CCTableVi