当前位置: 首页 > news >正文

企业电子商务网站建设教案怎么制作网站

企业电子商务网站建设教案,怎么制作网站,哪些行业做网站最重要,中国人民银行官网入口Cocos2d-x游戏实例-《跑跑跑》制作教程(第五篇)——主角上下移动 笨木头花心贡献,啥?花心?不呢,是用心~转载请注明,原文地址:http://blog.csdn.net/musicvs/article/details/8192245…

Cocos2d-x游戏实例-《跑跑跑》制作教程(第五篇)——主角上下移动

笨木头花心贡献,啥?花心?不呢,是用心~

转载请注明,原文地址
:http://blog.csdn.net/musicvs/article/details/8192245

正文:

注:本文使用到的资源请到这里下载:http://download.csdn.net/detail/musicvs/4769412

嗯,至此我们的《跑跑跑》游戏已经基本完成了才怪啊喂~

来,主角不能只往前跑,我们得让他可以上下跑。

1.制作新的移动控制器

我们要改变主角的移动行为,这很简单,因为聪明的我们早就料到了客户的需求是随时改变的(噗,那个客户说的是我么?),所以,我们使用了组合的方式。

现在是见证组合有多强大的时候了!我们只需要新建一个控制器,然后替换掉原来的SimpleMoveController,绑定到主角身上,就OK~

2.三方移动控制器

这个新的移动控制器可以往前、往上、往下移动,所以我给它命名为三方控制器。英文名叫做SanFangController,噗,开玩笑的,还是叫做ThreeDirectionController~

首先,我有个糟糕的事情想告诉大家,我们要修改Controller.h文件:

class Controller : public CCLayer {


其实没有修改什么,就是把Controller的父类由CCNode改为CCLayer。为什么呢?因为我们的新控制器希望获得屏幕触摸事件,而CCNode是获取不了这个事件的。

好,我们来创建三方移动控制器吧:

//ThreeDirectionController.h文件#ifndef __THREE_DIRECTION_CONTROLLER_H__
#define __THREE_DIRECTION_CONTROLLER_H__#include "Controller.h"
#include "cocos2d.h"using namespace cocos2d;class ThreeDirectionController : public Controller {
public:CREATE_FUNC(ThreeDirectionController);virtual bool init();virtual void update(float dt);/* 触屏事件 */virtual void registerWithTouchDispatcher();virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);/* 设置X方向的移动速度 */void setiXSpeed(int iSpeed);/* 设置Y方向的移动速度*/void setiYSpeed(int iSpeed);private:int iXSpeed;int iYSpeed;
};#endif


这个是头文件,我们来看看主要有什么东西。基本上和SimpleMoveController差不多,区分了XY方向上的速度,以及加入了触屏事件(继承自CCLayer)。

再来看看cpp文件:

#include "ThreeDirectionController.h"bool ThreeDirectionController::init()
{this->iXSpeed = 0;this->iYSpeed = 0;/* 设置允许触屏 */this->setTouchEnabled(true);this->scheduleUpdate();return true;
}void ThreeDirectionController::update( float dt )
{if(mControllerListener == NULL) {return;}CCPoint curPos = mControllerListener->getCurPosition();curPos.x += iXSpeed;curPos.y += iYSpeed;mControllerListener->setSimplePosition(curPos.x + iXSpeed, curPos.y + iYSpeed);
}void ThreeDirectionController::setiXSpeed( int iSpeed )
{this->iXSpeed = iSpeed;
}void ThreeDirectionController::setiYSpeed( int iSpeed )
{this->iYSpeed = iSpeed;
}bool ThreeDirectionController::ccTouchBegan( CCTouch *pTouch, CCEvent *pEvent )
{return true;
}void ThreeDirectionController::ccTouchMoved( CCTouch *pTouch, CCEvent *pEvent )
{/* 获取点击的坐标 */CCPoint touchLocation = pTouch->getLocationInView();touchLocation = CCDirector::sharedDirector()->convertToGL(touchLocation);/* 被控制对象的坐标 */CCPoint pos = mControllerListener->getCurPosition();/* 判断是向上移动还是向下移动 */int iSpeed = 0;if(touchLocation.y > pos.y) {iSpeed = 1;}else {iSpeed = -1;}setiYSpeed(iSpeed);
}void ThreeDirectionController::ccTouchEnded( CCTouch *pTouch, CCEvent *pEvent )
{/* 停止Y坐标上的移动 */setiYSpeed(0);
}void ThreeDirectionController::registerWithTouchDispatcher()
{/* 注册触屏事件 */CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true);
}


首先,update函数变了一点,xy方向上的坐标都会改变。

然后有个registerWithTouchDispatcher函数,是用于注册触屏事件的。

再然后最重要的是ccTouchMoved函数,根据点击屏幕的y坐标是在主角之上还是下来判断是让主角向上移动还是向下移动。

好了,现在!打开我们的TollgateScene.cppinit函数,将SimpleMoveController替换为ThreeDirectionController

/* ------------ 创建玩家移动控制器 -------------- */    ThreeDirectionController* mSMoveControll = ThreeDirectionController::create();
mSMoveControll->setiXSpeed(1);
mSMoveControll->setiYSpeed(0);/* 控制器要添加到场景中才能获得update事件 */    this->addChild(mSMoveControll);mPlayer->setController(mSMoveControll);


Ok~运行游戏,成功了~好有意思的游戏,噗~

下一篇我们将为地图添加障碍物——流氓,你别到处乱跑了~

http://www.lbrq.cn/news/2455021.html

相关文章:

  • 抚顺网站建设7113推广软文范文
  • 泰州网站制作seo排名是什么意思
  • 房地产开发公司招聘兰州网站seo优化
  • 没有外网ip怎么做网站西安网站公司推广
  • 廊坊网络推广建站市场调研报告ppt
  • 建设工程指数网站电视剧百度搜索风云榜
  • 没有网站怎么做cpa怎样注册网站
  • 福建网站建设公司湖南网站seo营销
  • 宁波工商注册咨询电话淘宝seo排名优化软件
  • github 做自己的网站nba湖人队最新消息
  • 等保二级网站建设方案竞价广告是怎么推广的
  • 做美妆批发的网站网页自助建站
  • 如企业网站模板下载合肥做网络推广的公司
  • 创意设计公司排行榜seo外链工具有用吗
  • 江西高端网站定制明星百度指数在线查询
  • app在线制作平台有哪些google seo是什么意思
  • 网站名称不能涉及seo网站推广工具
  • 购物车网站建设以图搜图
  • 做哪个网站好广州市网络seo外包
  • 大气好寓意的广告公司名字企业seo关键词优化
  • vivo手机商城免费检测网站seo
  • 多种昆明网站建设苏州企业网站关键词优化
  • 模板王网站怎么下载不了模板沈阳seo优化新势力
  • wordpress主题推荐提升网页优化排名
  • 宁波网页设计制作公司seo关键词有话要多少钱
  • 河北住房和城乡建设局网站碉堡了seo博客
  • 电商网站开发的现状湖南网站建设营销推广
  • 洛阳网红打卡地冯耀宗seo教程
  • 怎么建设淘客自己的网站_手机优化大师官网
  • 泰安房产最新出售信息seo网站自动发布外链工具
  • Ubuntu 18.04安装Fast-Lio2教程
  • GO 从入门到精通2
  • 图论水题日记
  • Chromadb 1.0.15 索引全解析:从原理到实战的向量检索优化指南
  • Photon v0.3.0 基于Aria2免费开源轻量级多线程不限速下载器
  • 73. 矩阵置零