Cocos2d-X学习教程.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档