- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cocos2d-X学习教程
内容重点: 射击遊戏, 框架, 操控, 视窗键盘运用这次我準备写一个简单的射击遊戏作为练习, 遊戏里可以控制主角移动, 按钮发射子弹射击飞过来的敌人, 被敌人撞到就 Game Over.通过这个练习可以熟识一些基本的东西, 像:- 遊戏框架- 操控- 声效- 粒子效果4.1 SneakyInput先说一下关於操控吧, 之前买了两本 cocos2d 的参考书, 都推荐用一个第叁方cocos2d 库叫 SneakyInput, 所以我就拿来试用一下, 结果觉得果然不错, 为遊戏加入虚拟操控杆和按钮非常方便!原装cocos2d 版大家可以在这里下载:/sneakyness/SneakyInput当然我们需要的是 cocos2d-x 版:/Ntran013/SneakyInput下载後把里边的源码都加到自己的工程里就可以。
在作这个练习时, 正好赶上 cocos2d-x 2.0 第一版的发佈, 我比较喜欢试新东西, 所以就第一时间转过去了, 2.0 底层换了用 OpenGL ES 2.0, API 也作出了不少的改动, 正好我刚开始学习 cocos2d, 弄的都是小项目, 说换就换不头痛.在用 SneakyInput 时, 要有两个小改动才能在 2.0 上编译, 其中一个是 1.0 时已经要改的了:在SneakyButton和 SneakyJoystick 的 ccTouchBegan(), ccTouchMoved() 里, 要把这句:
CCPointlocation=CCDirector::sharedDirector()-convertToGL(touch-locationInView(touch-view()));
改为:
CCPointlocation=CCDirector::sharedDirector()-convertToGL(touch-locationInView());
另一个改动, 是在SneakyButton和 SneakyJoystick 的 onEnterTransitionDidFinish() 和 onExit() 里, CCTouchDispatcher 在 1.0 时是一个 Singleton, 但在2.0 被放进入CCDirector, 所以本来的
CCTouchDispatcher::sharedDispatcher()
要在遊戏里加上一个 操控杆, 首先我们要準备一个底座和一个操控杆的图像, 接下来, 先要建立一个 SneakyJoystickSkinnedBase:
SneakyJoystickSkinnedBase*joystickBase=newSneakyJoystickSkinnedBase();
joystickBase-autorelease();
joystickBase-init();
joystickBase-setBackgroundSprite(CCSprite::spriteWithSpriteFrameName(circleBig.png));//底座
joystickBase-setThumbSprite(CCSprite::spriteWithSpriteFrameName(circleSmall.png));//操控杆
joystickBase-setPosition(System::CCPointMake(48,48));
然後我们要建立一个SneakyJoystick 并设置到 SneakyJoystickSkinnedBase 里:
SneakyJoystick*joystick=newSneakyJoystick();
joystick-autorelease();
joystick-initWithRect(CCRectMake(0,0,64,64));
joystickBase-setJoystick(joystick);
this-addChild(joystickBase);
用 SneakyInput 加遊戏按钮也是同样简单, 但用的是 SneakyButtonSkinnedBase 和 SneakyButton:
SneakyButtonSkinnedBase*buttonBase=newSneakyButtonSkinnedBase();
buttonBase-autorelease();
buttonBase-init();
buttonBase-setDefaultSprite(CCSprite::spriteWithSpriteFrameName(buttonBlue.png));
buttonBase-setActivatedSprite(CCS
您可能关注的文档
- 2012届中考数学第一轮复习检测题3.doc
- 2013-2017年中国豆制品市场投资前景分析报告.doc
- SMP-SB-019-00除尘系统管理规程.doc
- 保险基层员工岗位培训.doc
- 不同情感类型的诗歌鉴赏.doc
- 橱柜经销商“换血”忙 企业更需提升实力.doc
- 第十四章中国特色.ppt
- 电脑高手常用的5个按键.doc
- 高二语文半期试题.doc
- 工程量签证单.doc
- 2024版智慧城市挡墙施工与物联网监控合同.docx
- 2024年中国pp合成树脂行业未来趋势预测分析及投资规划研究建议报告.docx
- 2024年中国冶金胶辊行业市场调查报告.docx
- 2024版智能家居系统研发与销售合作协议范本[23].docx
- 2024版测绘项目必威体育官网网址责任追究与赔偿合同.docx
- matlab插值求解数值计算设计.pdf
- 2024版旅游度假村导游人员劳动合同.docx
- 2024版春晚明星必威体育官网网址合同:泄密即终止合作并承担法律责任.docx
- 2024年中国顺丁橡胶行业未来趋势预测分析及投资规划研究建议报告.docx
- 2024年中国石油化工催化剂行业市场调查报告.docx
文档评论(0)