act ii chars
|
@ -277,5 +277,7 @@ ACT I
|
||||||
|
|
||||||
<script src="scripts/act2/Act2_SceneSetup.js"></script>
|
<script src="scripts/act2/Act2_SceneSetup.js"></script>
|
||||||
<script src="scripts/act2/Act2_BG.js"></script>
|
<script src="scripts/act2/Act2_BG.js"></script>
|
||||||
|
<script src="scripts/act2/Act2_Hong.js"></script>
|
||||||
|
<script src="scripts/act2/Act2_Beebee.js"></script>
|
||||||
|
|
||||||
<script src="scripts/main.js"></script>
|
<script src="scripts/main.js"></script>
|
|
@ -1,6 +1,27 @@
|
||||||
|
/*****
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
- whoosh out @done
|
||||||
|
- put hong & beebee sprites in for battle @done
|
||||||
|
- characters in @done
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
- battle talk
|
||||||
|
- whoosh in
|
||||||
|
- party talk
|
||||||
|
- whoosh out
|
||||||
|
- battle talk 2
|
||||||
|
- jarring image
|
||||||
|
- whoosh in
|
||||||
|
- slap dat/run out
|
||||||
|
- whoosh out
|
||||||
|
|
||||||
|
****/
|
||||||
|
|
||||||
Loader.addImages([
|
Loader.addImages([
|
||||||
{ id:"party_bg", src:"sprites/act2/party_bg.png" },
|
{ id:"party_bg", src:"sprites/act2/party_bg.png" },
|
||||||
{ id:"party_action", src:"sprites/act2/party_action.png" },
|
{ id:"party_action", src:"sprites/act2/party_action.png" },
|
||||||
|
{ id:"hong_bb_outro", src:"sprites/act2/hong_bb_outro.png" },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
function BG_Party(){
|
function BG_Party(){
|
||||||
|
@ -13,31 +34,50 @@ function BG_Party(){
|
||||||
grid:{ width:1, height:1 },
|
grid:{ width:1, height:1 },
|
||||||
frame:{ width:720, height:1200 },
|
frame:{ width:720, height:1200 },
|
||||||
});
|
});
|
||||||
self.actionSprite = new Sprite({
|
self.partyActionSprite = new Sprite({
|
||||||
image: Library.images.party_action,
|
image: Library.images.party_action,
|
||||||
grid:{ width:4, height:3 },
|
grid:{ width:4, height:3 },
|
||||||
frame:{ width:720, height:600 },
|
frame:{ width:720, height:600 },
|
||||||
y: 189
|
y: 189
|
||||||
});
|
});
|
||||||
|
self.outroSprite = new Sprite({
|
||||||
|
image: Library.images.hong_bb_outro,
|
||||||
|
grid:{ width:4, height:2 },
|
||||||
|
frame:{ width:720, height:400 },
|
||||||
|
y: 260
|
||||||
|
});
|
||||||
|
|
||||||
// Anxiety BG
|
// Anxiety BG
|
||||||
self.anxiety = new BG_Anxiety();
|
self.anxiety = new BG_Anxiety();
|
||||||
|
|
||||||
|
// Characters
|
||||||
|
self.hong = new Act2_Hong();
|
||||||
|
self.beebee = new Act2_Beebee();
|
||||||
|
|
||||||
// LAYERS
|
// LAYERS
|
||||||
self.layers = [
|
self.layers = [
|
||||||
self.bgSprite,
|
self.bgSprite,
|
||||||
self.anxiety,
|
self.anxiety,
|
||||||
self.actionSprite
|
self.partyActionSprite,
|
||||||
|
self.outroSprite,
|
||||||
|
self.hong,
|
||||||
|
self.beebee,
|
||||||
];
|
];
|
||||||
var PARALLAXES = [
|
var PARALLAXES = [
|
||||||
0.5, // party bg
|
0.5, // party bg
|
||||||
0.0, // anxiety bg
|
0.0, // anxiety bg
|
||||||
1.0, // hong & hunter
|
1.0, // PARTY ACTION SPRITE
|
||||||
|
0.0, // OUTRO hong & bb
|
||||||
|
0.0, // battle hong
|
||||||
|
0.0, // battle beebee
|
||||||
];
|
];
|
||||||
var ALPHAS = [
|
var ALPHAS = [
|
||||||
1.0, // party bg
|
1.0, // party bg
|
||||||
0.0, // anxiety bg
|
0.0, // anxiety bg
|
||||||
1.0, // hong & hunter
|
1.0, // PARTY ACTION SPRITE
|
||||||
|
0.0, // OUTRO hong & bb
|
||||||
|
0.0, // battle hong
|
||||||
|
0.0, // battle beebee
|
||||||
];
|
];
|
||||||
|
|
||||||
var parallax = 0;
|
var parallax = 0;
|
||||||
|
@ -68,6 +108,20 @@ function BG_Party(){
|
||||||
// DONE
|
// DONE
|
||||||
if(t==1 || t==0){
|
if(t==1 || t==0){
|
||||||
PARALLAXING = null;
|
PARALLAXING = null;
|
||||||
|
|
||||||
|
// Stage 1 transition end
|
||||||
|
if(STAGE==1){
|
||||||
|
ALPHAS[2] = 0; // Party Action
|
||||||
|
ALPHAS[4] = 1; // Hong
|
||||||
|
ALPHAS[5] = 1; // Beebee
|
||||||
|
}
|
||||||
|
|
||||||
|
// Stage 5 transition end
|
||||||
|
if(STAGE==5){
|
||||||
|
ALPHAS[2] = 0; // Party Action
|
||||||
|
ALPHAS[3] = 1; // OUTRO Action
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -101,27 +155,31 @@ function BG_Party(){
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var STAGE = 0;
|
||||||
var _subscriptions = [];
|
var _subscriptions = [];
|
||||||
_subscriptions.push(
|
_subscriptions.push(
|
||||||
subscribe("act2-out-1", function(){
|
subscribe("act2-out-1", function(){
|
||||||
|
STAGE = 1;
|
||||||
PARALLAXING = "out";
|
PARALLAXING = "out";
|
||||||
sfx("whoosh"); // WHOOSH
|
sfx("whoosh"); // WHOOSH
|
||||||
}),
|
}),
|
||||||
subscribe("act2-in-2", function(){
|
subscribe("act2-in-2", function(){
|
||||||
|
STAGE = 2;
|
||||||
PARALLAXING = "in";
|
PARALLAXING = "in";
|
||||||
sfx("whoosh"); // WHOOSH
|
sfx("whoosh"); // WHOOSH
|
||||||
}),
|
}),
|
||||||
subscribe("act2-out-3", function(){
|
subscribe("act2-out-3", function(){
|
||||||
// WHOOSH
|
STAGE = 3;
|
||||||
sfx("whoosh");
|
sfx("whoosh"); // WHOOSH
|
||||||
}),
|
}),
|
||||||
subscribe("act2-in-4", function(){
|
subscribe("act2-in-4", function(){
|
||||||
// WHOOSH
|
STAGE = 4;
|
||||||
sfx("whoosh");
|
sfx("whoosh"); // WHOOSH
|
||||||
}),
|
}),
|
||||||
subscribe("act2-out-5", function(){
|
subscribe("act2-out-5", function(){
|
||||||
// WHOOSH
|
STAGE = 5;
|
||||||
sfx("whoosh");
|
PARALLAXING = "out";
|
||||||
|
sfx("whoosh"); // WHOOSH
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
Loader.addImages([
|
||||||
|
{ id:"act2_bb", src:"sprites/act2/battle_bb.png" }
|
||||||
|
]);
|
||||||
|
|
||||||
|
function Act2_Beebee(){
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
// SPRITE CONFIG!
|
||||||
|
var spriteConfig = {
|
||||||
|
image: Library.images.act2_bb,
|
||||||
|
grid:{
|
||||||
|
width: 4,
|
||||||
|
height: 3
|
||||||
|
},
|
||||||
|
frame:{
|
||||||
|
width: 720,
|
||||||
|
height: 400
|
||||||
|
},
|
||||||
|
anchor:{
|
||||||
|
x: 306,
|
||||||
|
y: 188
|
||||||
|
},
|
||||||
|
frameNames:[
|
||||||
|
"body_neutral*",
|
||||||
|
"body_sad*",
|
||||||
|
"body_happy*",
|
||||||
|
"body_yell*",
|
||||||
|
"body_cry*",
|
||||||
|
"body_shock*",
|
||||||
|
"body_attacked*",
|
||||||
|
"body_pained*",
|
||||||
|
"body_special_1*",
|
||||||
|
"body_special_2*",
|
||||||
|
"eyes_blank",
|
||||||
|
"mouth_blank",
|
||||||
|
],
|
||||||
|
x: 306,
|
||||||
|
y: 258+188
|
||||||
|
};
|
||||||
|
|
||||||
|
// ANIM LOOPS
|
||||||
|
var animLoops = [];
|
||||||
|
|
||||||
|
// Inherit from Character!
|
||||||
|
Character.apply(self, [spriteConfig, animLoops]);
|
||||||
|
|
||||||
|
// Go To Frames!
|
||||||
|
self.gotoFrames({
|
||||||
|
body: "neutral",
|
||||||
|
mouth: "blank",
|
||||||
|
eyes: "blank",
|
||||||
|
});
|
||||||
|
var _subscriptions = [];
|
||||||
|
_subscriptions.push( subscribe("bb", self.gotoFrames) );
|
||||||
|
|
||||||
|
// Draw! Same as earlier except a lot of vibration
|
||||||
|
var ticker = 0;
|
||||||
|
var _oldDraw = self.draw;
|
||||||
|
self.characterSpeakerID = "b";
|
||||||
|
self.bounceHookes = 0.25; // loose
|
||||||
|
self.bounceDamp = 0.9; // loose
|
||||||
|
self.draw = function(ctx){
|
||||||
|
|
||||||
|
// Vibration!
|
||||||
|
ticker += 1/60;
|
||||||
|
self.characterSquash = 1 + Math.sin(ticker*Math.TAU*7)*0.01; // seven vibes per second
|
||||||
|
|
||||||
|
// Old Draw
|
||||||
|
_oldDraw.apply(self, arguments);
|
||||||
|
|
||||||
|
};
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Kill!
|
||||||
|
self.kill = function(){
|
||||||
|
_subscriptions.forEach(unsubscribe);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,69 @@
|
||||||
|
Loader.addImages([
|
||||||
|
{ id:"act2_hong", src:"sprites/act2/battle_hong.png" }
|
||||||
|
]);
|
||||||
|
|
||||||
|
function Act2_Hong(){
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
// SPRITE CONFIG!
|
||||||
|
var spriteConfig = {
|
||||||
|
image: Library.images.act2_hong,
|
||||||
|
grid:{
|
||||||
|
width: 4,
|
||||||
|
height: 3
|
||||||
|
},
|
||||||
|
frame:{
|
||||||
|
width: 720,
|
||||||
|
height: 400
|
||||||
|
},
|
||||||
|
anchor:{
|
||||||
|
x: 66,
|
||||||
|
y: 188
|
||||||
|
},
|
||||||
|
frameNames:[
|
||||||
|
"body_ignore*",
|
||||||
|
"body_ignore_sweat*",
|
||||||
|
"body_attacked*",
|
||||||
|
"body_yell*",
|
||||||
|
"body_cry*",
|
||||||
|
"body_hold_alcohol*",
|
||||||
|
"body_drinking*",
|
||||||
|
"body_drunk*",
|
||||||
|
"body_defeated*",
|
||||||
|
"mouth_blank",
|
||||||
|
"eyes_blank",
|
||||||
|
],
|
||||||
|
x: 66,
|
||||||
|
y: 258+188
|
||||||
|
};
|
||||||
|
|
||||||
|
// ANIM LOOPS
|
||||||
|
var animLoops = [];
|
||||||
|
|
||||||
|
// Inherit from Character!
|
||||||
|
Character.apply(self, [spriteConfig, animLoops]);
|
||||||
|
|
||||||
|
// Go To Frames!
|
||||||
|
self.gotoFrames({
|
||||||
|
body: "ignore",
|
||||||
|
mouth: "blank",
|
||||||
|
eyes: "blank",
|
||||||
|
});
|
||||||
|
var _subscriptions = [];
|
||||||
|
_subscriptions.push( subscribe("hong", self.gotoFrames) );
|
||||||
|
_subscriptions.push( subscribe("attack_hong", self.showAttackedIcon) );
|
||||||
|
|
||||||
|
// Draw
|
||||||
|
self.characterSpeakerID = "h";
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Kill!
|
||||||
|
self.kill = function(){
|
||||||
|
_subscriptions.forEach(unsubscribe);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
After Width: | Height: | Size: 166 KiB |
After Width: | Height: | Size: 150 KiB |
After Width: | Height: | Size: 116 KiB |
After Width: | Height: | Size: 352 KiB |
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 352 KiB |