mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-06 07:14:55 +08:00
Updated to 3.1 final.
This commit is contained in:
parent
8736bd6bcb
commit
6e162a2fe7
@ -52,7 +52,7 @@ bool GoblinsExample::init () {
|
||||
skeletonNode->setSkin("goblin");
|
||||
|
||||
Size windowSize = Director::getInstance()->getWinSize();
|
||||
skeletonNode->setPosition(Vector2(windowSize.width / 2, 20));
|
||||
skeletonNode->setPosition(Vec2(windowSize.width / 2, 20));
|
||||
addChild(skeletonNode);
|
||||
|
||||
scheduleUpdate();
|
||||
|
||||
@ -78,7 +78,7 @@ bool SpineboyExample::init () {
|
||||
// skeletonNode->runAction(RepeatForever::create(Sequence::create(FadeOut::create(1), FadeIn::create(1), DelayTime::create(5), NULL)));
|
||||
|
||||
Size windowSize = Director::getInstance()->getWinSize();
|
||||
skeletonNode->setPosition(Vector2(windowSize.width / 2, 20));
|
||||
skeletonNode->setPosition(Vec2(windowSize.width / 2, 20));
|
||||
addChild(skeletonNode);
|
||||
|
||||
scheduleUpdate();
|
||||
|
||||
@ -133,13 +133,13 @@ void SkeletonRenderer::update (float deltaTime) {
|
||||
spSkeleton_update(skeleton, deltaTime * timeScale);
|
||||
}
|
||||
|
||||
void SkeletonRenderer::draw (Renderer* renderer, const Matrix& transform, bool transformUpdated) {
|
||||
void SkeletonRenderer::draw (Renderer* renderer, const Mat4& transform, bool transformUpdated) {
|
||||
drawCommand.init(_globalZOrder);
|
||||
drawCommand.func = CC_CALLBACK_0(SkeletonRenderer::drawSkeleton, this, transform, transformUpdated);
|
||||
renderer->addCommand(&drawCommand);
|
||||
}
|
||||
|
||||
void SkeletonRenderer::drawSkeleton (const Matrix &transform, bool transformUpdated) {
|
||||
void SkeletonRenderer::drawSkeleton (const Mat4 &transform, bool transformUpdated) {
|
||||
getGLProgram()->use();
|
||||
getGLProgram()->setUniformsForBuiltins(transform);
|
||||
GL::bindVAO(0);
|
||||
@ -230,17 +230,17 @@ void SkeletonRenderer::drawSkeleton (const Matrix &transform, bool transformUpda
|
||||
// Slots.
|
||||
DrawPrimitives::setDrawColor4B(0, 0, 255, 255);
|
||||
glLineWidth(1);
|
||||
Vector2 points[4];
|
||||
Vec2 points[4];
|
||||
V3F_C4B_T2F_Quad quad;
|
||||
for (int i = 0, n = skeleton->slotCount; i < n; i++) {
|
||||
spSlot* slot = skeleton->drawOrder[i];
|
||||
if (!slot->attachment || slot->attachment->type != SP_ATTACHMENT_REGION) continue;
|
||||
spRegionAttachment* attachment = (spRegionAttachment*)slot->attachment;
|
||||
spRegionAttachment_computeWorldVertices(attachment, slot->skeleton->x, slot->skeleton->y, slot->bone, worldVertices);
|
||||
points[0] = Vector2(worldVertices[0], worldVertices[1]);
|
||||
points[1] = Vector2(worldVertices[2], worldVertices[3]);
|
||||
points[2] = Vector2(worldVertices[4], worldVertices[5]);
|
||||
points[3] = Vector2(worldVertices[6], worldVertices[7]);
|
||||
points[0] = Vec2(worldVertices[0], worldVertices[1]);
|
||||
points[1] = Vec2(worldVertices[2], worldVertices[3]);
|
||||
points[2] = Vec2(worldVertices[4], worldVertices[5]);
|
||||
points[3] = Vec2(worldVertices[6], worldVertices[7]);
|
||||
DrawPrimitives::drawPoly(points, 4, true);
|
||||
}
|
||||
}
|
||||
@ -252,14 +252,14 @@ void SkeletonRenderer::drawSkeleton (const Matrix &transform, bool transformUpda
|
||||
spBone *bone = skeleton->bones[i];
|
||||
float x = bone->data->length * bone->m00 + bone->worldX;
|
||||
float y = bone->data->length * bone->m10 + bone->worldY;
|
||||
DrawPrimitives::drawLine(Vector2(bone->worldX, bone->worldY), Vector2(x, y));
|
||||
DrawPrimitives::drawLine(Vec2(bone->worldX, bone->worldY), Vec2(x, y));
|
||||
}
|
||||
// Bone origins.
|
||||
DrawPrimitives::setPointSize(4);
|
||||
DrawPrimitives::setDrawColor4B(0, 0, 255, 255); // Root bone is blue.
|
||||
for (int i = 0, n = skeleton->boneCount; i < n; i++) {
|
||||
spBone *bone = skeleton->bones[i];
|
||||
DrawPrimitives::drawPoint(Vector2(bone->worldX, bone->worldY));
|
||||
DrawPrimitives::drawPoint(Vec2(bone->worldX, bone->worldY));
|
||||
if (i == 0) DrawPrimitives::setDrawColor4B(0, 255, 0, 255);
|
||||
}
|
||||
}
|
||||
@ -308,7 +308,7 @@ Rect SkeletonRenderer::getBoundingBox () const {
|
||||
maxY = max(maxY, y);
|
||||
}
|
||||
}
|
||||
Vector2 position = getPosition();
|
||||
Vec2 position = getPosition();
|
||||
return Rect(position.x + minX, position.y + minY, maxX - minX, maxY - minY);
|
||||
}
|
||||
|
||||
|
||||
@ -59,8 +59,8 @@ public:
|
||||
virtual ~SkeletonRenderer ();
|
||||
|
||||
virtual void update (float deltaTime) override;
|
||||
virtual void draw (cocos2d::Renderer* renderer, const cocos2d::Matrix& transform, bool transformUpdated) override;
|
||||
virtual void drawSkeleton (const cocos2d::Matrix& transform, bool transformUpdated);
|
||||
virtual void draw (cocos2d::Renderer* renderer, const cocos2d::Mat4& transform, bool transformUpdated) override;
|
||||
virtual void drawSkeleton (const cocos2d::Mat4& transform, bool transformUpdated);
|
||||
virtual cocos2d::Rect getBoundingBox () const override;
|
||||
|
||||
// --- Convenience methods for common Skeleton_* functions.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user