博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cocos2dx 3.x(让精灵随着重力感应的方向移动而移动)
阅读量:5973 次
发布时间:2019-06-19

本文共 2008 字,大约阅读时间需要 6 分钟。

1 // 2 //  GameScene.hpp 3 //  HelloWord 4 // 5 //  Created by apple on 2017/1/7. 6 // 7 // 8  9 #ifndef GameScene_hpp10 #define GameScene_hpp11 12 #include 
13 #include "cocos2d.h"14 15 USING_NS_CC;16 17 class GameScene : public cocos2d::Layer18 {19 public:20 static cocos2d::Scene* createScene();21 22 virtual bool init();23 24 //重力感应回调函数25 void didAccelerate(Acceleration* acc, Event* event);26 27 CREATE_FUNC(GameScene);28 29 private: 30 Size size;31 Sprite *sprite;32 };33 #endif /* GameScene_hpp */

 

 

1 // 2 //  GameScene.cpp 3 //  HelloWord 4 // 5 //  Created by apple on 2017/1/7. 6 // 7 // 8  9 #include "GameScene.hpp"10 USING_NS_CC;11 12 cocos2d::Scene* GameScene::createScene()13 {14     auto scene = Scene::create();   //创建一个场景15     auto layer = GameScene::create();   //创建一个图层16     scene->addChild(layer);17     return scene;18 }19 20 //初始化当前的图层21 bool GameScene::init()22 {23     if(!Layer::init())      //初始化父类24         return false;25     26     //获取屏幕大小27     size = Director::getInstance()->getVisibleSize();28     //auto size = Director::getInstance()->getWinSize();29     //添加一个图片精灵30     sprite = Sprite::create("CloseNormal.png");31     sprite->setPosition(Vec2(size.width/2, size.height/2));32     sprite->setTag(12);33     this->addChild(sprite);34     35     //开启重力感应36     Device::setAccelerometerEnabled(true);37     38     //创建事件监听对象39     auto listener = EventListenerAcceleration::create(CC_CALLBACK_2(GameScene::didAccelerate, this));40     41     //在事件监听器中注册42     _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);43     44     return true;45 }46 47 void GameScene::didAccelerate(Acceleration* acc, Event* event)48 {49     //使精灵随重力感应移动50     auto sprite = this->getChildByTag(12);      //通过标签获取精灵51     52     auto pos = sprite->getPosition();53     54     pos.x += acc->x;55     pos.y += acc->y;56     //pos.y += acc->y * 10;     //调整精灵移动敏感度57     58     sprite->setPosition(pos);59 }

 

转载地址:http://pabox.baihongyu.com/

你可能感兴趣的文章
表归档脚本脚本
查看>>
Linux 监视用户的使用情况
查看>>
js如何把一个时间戳转换成固定字符串格式的日期
查看>>
九大措施确保VMware View安全
查看>>
Jquery实现图片轮播功能
查看>>
MyEclipse设置自动提示
查看>>
[cocos2dx]COCOS2D-X 关于 fatal error C1083: 无法打开包括文件:“CCStdC.h” 的问题
查看>>
快速掌握一门常用语言的50%
查看>>
误删除根目录
查看>>
你被定制化了吗?
查看>>
InputStreamReader和FileReader的一个区别
查看>>
Log4j 2.x入门
查看>>
检测tomcat假死时重新启动及邮件通知
查看>>
java.math.BigDecimal cannot be cast to java.lang.String ----解决方案
查看>>
ibatis一些使用小记
查看>>
手动创建Web项目
查看>>
vbox share file between guest with host
查看>>
maven项目部署到Repository(Nexus)
查看>>
oracle序列的两个参数:nextval和currval简介
查看>>
我的友情链接
查看>>