Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Cocos2d-x 3.0-用于新类的DrawNode()_C++_Cocos2d X_Cocos2d X 3.0 - Fatal编程技术网

C++ Cocos2d-x 3.0-用于新类的DrawNode()

C++ Cocos2d-x 3.0-用于新类的DrawNode(),c++,cocos2d-x,cocos2d-x-3.0,C++,Cocos2d X,Cocos2d X 3.0,我会尽力解释的。我必须创建一类点,这些点的属性包括尺寸、颜色、动作序列和一些布尔值,因此我创建了一个Dot.h文件: #include "cocos2d.h" USING_NS_CC; class Dot : public cocos2d::Layer{ public: virtual bool init(); CREATE_FUNC(Whites); private: bool circumstanceA = 1; bool circumstanceB = 0;

我会尽力解释的。我必须创建一类点,这些点的属性包括尺寸、颜色、动作序列和一些布尔值,因此我创建了一个Dot.h文件:

#include "cocos2d.h"
USING_NS_CC;
class Dot : public cocos2d::Layer{
public:
    virtual bool init();
    CREATE_FUNC(Whites);
private:
    bool circumstanceA = 1;
    bool circumstanceB = 0;
};
和一个Dot.cpp文件:

#include "Dot.h"
USING_NS_CC;
bool Dot::init()
{
    if ( !Layer::init() )
        return false;
    Size visibleSize = Director::getInstance()->getVisibleSize();
    Vec2 origin = Director::getInstance()->getVisibleOrigin();

    auto scale = ScaleTo::create(0.5, (visibleSize.height / 6) + (arc4random() % (visibleSize.height / 15)) - visibleSize.height /30);
    auto scale_ease = EaseBackOut::create(scale->clone());
    return true;
}
现在,我被困在这里了。我对Cocos2d-x语法是新手,也是一名程序员,所以如果我的问题对你来说似乎很平庸,我很抱歉,但我是来学习的

我需要的是能够像对待普通精灵一样对待这个类中的对象

首先,我如何告诉程序,对于每个点对象,它必须画一个点来附加到该对象上?就像一个精灵。只是添加一些类似于

drawDot(Vec2((arc4random() % (int)(visibleSize.width - visibleSize.width / 6)) + visibleSize.width / 12, (arc4random() % (int)(visibleSize.width - visibleSize.width / 3.5)) + visibleSize.width / 7), 0, Color4F(255,255,255,255));
在Dot.cpp的init中,将过于简单:/

我用来创建圆点的函数是正确的吗?我在网上找到了很多,但不知道哪一个是最好的/最新的

当我声明一个新对象时,我应该在场景中这样做吗?像

Dot *myDot = Dot::create();
myDot->drawDot(Vec2((arc4random() % (int)(visibleSize.width - visibleSize.width / 6)) + visibleSize.width / 12, (arc4random() % (int)(visibleSize.width - visibleSize.width / 3.5)) + visibleSize.width / 7), 0, Color4F(255,255,255,255));
但这样它就不会编译

我需要一个基地开始,请告诉我,如果我是正确的方式,或者如果我必须重新启动以获得我的点对象


非常感谢你

我在这里发现了我的错误:

我只需要替换Dot.h中类声明中的实现

无论如何,谢谢!:

class Dot : public cocos2d::Layer
class Dot : public cocos2d::DrawNode