|
@@ -1,27 +1,27 @@
|
|
-var skinsDemo = function(loadingComplete, bgColor) {
|
|
|
|
|
|
+var skinsDemo = function(loadingComplete, bgColor) {
|
|
var canvas, gl, renderer, input, assetManager;
|
|
var canvas, gl, renderer, input, assetManager;
|
|
- var skeleton, state, offset, bounds;
|
|
|
|
|
|
+ var skeleton, state, offset, bounds;
|
|
var timeKeeper, loadingScreen;
|
|
var timeKeeper, loadingScreen;
|
|
var playButton, timeLine, isPlaying = true, playTime = 0;
|
|
var playButton, timeLine, isPlaying = true, playTime = 0;
|
|
var randomizeSkins, lastSkinChange = Date.now() / 1000, clickAnim = 0;
|
|
var randomizeSkins, lastSkinChange = Date.now() / 1000, clickAnim = 0;
|
|
|
|
|
|
var DEMO_NAME = "SkinsDemo";
|
|
var DEMO_NAME = "SkinsDemo";
|
|
|
|
|
|
- if (!bgColor) bgColor = new spine.Color(235 / 255, 239 / 255, 244 / 255, 1);
|
|
|
|
|
|
+ if (!bgColor) bgColor = new spine.Color(235 / 255, 239 / 255, 244 / 255, 1);
|
|
|
|
|
|
function init () {
|
|
function init () {
|
|
canvas = document.getElementById("skins-canvas");
|
|
canvas = document.getElementById("skins-canvas");
|
|
canvas.width = canvas.clientWidth; canvas.height = canvas.clientHeight;
|
|
canvas.width = canvas.clientWidth; canvas.height = canvas.clientHeight;
|
|
- gl = canvas.getContext("webgl", { alpha: false }) || canvas.getContext("experimental-webgl", { alpha: false });
|
|
|
|
|
|
+ gl = canvas.getContext("webgl", { alpha: false }) || canvas.getContext("experimental-webgl", { alpha: false });
|
|
|
|
|
|
- renderer = new spine.webgl.SceneRenderer(canvas, gl);
|
|
|
|
|
|
+ renderer = new spine.webgl.SceneRenderer(canvas, gl);
|
|
assetManager = spineDemos.assetManager;
|
|
assetManager = spineDemos.assetManager;
|
|
- var textureLoader = function(img) { return new spine.webgl.GLTexture(gl, img); };
|
|
|
|
|
|
+ var textureLoader = function(img) { return new spine.webgl.GLTexture(gl, img); };
|
|
assetManager.loadTexture(DEMO_NAME, textureLoader, "heroes.png");
|
|
assetManager.loadTexture(DEMO_NAME, textureLoader, "heroes.png");
|
|
assetManager.loadText(DEMO_NAME, "heroes.atlas");
|
|
assetManager.loadText(DEMO_NAME, "heroes.atlas");
|
|
- assetManager.loadJson(DEMO_NAME, "demos.json");
|
|
|
|
|
|
+ assetManager.loadJson(DEMO_NAME, "demos.json");
|
|
input = new spine.webgl.Input(canvas);
|
|
input = new spine.webgl.Input(canvas);
|
|
- timeKeeper = new spine.TimeKeeper();
|
|
|
|
|
|
+ timeKeeper = new spine.TimeKeeper();
|
|
loadingScreen = new spine.webgl.LoadingScreen(renderer);
|
|
loadingScreen = new spine.webgl.LoadingScreen(renderer);
|
|
requestAnimationFrame(load);
|
|
requestAnimationFrame(load);
|
|
}
|
|
}
|
|
@@ -30,7 +30,7 @@ var skinsDemo = function(loadingComplete, bgColor) {
|
|
timeKeeper.update();
|
|
timeKeeper.update();
|
|
if (assetManager.isLoadingComplete(DEMO_NAME)) {
|
|
if (assetManager.isLoadingComplete(DEMO_NAME)) {
|
|
var atlas = new spine.TextureAtlas(assetManager.get(DEMO_NAME, "heroes.atlas"), function(path) {
|
|
var atlas = new spine.TextureAtlas(assetManager.get(DEMO_NAME, "heroes.atlas"), function(path) {
|
|
- return assetManager.get(DEMO_NAME, path);
|
|
|
|
|
|
+ return assetManager.get(DEMO_NAME, path);
|
|
});
|
|
});
|
|
var atlasLoader = new spine.AtlasAttachmentLoader(atlas);
|
|
var atlasLoader = new spine.AtlasAttachmentLoader(atlas);
|
|
var skeletonJson = new spine.SkeletonJson(atlasLoader);
|
|
var skeletonJson = new spine.SkeletonJson(atlasLoader);
|
|
@@ -40,9 +40,9 @@ var skinsDemo = function(loadingComplete, bgColor) {
|
|
var stateData = new spine.AnimationStateData(skeleton.data);
|
|
var stateData = new spine.AnimationStateData(skeleton.data);
|
|
stateData.defaultMix = 0.2;
|
|
stateData.defaultMix = 0.2;
|
|
stateData.setMix("roll", "run", 0);
|
|
stateData.setMix("roll", "run", 0);
|
|
- stateData.setMix("jump", "run2", 0);
|
|
|
|
- state = new spine.AnimationState(stateData);
|
|
|
|
- setupAnimations(state);
|
|
|
|
|
|
+ stateData.setMix("jump", "run2", 0);
|
|
|
|
+ state = new spine.AnimationState(stateData);
|
|
|
|
+ setupAnimations(state);
|
|
state.apply(skeleton);
|
|
state.apply(skeleton);
|
|
skeleton.updateWorldTransform();
|
|
skeleton.updateWorldTransform();
|
|
offset = new spine.Vector2();
|
|
offset = new spine.Vector2();
|
|
@@ -113,7 +113,7 @@ var skinsDemo = function(loadingComplete, bgColor) {
|
|
}
|
|
}
|
|
|
|
|
|
function setupUI() {
|
|
function setupUI() {
|
|
- var list = $("#skins-skin");
|
|
|
|
|
|
+ var list = $("#skins-skin");
|
|
for (var skin in skeleton.data.skins) {
|
|
for (var skin in skeleton.data.skins) {
|
|
skin = skeleton.data.skins[skin];
|
|
skin = skeleton.data.skins[skin];
|
|
if (skin.name == "default") continue;
|
|
if (skin.name == "default") continue;
|
|
@@ -144,11 +144,11 @@ var skinsDemo = function(loadingComplete, bgColor) {
|
|
skeleton.setSlotsToSetupPose();
|
|
skeleton.setSlotsToSetupPose();
|
|
slot.setAttachment(weapon);
|
|
slot.setAttachment(weapon);
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
function swingSword () {
|
|
function swingSword () {
|
|
- state.setAnimation(5, (clickAnim++ % 2 == 0) ? "meleeSwing2" : "meleeSwing1", false, 0);
|
|
|
|
|
|
+ state.setAnimation(5, (clickAnim++ % 2 == 0) ? "meleeSwing2" : "meleeSwing1", false, 0);
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
function randomizeSkin () {
|
|
function randomizeSkin () {
|
|
var result;
|
|
var result;
|
|
var count = 0;
|
|
var count = 0;
|
|
@@ -161,7 +161,7 @@ var skinsDemo = function(loadingComplete, bgColor) {
|
|
setSkin(result);
|
|
setSkin(result);
|
|
$("#skins-skin option").filter(function() {
|
|
$("#skins-skin option").filter(function() {
|
|
return ($(this).text() == result.name);
|
|
return ($(this).text() == result.name);
|
|
- }).prop("selected", true);
|
|
|
|
|
|
+ }).prop("selected", true);
|
|
}
|
|
}
|
|
|
|
|
|
function randomizeAttachments () {
|
|
function randomizeAttachments () {
|
|
@@ -203,22 +203,22 @@ var skinsDemo = function(loadingComplete, bgColor) {
|
|
renderer.resize(spine.webgl.ResizeMode.Fit);
|
|
renderer.resize(spine.webgl.ResizeMode.Fit);
|
|
|
|
|
|
gl.clearColor(bgColor.r, bgColor.g, bgColor.b, bgColor.a);
|
|
gl.clearColor(bgColor.r, bgColor.g, bgColor.b, bgColor.a);
|
|
- gl.clear(gl.COLOR_BUFFER_BIT);
|
|
|
|
|
|
+ gl.clear(gl.COLOR_BUFFER_BIT);
|
|
|
|
|
|
state.update(delta);
|
|
state.update(delta);
|
|
state.apply(skeleton);
|
|
state.apply(skeleton);
|
|
- skeleton.updateWorldTransform();
|
|
|
|
|
|
+ skeleton.updateWorldTransform();
|
|
|
|
|
|
- renderer.begin();
|
|
|
|
|
|
+ renderer.begin();
|
|
renderer.drawSkeleton(skeleton, true);
|
|
renderer.drawSkeleton(skeleton, true);
|
|
var texture = assetManager.get(DEMO_NAME, "heroes.png");
|
|
var texture = assetManager.get(DEMO_NAME, "heroes.png");
|
|
var width = bounds.x * 1.25;
|
|
var width = bounds.x * 1.25;
|
|
var scale = width / texture.getImage().width;
|
|
var scale = width / texture.getImage().width;
|
|
var height = scale * texture.getImage().height;
|
|
var height = scale * texture.getImage().height;
|
|
- renderer.drawTexture(texture, offset.x + bounds.x + 190, offset.y + bounds.y / 2 - height / 2 - 5, width, height);
|
|
|
|
|
|
+ renderer.drawTexture(texture, offset.x + bounds.x + 190, offset.y + bounds.y / 2 - height / 2 - 5, width, height);
|
|
renderer.end();
|
|
renderer.end();
|
|
|
|
|
|
- loadingScreen.draw(true);
|
|
|
|
|
|
+ loadingScreen.draw(true);
|
|
}
|
|
}
|
|
|
|
|
|
init();
|
|
init();
|