123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- #ifndef __PHYSICSNODES_CCPHYSICSSPRITE_H__
- #define __PHYSICSNODES_CCPHYSICSSPRITE_H__
- #include "2d/CCSprite.h"
- #include "extensions/ExtensionMacros.h"
- #include "extensions/ExtensionExport.h"
- #include "base/CCEventListenerCustom.h"
- #if (CC_ENABLE_CHIPMUNK_INTEGRATION || CC_ENABLE_BOX2D_INTEGRATION)
- struct cpBody;
- class b2Body;
- NS_CC_EXT_BEGIN
- class CC_EX_DLL PhysicsSprite : public Sprite
- {
- public:
- static PhysicsSprite* create();
-
- static PhysicsSprite* createWithTexture(Texture2D *pTexture);
-
- static PhysicsSprite* createWithTexture(Texture2D *pTexture, const Rect& rect);
-
- static PhysicsSprite* createWithSpriteFrame(SpriteFrame *pSpriteFrame);
-
- static PhysicsSprite* createWithSpriteFrameName(const char *pszSpriteFrameName);
-
- static PhysicsSprite* create(const char *pszFileName);
-
- static PhysicsSprite* create(const char *pszFileName, const Rect& rect);
- PhysicsSprite();
- virtual bool isDirty() const override;
-
- bool isIgnoreBodyRotation() const;
- void setIgnoreBodyRotation(bool bIgnoreBodyRotation);
-
-
-
-
- cpBody* getCPBody() const;
- void setCPBody(cpBody *pBody);
-
-
-
-
- b2Body* getB2Body() const;
- void setB2Body(b2Body *pBody);
- float getPTMRatio() const;
- void setPTMRatio(float fPTMRatio);
- virtual void syncPhysicsTransform() const;
-
- virtual const Vec2& getPosition() const override;
- virtual void getPosition(float* x, float* y) const override;
- virtual float getPositionX() const override;
- virtual float getPositionY() const override;
- virtual Vec3 getPosition3D() const override;
- virtual void setPosition(const Vec2 &position) override;
- virtual void setPosition(float x, float y) override;
- virtual void setPositionX(float x) override;
- virtual void setPositionY(float y) override;
- virtual void setPosition3D(const Vec3& position) override;
- virtual float getRotation() const override;
- virtual void setRotation(float fRotation) override;
-
- virtual void onEnter() override;
- virtual void onExit() override;
- protected:
- const Vec2& getPosFromPhysics() const;
- void afterUpdate(EventCustom *event);
- protected:
- bool _ignoreBodyRotation;
-
- cpBody *_CPBody;
-
- b2Body *_pB2Body;
- float _PTMRatio;
-
-
- cocos2d::EventListenerCustom* _syncTransform;
- };
- NS_CC_EXT_END
- #endif
- #endif
|