领舞者跟舞者不能共存,新增一起喊

master
chen 2021-11-24 10:48:14 +08:00
parent c7995c657c
commit 30fe15c2bd
2 changed files with 66 additions and 40 deletions

View File

@ -4,6 +4,8 @@ var timer = null;
var actionTimer = null;
var moveTimer = null;
var dancerTimer = null;
// 经过几秒关闭一起喊
var allSayTimer = 5000;
// 动作
var actionArr = ['dancing-left','dancing-right','dancing-down','dancing-up','dancing-wobble','dancing-wobble-right'];
// 人物位移动画
@ -78,44 +80,50 @@ function peopleAction(id,aevent){
}
// 随机位移
function moveEv(id){
var typeMove = Math.floor(Math.random()*4);
switch (typeMove){
case 0:
upMove(id);
break;
case 1:
// upMove(id);
downMove(id);
break;
case 2:
leftMove(id);
break;
case 3:
rightMove(id);
break;
}
// var typeMove = Math.floor(Math.random()*4);
// switch (typeMove){
// case 0:
// upMove(id);
// break;
// case 1:
// downMove(id);
// break;
// case 2:
// leftMove(id);
// break;
// case 3:
// rightMove(id);
// break;
// }
}
// 上
function upMove(id){
var odivu = document.getElementById(`${id}`);
var upTimer = setInterval(()=>{
if(odivu.offsetTop ==0){
if(odivu.style.top <='1%' || odivu.style.top<30){
// console.log('关闭了上走');
clearInterval(upTimer);
downMove(id);
} else {
odivu.style.top = odivu.offsetTop-speed+'px';
// console.log('上走进来了');
$(`#${id}`).animate({top:'0%'},20000);
// odivu.style.top = odivu.offsetTop-speed+'px';
}
},10)
},100)
}
// 下
function downMove(id){
var odivd = document.getElementById(`${id}`);
downTimer = setInterval(()=>{
if(odivd.offsetTop >500){
if(odivd.style.top >='76%'){
clearInterval(downTimer);
upMove(id);
} else {
odivd.style.top = odivd.offsetTop+speed+'px';
$(`#${id}`).animate({top:'80%'},10000);
// odivd.style.top = odivd.offsetTop+speed+'px';
}
},10)
}
@ -154,14 +162,20 @@ function sayIng(index){
closeSay(index);
},6000)
}
// 一起喊
function allSay(val){
$(`.dance-people .speak`).removeClass("dn");
$(`.dance-people .speak`).html(val);
setTimeout(()=>{
$(`.dance-people .speak`).addClass("dn");
},allSayTimer)
}
// 退出广场
function exitEv(id){
$(`${id}`).remove();
}
// 进入广场
function peopleObj(name,uid,say,action){
// 开始说话
sayIng(peopleId);
let yspHtml = '';
let yspData = [
{
@ -190,6 +204,8 @@ function peopleObj(name,uid,say,action){
moveEv(uid);
// 随机舞
randomDancing(peopleId);
// 开始说话
sayIng(peopleId);
peopleId++
// 执行退出事件
// exitEv(`#peopleId${peopleId-1}`)

View File

@ -4,10 +4,13 @@ var musicList = []
// 领舞人领舞时间 秒
let leaderTime = 15*60
// 何时添加镜头
var addJingTime = 2000;//2秒
// 事件列表-中文
let eventTextList = ['切歌', '跳', '向左', '向右', '左抖腿', '右抖腿', '抖动', '一起喊', '镜头']
// 领舞者喊的集体舞
let allEventList = ['切歌', '一起跳', '一起向左', '一起向右', '一起左抖腿', '一起右抖腿', '一起抖动', '一起喊', '镜头']
// 镜头列表
let list = ['scale-left', 'scale-right', 'scale-bottom-left', 'scale-bottom-right']
// 根据事件文字 获取事件名
function getEvent(name) {
@ -108,8 +111,8 @@ function receiveMessage(event)
if (data.ct === '') {
return false
}
adminList = ['内有猛犬小心','热心市民阿狄呐','流域_墨绿绿'];
// adminList = ['饺子吃肉肉'];
// adminList = ['内有猛犬小心','热心市民阿狄呐','流域_墨绿绿'];
adminList = ['饺子吃肉肉'];
// 大航海列表
if (adminList.length > 0) {
// 获取当前领舞人
@ -166,7 +169,6 @@ function receiveMessage(event)
let dm = {text: data.danmaku, uid: data.uid, uname: data.uname,
event: getEvent(getFirstEventKeyword(data.danmaku)),
is_new: isNew, is_admin: 0, is_exit: random2, is_leader: isLeader}
// console.log(dm,"")//
// TODO 测试后 删除领舞随机
// let leaderRandomEvent = getEvent(getFirstEventKeyword(data.danmaku+randomEvent))
let leader = {
@ -179,55 +181,63 @@ function receiveMessage(event)
leader.text = dm.text
leader.event = dm.event
}
// console.log(leader, '当前领舞')
// console.log(leaderRandomEvent, '领舞随机事件')
// let actionIndex = Math.floor(Math.random()*actionArr.length);
// let moveIndex = Math.floor(Math.random()*moveArr.length);
// 新用户
if(dm.is_new==1){
if(dm.uname!=leader.uname){//如果弹幕的人的名字不等于领舞者的名字,就创建一个人物
peopleObj(dm.uname,dm.uid,dm.text,dm.event);
}
} else {
// 老用户
$(`#${dm.uid} .speak`).html(dm.text);
$(`#${dm.uid} .speak`).removeClass("dn");
setTimeout(()=>{
$(`#${dm.uid} .speak`).addClass("dn");
},3000)
// 舞者喊舞
if(peopleHan(dm.text)){
peopleAction(`${dm.uid}`,dm.event);
}
// if(dm.uid=='380050580'){
// }
}
num++;
// 显示领舞的昵称
$('.lingname').text(leader.uname);
if(leader.event=='scale-left' || leader.event=='scale-right' || leader.event=='scale-bottom-left' || leader.event=='scale-bottom-right'){
// 镜头
// 领舞喊镜头
list.forEach(item=>{
var haveDan = $(`.ground-bg`).is(`.${item}`);
// 如果之前有镜头,删除镜头
if(haveDan) {
$('.ground-bg').removeClass(item);
}
})
// 各几秒重新添加镜头
setTimeout(()=>{
$('.ground-bg').addClass(leader.event);
},2000)
},addJingTime)
} else {
// 显示领舞说话
if (leader.text.length>0) {
$('.speak-pink').text(leader.text);
$('.speak-pink').fadeIn();
}
setTimeout(()=>{//关闭领舞说话
//关闭领舞说话
setTimeout(()=>{
$('.speak-pink').fadeOut();
},3000)
}
// 领舞说切歌
if(leader.text=="切歌"){
changeMusic();
}
// 领舞喊一起喊
if(leader.text=="一起喊"){
allSay(dm.text);
}
// 领舞自己喊跳舞
if(peopleHan(dm.text)){
clearInterval(dancerTimer);
dancerOwn(leader.event);
}
// 领舞喊集体跳舞
if(dancer(leader.text)){
allDancing(leader.event);
}