2019-02-22 23:48:24 +00:00
|
|
|
function Act1_Beebee(){
|
2019-02-17 21:54:29 +00:00
|
|
|
|
|
|
|
var self = this;
|
|
|
|
|
|
|
|
// Sprite!
|
2019-03-17 18:41:19 +00:00
|
|
|
var spriteConfig = {
|
2019-02-22 23:48:24 +00:00
|
|
|
image: Library.images.act1_beebee,
|
2019-02-17 21:54:29 +00:00
|
|
|
grid:{
|
2019-03-17 18:41:19 +00:00
|
|
|
width: 4,
|
|
|
|
height: 8
|
2019-02-17 21:54:29 +00:00
|
|
|
},
|
|
|
|
frame:{
|
2019-03-17 18:41:19 +00:00
|
|
|
width: 720,
|
|
|
|
height: 500
|
2019-02-17 21:54:29 +00:00
|
|
|
},
|
|
|
|
anchor:{
|
2019-03-17 18:41:19 +00:00
|
|
|
x: 546/2,
|
|
|
|
y: 400/2
|
2019-02-17 21:54:29 +00:00
|
|
|
},
|
|
|
|
frameNames:[
|
2019-03-17 18:41:19 +00:00
|
|
|
|
|
|
|
"body_normal",
|
|
|
|
"body_fear",
|
|
|
|
"body_point_crotch",
|
|
|
|
"body_point_heart",
|
|
|
|
"body_point_sing",
|
|
|
|
|
|
|
|
"head_normal",
|
|
|
|
"head_normal_2",
|
|
|
|
"head_small",
|
|
|
|
"head_small_2",
|
|
|
|
|
|
|
|
"eyes_normal",
|
|
|
|
"eyes_normal_right",
|
|
|
|
"eyes_uncertain",
|
|
|
|
"eyes_uncertain_right",
|
|
|
|
"eyes_narrow",
|
|
|
|
"eyes_narrow_eyebrow",
|
|
|
|
"eyes_fear",
|
|
|
|
"eyes_pretty",
|
|
|
|
"eyes_wat",
|
|
|
|
|
|
|
|
"blank",
|
|
|
|
|
|
|
|
"body_panic",
|
|
|
|
"body_panic_2",
|
|
|
|
"body_scream_anger",
|
|
|
|
"body_scream_anger_2",
|
|
|
|
"body_scream",
|
|
|
|
"body_scream_2",
|
|
|
|
|
|
|
|
"body_flail",
|
|
|
|
"body_flail_2",
|
|
|
|
"body_flail_3",
|
|
|
|
"body_flail_4",
|
|
|
|
|
2019-02-17 21:54:29 +00:00
|
|
|
],
|
2019-02-18 17:24:52 +00:00
|
|
|
x: 270,
|
2019-03-17 18:41:19 +00:00
|
|
|
y: 390
|
|
|
|
};
|
|
|
|
|
|
|
|
self.body = new Sprite(spriteConfig);
|
|
|
|
self.head = new Sprite(spriteConfig);
|
|
|
|
self.eyes = new Sprite(spriteConfig);
|
|
|
|
|
|
|
|
self.gotoFrames = function(bodyName, headName, eyesName){
|
|
|
|
|
|
|
|
// Body
|
|
|
|
bodyName = "body_"+bodyName;
|
|
|
|
self.body.gotoFrameByName(bodyName);
|
|
|
|
|
|
|
|
// Head
|
|
|
|
headName = headName ? "head_"+headName : "blank";
|
|
|
|
self.head.gotoFrameByName(headName); // TODO: DON'T RESET MOUTH
|
|
|
|
|
|
|
|
// Eyes
|
|
|
|
eyesName = eyesName ? "eyes_"+eyesName : "blank";
|
|
|
|
self.eyes.gotoFrameByName(eyesName);
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
self.gotoFrames("normal", "normal", "normal");
|
|
|
|
|
|
|
|
subscribe("bb", function(bodyName, headName, eyesName){
|
|
|
|
self.gotoFrames(bodyName, headName, eyesName);
|
2019-02-17 21:54:29 +00:00
|
|
|
});
|
|
|
|
|
2019-03-17 18:41:19 +00:00
|
|
|
/**
|
|
|
|
|
|
|
|
bb("point_heart", "normal_talk", "pretty")
|
|
|
|
|
|
|
|
**/
|
|
|
|
|
2019-02-18 20:59:10 +00:00
|
|
|
// First frame
|
2019-03-17 18:41:19 +00:00
|
|
|
// self.sprite.gotoFrameByName("normal");
|
2019-02-18 20:59:10 +00:00
|
|
|
|
2019-02-17 21:54:29 +00:00
|
|
|
// Draw
|
2019-02-18 17:24:52 +00:00
|
|
|
var ticker = 0;
|
2019-02-17 21:54:29 +00:00
|
|
|
self.draw = function(ctx){
|
|
|
|
|
2019-03-17 18:41:19 +00:00
|
|
|
self.body.draw(ctx);
|
|
|
|
self.head.draw(ctx);
|
|
|
|
self.eyes.draw(ctx);
|
|
|
|
|
|
|
|
// TALKING
|
|
|
|
if(self.body.currentFrameName=="body_normal" || self.body.currentFrameName=="body_fear"){
|
|
|
|
if(Game.WHO_IS_SPEAKING=="b"){
|
|
|
|
|
|
|
|
if(ticker<=0){
|
|
|
|
if(self.head.currentFrameName=="head_normal") self.head.gotoFrameByName("head_normal_2");
|
|
|
|
else if(self.head.currentFrameName=="head_normal_2") self.head.gotoFrameByName("head_normal");
|
|
|
|
ticker = 10;
|
|
|
|
}
|
|
|
|
|
|
|
|
ticker -= (Game.TEXT_SPEED/40) * Game.CURRENT_SPEAKING_SPEED;
|
|
|
|
|
|
|
|
}else{
|
|
|
|
if(self.head.currentFrameName=="head_normal_2") self.head.gotoFrameByName("head_normal");
|
|
|
|
ticker = 0;
|
|
|
|
}
|
|
|
|
if(self.head.currentFrameName=="head_normal_2"){
|
|
|
|
self.eyes.x = 270+1;
|
|
|
|
self.eyes.y = 390-2;
|
|
|
|
}else{
|
|
|
|
self.eyes.x = 270;
|
|
|
|
self.eyes.y = 390;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// PANICKING
|
|
|
|
if(self.body.currentFrameName=="body_panic" || self.body.currentFrameName=="body_panic_2"){
|
|
|
|
|
|
|
|
if(ticker<=0){
|
|
|
|
if(self.body.currentFrameName=="body_panic") self.body.gotoFrameByName("body_panic_2");
|
|
|
|
else if(self.body.currentFrameName=="body_panic_2") self.body.gotoFrameByName("body_panic");
|
|
|
|
ticker = 4;
|
|
|
|
}
|
|
|
|
|
|
|
|
ticker -= 1;
|
2019-02-18 17:24:52 +00:00
|
|
|
|
2019-03-17 18:41:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// SHIVERING
|
|
|
|
self.body.breatheSpeed = 0.8;
|
|
|
|
self.body.breatheAmp = 0.01;
|
|
|
|
self.head.breatheSpeed = 0.8;
|
|
|
|
self.head.breatheAmp = 0.01;
|
|
|
|
self.eyes.breatheSpeed = 0.8;
|
|
|
|
self.eyes.breatheAmp = 0.01;
|
|
|
|
|
|
|
|
/*
|
2019-02-18 17:24:52 +00:00
|
|
|
// Normal: Breathe fast!
|
|
|
|
if(fname.substr(0,6) == "normal"){
|
|
|
|
self.sprite.breatheSpeed = 0.8;
|
|
|
|
self.sprite.breatheAmp = 0.01;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Scream: Loop between scream 1/2!
|
|
|
|
if(fname.substr(0,6) == "scream"){
|
|
|
|
self.sprite.breatheSpeed = 0;
|
|
|
|
self.sprite.breatheAmp = 0;
|
|
|
|
if(ticker<=0){
|
|
|
|
ticker=5;
|
|
|
|
if(fname=="scream") self.sprite.gotoFrameByName("scream_2");
|
|
|
|
if(fname=="scream_2") self.sprite.gotoFrameByName("scream");
|
|
|
|
}else{
|
|
|
|
ticker--;
|
|
|
|
}
|
2019-02-17 21:54:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Draw me!
|
|
|
|
self.sprite.draw(ctx);
|
2019-03-17 18:41:19 +00:00
|
|
|
*/
|
2019-02-17 21:54:29 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
|
2019-02-18 17:24:52 +00:00
|
|
|
// When going to frames...
|
|
|
|
subscribe("beebee", function(fname){
|
|
|
|
|
2019-03-17 18:41:19 +00:00
|
|
|
/*self.sprite.gotoFrameByName(fname);
|
2019-02-18 17:24:52 +00:00
|
|
|
|
|
|
|
// Bounce transition
|
2019-02-18 20:59:10 +00:00
|
|
|
if(fname=="normal_speak"){
|
|
|
|
self.sprite.bounce = 1.1;
|
|
|
|
}
|
2019-02-18 17:24:52 +00:00
|
|
|
if(fname=="scream"){
|
|
|
|
self.sprite.bounce = 1.6;
|
2019-03-17 18:41:19 +00:00
|
|
|
}*/
|
2019-02-18 17:24:52 +00:00
|
|
|
|
2019-02-17 21:54:29 +00:00
|
|
|
});
|
|
|
|
|
2019-02-18 17:24:52 +00:00
|
|
|
// Kill
|
|
|
|
self.kill = function(){
|
|
|
|
};
|
|
|
|
|
2019-02-17 21:54:29 +00:00
|
|
|
}
|