cocos2d-x之悦动的小球

Posted 一生不过烟花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2d-x之悦动的小球相关的知识,希望对你有一定的参考价值。

主:

bool HelloWorld::init()

{

    if ( !LayerColor::initWithColor(Color4B(255,255,255,255)))

    {

        return false;

    }

    

    for (int i=0;i<10;i++) {

        auto b=Ball::create();

        b->setPosition(CCRANDOM_0_1()*200+400,CCRANDOM_0_1()*200+400);

        addChild(b);

    }

    

    return true;

}

hpp:

 

#include <stdio.h>

#include "cocos2d.h"

 

using namespace cocos2d;

 

class Ball:public Sprite

{

public:

    virtual bool init();

    void update(float dt);

    CREATE_FUNC(Ball);

private:

    float speedX,speedY;

    Size visibleSize;

};

 

cpp:

 

#include "Ball.hpp"

 

bool Ball::init(){

    Sprite::initWithFile("GOODS_3201_0.png");

    visibleSize=Director::getInstance()->getVisibleSize();

    speedX=CCRANDOM_0_1()*10-5;//-5到5之间

    speedY=CCRANDOM_0_1()*10-5;

    

    scheduleUpdate();

    return true;

}

 

void Ball::update(float dt){

    setPosition(getPositionX()+speedX,getPositionY()+speedY);

    

    if (getPositionX()<getContentSize().width/2) {

        speedX=fabs(speedX);

    }

    if (getPositionX()>visibleSize.width-getContentSize().width/2) {

        speedX=-fabs(speedX);

    }

    if (getPositionY()<getContentSize().height/2) {

        speedY=fabs(speedY);

    }

    if (getPositionY()>visibleSize.height-getContentSize().height/2) {

        speedY=-fabs(speedY);

    }

}

以上是关于cocos2d-x之悦动的小球的主要内容,如果未能解决你的问题,请参考以下文章

[cocos2d-x]-会动的精灵

[cocos2d-x]-会动的精灵

Cocos2d-x加速度计实例:运动的小球

cocos2d-x-3.x中Label的中文乱码问题

cocos2d-x 重力感应

Cocos2d-x 强制设置运动刚体的位置