Skip to content

Commit

Permalink
[sfml] Added owl sample.
Browse files Browse the repository at this point in the history
  • Loading branch information
badlogic committed Jan 23, 2018
1 parent a9deff2 commit b7e712d
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions spine-sfml/example/main.cpp
Expand Up @@ -366,6 +366,60 @@ void coin (SkeletonData* skeletonData, Atlas* atlas) {
}
}

void owl (SkeletonData* skeletonData, Atlas* atlas) {
SkeletonDrawable* drawable = new SkeletonDrawable(skeletonData);
drawable->timeScale = 1;

Skeleton* skeleton = drawable->skeleton;
skeleton->x = 320;
skeleton->y = 400;
Skeleton_updateWorldTransform(skeleton);

AnimationState_setAnimationByName(drawable->state, 0, "idle", true);
AnimationState_setAnimationByName(drawable->state, 1, "blink", true);
spTrackEntry* left = AnimationState_setAnimationByName(drawable->state, 2, "left", true);
spTrackEntry* right = AnimationState_setAnimationByName(drawable->state, 3, "right", true);
spTrackEntry* up = AnimationState_setAnimationByName(drawable->state, 4, "up", true);
spTrackEntry* down = AnimationState_setAnimationByName(drawable->state, 5, "down", true);

left->alpha = 0;
left->mixBlend = SP_MIX_BLEND_ADD;
right->alpha = 0;
right->mixBlend = SP_MIX_BLEND_ADD;
up->alpha = 0;
up->mixBlend = SP_MIX_BLEND_ADD;
down->alpha = 0;
down->mixBlend = SP_MIX_BLEND_ADD;

sf::RenderWindow window(sf::VideoMode(640, 640), "Spine SFML - owl");
window.setFramerateLimit(60);
sf::Event event;
sf::Clock deltaClock;
while (window.isOpen()) {
while (window.pollEvent(event)) {
if (event.type == sf::Event::Closed) window.close();
if (event.type == sf::Event::MouseMoved) {
float x = event.mouseMove.x / 640.0f;
left->alpha = (MAX(x, 0.5f) - 0.5f) * 2;
right->alpha = (0.5 - MIN(x, 0.5)) * 2;

float y = event.mouseMove.y / 640.0f;
down->alpha = (MAX(y, 0.5f) - 0.5f) * 2;
up->alpha = (0.5 - MIN(y, 0.5)) * 2;
}
}

float delta = deltaClock.getElapsedTime().asSeconds();
deltaClock.restart();

drawable->update(delta);

window.clear();
window.draw(*drawable);
window.display();
}
}

/**
* Used for debugging purposes during runtime development
*/
Expand Down Expand Up @@ -395,6 +449,7 @@ void test (SkeletonData* skeletonData, Atlas* atlas) {

int main () {
testcase(test, "data/tank-pro.json", "data/tank-pro.skel", "data/tank.atlas", 1.0f);
testcase(owl, "data/owl-pro.json", "data/owl-pro.skel", "data/owl.atlas", 0.5f);
testcase(coin, "data/coin-pro.json", "data/coin-pro.skel", "data/coin.atlas", 0.5f);
testcase(vine, "data/vine-pro.json", "data/vine-pro.skel", "data/vine.atlas", 0.5f);
testcase(tank, "data/tank-pro.json", "data/tank-pro.skel", "data/tank.atlas", 0.2f);
Expand Down

0 comments on commit b7e712d

Please sign in to comment.