mirror of https://github.com/axmolengine/axmol.git
Merge pull request #7024 from pandamicro/SpriteFrame_Ctor
Issue #5533: Add SpriteFrame's constructor
This commit is contained in:
commit
d7af5eccd4
|
@ -69,6 +69,13 @@ SpriteFrame* SpriteFrame::create(const std::string& filename, const Rect& rect,
|
||||||
return spriteFrame;
|
return spriteFrame;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SpriteFrame::SpriteFrame(void)
|
||||||
|
: _rotated(false)
|
||||||
|
, _texture(nullptr)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
bool SpriteFrame::initWithTexture(Texture2D* texture, const Rect& rect)
|
bool SpriteFrame::initWithTexture(Texture2D* texture, const Rect& rect)
|
||||||
{
|
{
|
||||||
Rect rectInPixels = CC_RECT_POINTS_TO_PIXELS(rect);
|
Rect rectInPixels = CC_RECT_POINTS_TO_PIXELS(rect);
|
||||||
|
|
|
@ -75,34 +75,6 @@ public:
|
||||||
The originalSize is the size in points of the frame before being trimmed.
|
The originalSize is the size in points of the frame before being trimmed.
|
||||||
*/
|
*/
|
||||||
static SpriteFrame* createWithTexture(Texture2D* pobTexture, const Rect& rect, bool rotated, const Vec2& offset, const Size& originalSize);
|
static SpriteFrame* createWithTexture(Texture2D* pobTexture, const Rect& rect, bool rotated, const Vec2& offset, const Size& originalSize);
|
||||||
/**
|
|
||||||
* @js NA
|
|
||||||
* @lua NA
|
|
||||||
*/
|
|
||||||
virtual ~SpriteFrame(void);
|
|
||||||
|
|
||||||
/** Initializes a SpriteFrame with a texture, rect in points.
|
|
||||||
It is assumed that the frame was not trimmed.
|
|
||||||
*/
|
|
||||||
bool initWithTexture(Texture2D* pobTexture, const Rect& rect);
|
|
||||||
|
|
||||||
/** Initializes a SpriteFrame with a texture filename, rect in points;
|
|
||||||
It is assumed that the frame was not trimmed.
|
|
||||||
*/
|
|
||||||
bool initWithTextureFilename(const std::string& filename, const Rect& rect);
|
|
||||||
|
|
||||||
/** Initializes a SpriteFrame with a texture, rect, rotated, offset and originalSize in pixels.
|
|
||||||
The originalSize is the size in points of the frame before being trimmed.
|
|
||||||
*/
|
|
||||||
bool initWithTexture(Texture2D* pobTexture, const Rect& rect, bool rotated, const Vec2& offset, const Size& originalSize);
|
|
||||||
|
|
||||||
/** Initializes a SpriteFrame with a texture, rect, rotated, offset and originalSize in pixels.
|
|
||||||
The originalSize is the size in pixels of the frame before being trimmed.
|
|
||||||
|
|
||||||
@since v1.1
|
|
||||||
*/
|
|
||||||
bool initWithTextureFilename(const std::string& filename, const Rect& rect, bool rotated, const Vec2& offset, const Size& originalSize);
|
|
||||||
|
|
||||||
|
|
||||||
// attributes
|
// attributes
|
||||||
inline const Rect& getRectInPixels() const { return _rectInPixels; }
|
inline const Rect& getRectInPixels() const { return _rectInPixels; }
|
||||||
|
@ -141,6 +113,39 @@ public:
|
||||||
|
|
||||||
// Overrides
|
// Overrides
|
||||||
virtual SpriteFrame *clone() const override;
|
virtual SpriteFrame *clone() const override;
|
||||||
|
|
||||||
|
CC_CONSTRUCTOR_ACCESS:
|
||||||
|
/**
|
||||||
|
* @lua NA
|
||||||
|
*/
|
||||||
|
SpriteFrame(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @lua NA
|
||||||
|
*/
|
||||||
|
virtual ~SpriteFrame(void);
|
||||||
|
|
||||||
|
/** Initializes a SpriteFrame with a texture, rect in points.
|
||||||
|
It is assumed that the frame was not trimmed.
|
||||||
|
*/
|
||||||
|
bool initWithTexture(Texture2D* pobTexture, const Rect& rect);
|
||||||
|
|
||||||
|
/** Initializes a SpriteFrame with a texture filename, rect in points;
|
||||||
|
It is assumed that the frame was not trimmed.
|
||||||
|
*/
|
||||||
|
bool initWithTextureFilename(const std::string& filename, const Rect& rect);
|
||||||
|
|
||||||
|
/** Initializes a SpriteFrame with a texture, rect, rotated, offset and originalSize in pixels.
|
||||||
|
The originalSize is the size in points of the frame before being trimmed.
|
||||||
|
*/
|
||||||
|
bool initWithTexture(Texture2D* pobTexture, const Rect& rect, bool rotated, const Vec2& offset, const Size& originalSize);
|
||||||
|
|
||||||
|
/** Initializes a SpriteFrame with a texture, rect, rotated, offset and originalSize in pixels.
|
||||||
|
The originalSize is the size in pixels of the frame before being trimmed.
|
||||||
|
|
||||||
|
@since v1.1
|
||||||
|
*/
|
||||||
|
bool initWithTextureFilename(const std::string& filename, const Rect& rect, bool rotated, const Vec2& offset, const Size& originalSize);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Vec2 _offset;
|
Vec2 _offset;
|
||||||
|
|
|
@ -132,13 +132,12 @@ void SpriteFrameCache::addSpriteFramesWithDictionary(ValueMap& dictionary, Textu
|
||||||
ow = abs(ow);
|
ow = abs(ow);
|
||||||
oh = abs(oh);
|
oh = abs(oh);
|
||||||
// create frame
|
// create frame
|
||||||
spriteFrame = new SpriteFrame();
|
spriteFrame = SpriteFrame::createWithTexture(texture,
|
||||||
spriteFrame->initWithTexture(texture,
|
Rect(x, y, w, h),
|
||||||
Rect(x, y, w, h),
|
false,
|
||||||
false,
|
Vec2(ox, oy),
|
||||||
Vec2(ox, oy),
|
Size((float)ow, (float)oh)
|
||||||
Size((float)ow, (float)oh)
|
);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
else if(format == 1 || format == 2)
|
else if(format == 1 || format == 2)
|
||||||
{
|
{
|
||||||
|
@ -155,13 +154,12 @@ void SpriteFrameCache::addSpriteFramesWithDictionary(ValueMap& dictionary, Textu
|
||||||
Size sourceSize = SizeFromString(frameDict["sourceSize"].asString());
|
Size sourceSize = SizeFromString(frameDict["sourceSize"].asString());
|
||||||
|
|
||||||
// create frame
|
// create frame
|
||||||
spriteFrame = new SpriteFrame();
|
spriteFrame = SpriteFrame::createWithTexture(texture,
|
||||||
spriteFrame->initWithTexture(texture,
|
frame,
|
||||||
frame,
|
rotated,
|
||||||
rotated,
|
offset,
|
||||||
offset,
|
sourceSize
|
||||||
sourceSize
|
);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
else if (format == 3)
|
else if (format == 3)
|
||||||
{
|
{
|
||||||
|
@ -186,17 +184,15 @@ void SpriteFrameCache::addSpriteFramesWithDictionary(ValueMap& dictionary, Textu
|
||||||
}
|
}
|
||||||
|
|
||||||
// create frame
|
// create frame
|
||||||
spriteFrame = new SpriteFrame();
|
spriteFrame = SpriteFrame::createWithTexture(texture,
|
||||||
spriteFrame->initWithTexture(texture,
|
Rect(textureRect.origin.x, textureRect.origin.y, spriteSize.width, spriteSize.height),
|
||||||
Rect(textureRect.origin.x, textureRect.origin.y, spriteSize.width, spriteSize.height),
|
textureRotated,
|
||||||
textureRotated,
|
spriteOffset,
|
||||||
spriteOffset,
|
spriteSourceSize);
|
||||||
spriteSourceSize);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// add sprite frame
|
// add sprite frame
|
||||||
_spriteFrames.insert(spriteFrameName, spriteFrame);
|
_spriteFrames.insert(spriteFrameName, spriteFrame);
|
||||||
spriteFrame->release();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue