码迷,mamicode.com
首页 > 其他好文 > 详细

Cocos2d-x3.2 重力感应

时间:2014-08-16 12:40:10      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:os   io   ar   size   ad   ef   on   sp   

//GameScene.h

#include "cocos2d.h"

USING_NS_CC;

class GameScene : public cocos2d::Layer
{
public:
    static cocos2d::Scene* createScene();
    
    virtual bool init();
    
    void menuCallback(Ref* pSender);
    
    //重写重力感应函数
    virtual void didAccelerate(Acceleration* acc, Event* event);
    
    CREATE_FUNC(GameScene);
    
private:        //注意不能用auto关键字
    Size size;
    Sprite *sprite;
};



//GameScene.cpp

//  Created by Jacedy on 14-8-11.

#include "GameScene.h"

USING_NS_CC;

cocos2d::Scene* GameScene::createScene()
{
    auto scene = Scene::create();   //创建一个场景
    auto layer = GameScene::create();   //创建一个图层
    scene->addChild(layer);
    return scene;
}

//初始化当前的图层
bool GameScene::init()
{
    if(!Layer::init())      //初始化父类
        return false;
    
    //获取屏幕大小
    size = Director::getInstance()->getVisibleSize();
    //auto size = Director::getInstance()->getWinSize();
    //添加一个图片精灵
    sprite = Sprite::create("OnePiece_1.png");
    sprite->setPosition(Vec2(size.width/2, size.height/2));
    sprite->setTag(12);
    this->addChild(sprite);
    
    //开启重力感应
    Device::setAccelerometerEnabled(true);
    
    //创建事件监听对象
    auto listener = EventListenerAcceleration::create(CC_CALLBACK_2(GameScene::didAccelerate, this));
    
    //在事件监听器中注册
    _eventDispatcher->addEventListenerWithSceneGraphPriority(listener, this);
    
    return true;
}

void GameScene::didAccelerate(Acceleration* acc, Event* event)
{
    //使精灵随重力感应移动
    auto sprite = this->getChildByTag(12);      //通过标签获取精灵

    auto pos = sprite->getPosition();
    
    pos.x += acc->x;
    pos.y += acc->y;
    //pos.y += acc->y * 10;     //调整敏感度
    
    sprite->setPosition(pos);
}

void GameScene::menuCallback(Ref* pSender)
{
    
}


Cocos2d-x3.2 重力感应,布布扣,bubuko.com

Cocos2d-x3.2 重力感应

标签:os   io   ar   size   ad   ef   on   sp   

原文地址:http://my.oschina.net/Jacedy/blog/301866

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!