forked from bukidev/RenJS
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTransitions.js
More file actions
106 lines (103 loc) · 3.78 KB
/
Copy pathTransitions.js
File metadata and controls
106 lines (103 loc) · 3.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
RenJS.transitions = {
CUT: function(from,to,position,scaleX){
return new Promise(function(resolve, reject) {
if (from){
from.alpha = 0;
}
if (to) {
to.alpha = 1;
setNewProperties(to,position,scaleX);
}
resolve();
});
},
FADE: function(from,to,position,scaleX){
if (!from) return RenJS.transitions.FADEIN(to,position,scaleX);
if (!to) return RenJS.transitions.FADEOUT(from);
return new Promise(function(resolve, reject) {
RenJS.tweenManager.chain([
{sprite:from,tweenables:{alpha:0},callback:function(){
setNewProperties(to,position,scaleX);
}},
{sprite:to,tweenables:{alpha:1},callback:resolve}
],config.fadetime);
});
},
FADEOUT: function(from){
return new Promise(function(resolve, reject) {
RenJS.tweenManager.tween(from,{ alpha: 0 },resolve,config.fadetime,true);
});
},
FADEIN: function(to,position,scaleX){
return new Promise(function(resolve, reject) {
setNewProperties(to,position,scaleX);
RenJS.tweenManager.tween(to,{ alpha: 1 },resolve,config.fadetime,true);
});
},
FUSION: function(from,to,position,scaleX,group){
if (!from || !to){
return RenJS.transitions.FADE(from,to,position);
}
return new Promise(function(resolve, reject) {
if (group) {
group.bringToTop(to);
}
setNewProperties(to,position,scaleX);
RenJS.tweenManager.tween(to,{ alpha: 1 },function(){
from.alpha = 0;
resolve();
},config.fadetime,true);
});
},
MOVE: function(from,to,position,scaleX){
if (!from || !to){
return RenJS.transitions.CUT(from,to,position);
}
return new Promise(function(resolve, reject) {
RenJS.tweenManager.tween(from,{ x:position.x,y:position.y },function(){
setNewProperties(to,position,scaleX);
from.alpha = 0;
to.alpha = 1;
resolve();
},config.fadetime,true);
});
},
FADETOCOLOUR: function(from,to,position,scaleX,colour){
return new Promise(function(resolve, reject) {
var spr_bg = game.add.graphics(0, 0);
// this.fadeColor = fadeColor ? fadeColor : 0x000000;
spr_bg.beginFill(colour, 1);
spr_bg.drawRect(0, 0, globalConfig.w, globalConfig.h);
spr_bg.alpha = 0;
spr_bg.endFill();
RenJS.tweenManager.chain([
{sprite:spr_bg,tweenables:{alpha:1},callback:function(){
if (from){
from.alpha = 0;
}
if (to) {
setNewProperties(to,position,scaleX);
to.alpha = 1;
}
}},
{sprite:spr_bg,tweenables:{alpha:0},callback:function() {
spr_bg.destroy();
resolve();
}}
],config.fadetime);
});
},
FADETOBLACK: function(from,to,position){
return RenJS.transitions.FADETOCOLOUR(from,to,position,0x000000)
},
FADETOWHITE: function(from,to,position){
return RenJS.transitions.FADETOCOLOUR(from,to,position,0xFFFFFF)
}
}
function setNewProperties(sprite,position,scaleX){
sprite.x = position.x;
sprite.y = position.y;
if (scaleX!=null && scaleX!=undefined){
sprite.scale.x = scaleX;
}
}