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

        }

    }

  • 相关阅读:
    MVC3+Spring.net+NHibernate+ExtJs的简单架构
    WCF初见之Salt+Hash加密
    演讲时经常用到的几个小工具介绍
    2asp.net mvc 4 in action
    Hadoop简介和实践分享
    PyMongo非关系型数据库mongodb入门
    网络资源定位(Url)的奥秘
    ApplicationPoolIdentity
    CustomBehavior 入门
    架构培训
  • 原文地址:https://www.cnblogs.com/daochong/p/5257060.html
Copyright © 2011-2022 走看看