Search code examples
cocos2d-x

Why Can't I override draw method from cocos2d::sprite?


I need to override draw method from sprite to apply some custom stuff, but it doesnt hit my draw override at all. I'm pretty sure I am doing it correctly:

.h file:

virtual void draw(cocos2d::Renderer* renderer, const cocos2d::Mat4& transform, bool transformUpdated);

.cpp file:

void CustomSprite::draw(cocos2d::Renderer* renderer, const cocos2d::Mat4& transform, bool transformUpdated)
{
    int x = 0;   //breakpoint here
}

my class is

#include "cocos2d.h"

class CustomSprite : public cocos2d::Sprite
{

Solution

  • The solution was:

    in .h:
    virtual void draw(cocos2d::Renderer *renderer, const cocos2d::Mat4 &transform, uint32_t flags) override;
    
    in .cpp:
    void EnergyManager::draw(cocos2d::Renderer* renderer, const cocos2d::Mat4& transform, uint32_t flags)
    

    thanks to Kobyle