[ts][player] decreased delay for when mouse leaves player area and controls are hidden.

This commit is contained in:
badlogic 2018-12-17 17:04:58 +01:00
parent 49f9eb12a9
commit 7a3ec78638
7 changed files with 1062 additions and 9 deletions

View File

@ -1772,3 +1772,110 @@ declare module spine.threejs {
static toThreeJsTextureWrap(wrap: TextureWrap): THREE.Wrapping;
}
}
declare module spine {
interface Viewport {
x: number;
y: number;
width: number;
height: number;
padLeft: string | number;
padRight: string | number;
padTop: string | number;
padBottom: string | number;
}
interface SpinePlayerConfig {
jsonUrl: string;
atlasUrl: string;
animation: string;
animations: string[];
defaultMix: number;
skin: string;
skins: string[];
controlBones: string[];
premultipliedAlpha: boolean;
showControls: boolean;
debug: {
bones: boolean;
regions: boolean;
meshes: boolean;
bounds: boolean;
paths: boolean;
clipping: boolean;
points: boolean;
hulls: boolean;
};
viewport: {
x: number;
y: number;
width: number;
height: number;
padLeft: string | number;
padRight: string | number;
padTop: string | number;
padBottom: string | number;
animations: Map<Viewport>;
debugRender: boolean;
transitionTime: number;
};
alpha: boolean;
backgroundColor: string;
backgroundImage: {
url: string;
x: number;
y: number;
width: number;
height: number;
};
fullScreenBackgroundColor: string;
success: (widget: SpinePlayer) => void;
error: (widget: SpinePlayer, msg: string) => void;
}
class SpinePlayer {
private config;
static HOVER_COLOR_INNER: Color;
static HOVER_COLOR_OUTER: Color;
static NON_HOVER_COLOR_INNER: Color;
static NON_HOVER_COLOR_OUTER: Color;
private sceneRenderer;
private dom;
private playerControls;
private canvas;
private timelineSlider;
private playButton;
private skinButton;
private animationButton;
private context;
private loadingScreen;
private assetManager;
private loaded;
private skeleton;
private animationState;
private time;
private paused;
private playTime;
private speed;
private animationViewports;
private currentViewport;
private previousViewport;
private viewportTransitionStart;
private selectedBones;
constructor(parent: HTMLElement, config: SpinePlayerConfig);
validateConfig(config: SpinePlayerConfig): SpinePlayerConfig;
showError(error: string): void;
render(): HTMLElement;
private lastPopup;
showSpeedDialog(speedButton: HTMLElement): void;
showAnimationsDialog(animationsButton: HTMLElement): void;
showSkinsDialog(skinButton: HTMLElement): void;
showSettingsDialog(settingsButton: HTMLElement): void;
drawFrame(requestNextFrame?: boolean): void;
scale(sourceWidth: number, sourceHeight: number, targetWidth: number, targetHeight: number): Vector2;
loadSkeleton(): void;
setupInput(): void;
private play();
private pause();
private setAnimation(animation);
private percentageToWorldUnit(size, percentageOrAbsolute);
private calculateAnimationViewport(animationName);
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -10186,10 +10186,10 @@ var spine;
_this.playerControls.classList.add("spine-player-controls-hidden");
}
else {
cancelId = setTimeout(remove, 1000);
cancelId = setTimeout(remove, 100);
}
};
cancelId = setTimeout(remove, 1000);
cancelId = setTimeout(remove, 100);
};
};
SpinePlayer.prototype.play = function () {

File diff suppressed because one or more lines are too long

View File

@ -1033,10 +1033,10 @@
if (popup.length == 0 && !mouseOverChildren && !this.paused) {
this.playerControls.classList.add("spine-player-controls-hidden");
} else {
cancelId = setTimeout(remove, 1000);
cancelId = setTimeout(remove, 100);
}
};
cancelId = setTimeout(remove, 1000);
cancelId = setTimeout(remove, 100);
}
}

View File

@ -13,9 +13,9 @@
"canvas/src/**/*",
"webgl/src/**/*",
"threejs/src/**/*",
"widget/src/**/*"
"player/src/**/*"
],
"exclude": [
"build"
"exclude": [
"build"
]
}