Cocos2d-x 3.2 大富翁游戏项目开发-第五部分 单机游戏-关卡选择ScrollView,大富翁单机

  次阅读 来源:互联网(转载协议) 2015-09-28 15:07 我要评论(0)

Cocos2d-x 3.2 大富翁游戏项目开发-第五部分 单机游戏-关卡选择ScrollView,大富翁单机

在MenuScene.cpp

点击单机游戏后会调用

Director::getInstance()->pushScene(MapChooseScene::createScene());

进入到关卡选择界面,我们采用ScrollView控件制作这个界面

由于scrollview拖动后,位置比较随意,我想是拖动到第二张图片,就完整的显示第二张图片,不要产生偏离位置的现象,所以在移动之后需要进行位置的校正,写了一个adjustScrollView()方法,用来进行该调整。

具体代码如下:

MapChooseScene.h内容:

const intMAP_COUNT = 3;//定义了三张关卡图片

const int TOUCH_DISTANCE = 50; //手势滑动距离

class MapChooseScene : public Layer,public ScrollViewDelegate//使用scrollview需要继承此类

{

…………….

private:

Size visibleSize;

Layer* _spritesContainer; //用于存放3张关卡图片的sprite 容器

int currentPage; //当前所在的是第几张关卡地图

Point beginTouchPoint; //触摸按下时的位置

ScrollView *scrollView; //scrollview对象

void singleTouchDown(Object* pSender,Control::EventType event);

void addBackgroundSprite(); //添加背景方法

void addScrollView(); //添加scrollview对象及其包含的sprite

//继承 ScrollViewDelegate类需要实现的3个方法

void scrollViewDidScroll(ScrollView* view);

void scrollViewDidZoom(ScrollView* view);

void scrollViewMoveOver(ScrollView* view);

void adjustScrollView(float distance);//自定义方法,用来进行拖动后位置调整

void onTouchEnded(Touch*touch,Event *unused_event);

bool onTouchBegan(Touch * touch,Event *unused_event);

void onTouchMoved(Touch *touch,Event *unused_event);

};

MapChooseScene.cpp文件内容:

bool MapChooseScene::init()

{

if ( !Layer::init() )

{

return false;

}

visibleSize = Director::getInstance()->getVisibleSize();

currentPage = 1;//默认当前是第一张关卡图片

addBackgroundSprite(); //添加背景

addScrollView();//添加scrollview

//添加触摸监听

setTouchMode(Touch::DispatchMode::ONE_BY_ONE);

auto listener = EventListenerTouchOneByOne::create();

listener->setSwallowTouches(true);

listener->onTouchBegan=CC_CALLBACK_2(MapChooseScene::onTouchBegan,this);

listener->onTouchMoved=CC_CALLBACK_2(MapChooseScene::onTouchMoved,this);

listener->onTouchEnded=CC_CALLBACK_2(MapChooseScene::onTouchEnded,this);

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 汤晓鸥:人工智能的中国式文艺复兴

    汤晓鸥:人工智能的中国式文艺复兴

  • 马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

    马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

  • 全球陷入"区块链狂热"潮,大规模应用还需等待

    全球陷入"区块链狂热"潮,大规模应用还需等待

  • 区块链最近太火,但A股多家公司明确表态不考虑涉足

    区块链最近太火,但A股多家公司明确表态不考虑涉足

网友点评网友点评
阅读推荐阅读推荐

算法 任何一个入门的软件开发人员都会听到这句话:算法是软件的灵魂!近年来大火的机器学习即是在算法在人工智能上的集中体现。今日头条通...

据《日本经济新闻》报道,日本东京大学教授稻叶雅幸等人开发出再现日本人骨骼肌肉构造的机器人。机器人各部位的肌肉和骨骼长度与日本人的平...

以奥黛丽-赫本为原型打造的人形机器人索菲娅首次拜访了印度。索菲娅是世界上首位获得公民身份的机器人,她在12月30日出现在了印度理工学院...

在查获现场,代售点电脑旁的一台机器人通过敲击电脑键盘抢票。 广州日报惠州讯 (全媒体记者秦仲阳 通讯员张中铃摄影报道)2018年春运售票已...