zoukankan      html  css  js  c++  java
  • cocos2d-x之悦动的小球

    发现问题:update()函数不能用virtual前缀

    主:

    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);

        }

    }

  • 相关阅读:
    PHP excel读取excel文件转换为数组
    PHP输出xls文件
    proxy_redirect参数的作用
    nginx反向代理批量实现https协议访问
    用lua nginx module搭建一个二维码
    canvas操作图片,进行面板画图,旋转等
    线性表
    什么是闭包
    简单注解扫描的思考
    编写自己的validate校验框架原理(转)
  • 原文地址:https://www.cnblogs.com/daochong/p/5257060.html
Copyright © 2011-2022 走看看