▭ | 暂停'
},
+ setPopped:function(node,func,width){
+ node._poppedfunc=func;
+ node._poppedwidth=width;
+ node.addEventListener(lib.config.touchscreen?'touchstart':'mouseenter',ui.click.hoverpopped);
+ },
placePoppedDialog:function(dialog,e){
if(e.touches&&e.touches[0]){
e=e.touches[0];
@@ -4873,10 +4878,14 @@ window.play={};
}
var audio=document.createElement('audio');
audio.autoplay=true;
+ audio.volume=lib.config.volumn_audio/8;
audio.src='audio'+str+'.mp3';
audio.addEventListener('ended',function(){
this.remove();
});
+ audio.onerror=function(){
+ this.remove();
+ };
document.body.appendChild(audio);
},
playBackgroundMusic:function(){
@@ -6453,11 +6462,14 @@ window.play={};
ui.system=ui.create.div("#system.",ui.window);
ui.arena=ui.create.div('#arena',ui.window);
ui.backgroundMusic=document.createElement('audio');
+ ui.backgroundMusic.volume=lib.config.volumn_background/8;
game.playBackgroundMusic();
ui.backgroundMusic.autoplay=true;
ui.backgroundMusic.addEventListener('ended',game.playBackgroundMusic);
ui.window.appendChild(ui.backgroundMusic);
+
+
ui.sidebar=ui.create.div('#sidebar');
ui.canvas=document.createElement('canvas');
ui.arena.appendChild(ui.canvas);
@@ -6723,6 +6735,7 @@ window.play={};
appearence.push(ui.create.switcher('show_playerids',lib.config.show_playerids,ui.click.sidebar.show_playerids));
appearence.push(ui.create.switcher('show_pause',lib.config.show_pause,ui.click.sidebar.show_pause));
appearence.push(ui.create.switcher('show_auto',lib.config.show_auto,ui.click.sidebar.show_auto));
+ appearence.push(ui.create.switcher('show_volumn',lib.config.show_volumn,ui.click.sidebar.show_volumn));
appearence.push(ui.create.switcher('show_wuxie',lib.config.show_wuxie,ui.click.sidebar.show_wuxie));
appearence.push(ui.create.div('.placeholder'));
appearence.push(ui.create.switcher('title',lib.config.title,ui.click.sidebar.title));
@@ -7172,8 +7185,13 @@ window.play={};
}
ui.config2=ui.create.system('选项',ui.click.config);
ui.wuxie=ui.create.system('不询问无懈',ui.click.wuxie,true);
+ ui.volumn=ui.create.system('音量');
+ lib.setPopped(ui.volumn,ui.click.volumn,200);
ui.auto=ui.create.system('托管',ui.click.auto);
if(lib.config.show_pause) ui.auto.style.marginLeft='10px';
+ if(!lib.config.show_volumn){
+ ui.volumn.style.display='none';
+ }
if(!lib.config.show_auto){
ui.auto.style.display='none';
}
@@ -7483,6 +7501,110 @@ window.play={};
},
},
click:{
+ volumn:function(){
+ var uiintro=ui.create.dialog('hidden');
+ uiintro.add('背景音乐');
+ var vol1=ui.create.div('.volumn');
+ uiintro.add(vol1);
+ for(var i=0;i<8;i++){
+ var span=document.createElement('span');
+ span.link=i+1;
+ span.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.volumn_background);
+ if(iui.window.offsetWidth-10){
+ left=ui.window.offsetWidth-width-10;
+ }
+ uiintro.style.left=left+'px';
+ uiintro._poppedorigin=this;
+ uiintro.addEventListener(lib.config.touchscreen?'touchend':'mouseleave',ui.click.leavehoverpopped);
+ },
+ leavehoverpopped:function(){
+ if(_status.dragged) return;
+ this.delete();
+ var button=this._poppedorigin
+ setTimeout(function(){
+ delete button._uiintro;
+ },500);
+ },
dierevive:function(){
if(game.me.isDead()){
game.me.revive(1);
@@ -7841,6 +7963,10 @@ window.play={};
}
}
}
+ if(ui.currentpopped&&ui.currentpopped._uiintro){
+ ui.currentpopped._uiintro.delete();
+ delete ui.currentpopped._uiintro;
+ }
if(_status.choosing){
if(_status.choosing.expand) _status.choosing.expand=false;
else{
@@ -8239,6 +8365,7 @@ window.play={};
}
},
wuxie:function(){
+ if(this.classList.contains('hidden')) return;
this.classList.toggle('glow');
if(this.classList.contains('glow')&&
(_status.event.parent.name=='_wuxie1'||_status.event.parent.name=='_wuxie2')&&
@@ -8573,6 +8700,15 @@ window.play={};
ui.auto.style.display='none';
}
},
+ show_volumn:function(bool){
+ game.saveConfig('show_volumn',bool);
+ if(lib.config.show_volumn){
+ ui.volumn.style.display='';
+ }
+ else{
+ ui.volumn.style.display='none';
+ }
+ },
show_wuxie:function(bool){
game.saveConfig('show_wuxie',bool);
if(lib.config.show_wuxie){
diff --git a/layout/default/layout.css b/layout/default/layout.css
index c554937c3..e2e738659 100644
--- a/layout/default/layout.css
+++ b/layout/default/layout.css
@@ -43,6 +43,7 @@ body>.background.paused{-webkit-filter:blur(3px);}
body>.background{z-index:-2}
.popup{padding: 5px;}
.removing,.hidden{opacity: 0 !important;}
+#system>div>div.hidden{opacity:0.5 !important;}
.transparent{opacity: 0.3 !important;}
.out{opacity: 0.3 !important;-webkit-filter:blur(3px)}
.blur{-webkit-filter:blur(3px) !important;}
@@ -145,6 +146,13 @@ margin-bottom: 5px;
margin-left: 20px;
display:inline-block;
}
+.dialog .content>.volumn{
+ margin:0;
+}
+.dialog .content>.volumn>span{
+ margin-left:2px;
+ margin-right:2px;
+}
.config{text-align: left;width: 90%;left: 5%;display: block;overflow: hidden;border-radius: 2px;}
.config>div{text-align: left;left: 0;}
.config>div>div{position: relative;padding-right: 10px;height:20px}
diff --git a/mode/versus.js b/mode/versus.js
index e1d49847f..5048cebeb 100644
--- a/mode/versus.js
+++ b/mode/versus.js
@@ -36,13 +36,17 @@ mode.versus={
ui.versusreplace=ui.create.system('换人',null,true);
ui.versushs=ui.create.system('手牌',null,true);
- ui.versusreplace.addEventListener(lib.config.touchscreen?'touchstart':'mouseenter',game.versusHoverReplace);
- ui.versushs.addEventListener(lib.config.touchscreen?'touchstart':'mouseenter',game.versusHoverHandcards);
+ lib.setPopped(ui.versusreplace,game.versusHoverReplace);
+ lib.setPopped(ui.versushs,game.versusHoverHandcards);
+ // ui.versusreplace.addEventListener(lib.config.touchscreen?'touchstart':'mouseenter',game.versusHoverReplace);
+ // ui.versushs.addEventListener(lib.config.touchscreen?'touchstart':'mouseenter',game.versusHoverHandcards);
}
_status.friendCount=ui.create.system('我方阵亡:'+get.cnNumber(0),null,true);
_status.enemyCount=ui.create.system('敌方阵亡:'+get.cnNumber(0),null,true);
- _status.friendCount.addEventListener(lib.config.touchscreen?'touchstart':'mouseenter',game.versusHoverFriend);
- _status.enemyCount.addEventListener(lib.config.touchscreen?'touchstart':'mouseenter',game.versusHoverEnemy);
+ lib.setPopped(_status.friendCount,game.versusHoverFriend);
+ lib.setPopped(_status.enemyCount,game.versusHoverEnemy);
+ // _status.friendCount.addEventListener(lib.config.touchscreen?'touchstart':'mouseenter',game.versusHoverFriend);
+ // _status.enemyCount.addEventListener(lib.config.touchscreen?'touchstart':'mouseenter',game.versusHoverEnemy);
if(lib.storage.zhu){
_status.currentSide=true;
@@ -628,18 +632,7 @@ mode.versus={
}
},
versusHoverEnemy:function(e){
- if(this._uiintro){
- return;
- }
- if(ui.versushover&&ui.versushover._uiintro){
- ui.versushover._uiintro.delete();
- delete ui.versushover._uiintro;
- }
- ui.versushover=this;
var uiintro=ui.create.dialog('hidden');
- uiintro.classList.add('popped');
- uiintro.classList.add('static');
- this._uiintro=uiintro;
if(_status.enemyDied.length){
uiintro.add('已阵亡');
@@ -654,33 +647,10 @@ mode.versus={
uiintro.add('(无)')
}
- ui.window.appendChild(uiintro);
- uiintro.style.width='330px';
- uiintro.style.height=Math.min(ui.window.offsetHeight-260,uiintro.content.scrollHeight)+'px';
- uiintro.style.top='50px';
- uiintro.style.left=(_status.enemyCount.parentNode.offsetLeft+_status.enemyCount.offsetLeft+
- _status.enemyCount.offsetWidth-330)+'px';
- uiintro.addEventListener(lib.config.touchscreen?'touchend':'mouseleave',function(){
- if(_status.dragged) return;
- this.delete();
- setTimeout(function(){
- delete _status.enemyCount._uiintro;
- },500);
- })
+ return uiintro;
},
versusHoverFriend:function(e){
- if(this._uiintro){
- return;
- }
- if(ui.versushover&&ui.versushover._uiintro){
- ui.versushover._uiintro.delete();
- delete ui.versushover._uiintro;
- }
- ui.versushover=this;
var uiintro=ui.create.dialog('hidden');
- uiintro.classList.add('popped');
- uiintro.classList.add('static');
- this._uiintro=uiintro;
if(_status.friendDied.length){
uiintro.add('已阵亡');
@@ -695,32 +665,10 @@ mode.versus={
uiintro.add('(无)')
}
- ui.window.appendChild(uiintro);
- uiintro.style.width='330px';
- uiintro.style.height=Math.min(ui.window.offsetHeight-260,uiintro.content.scrollHeight)+'px';
- uiintro.style.top='50px';
- uiintro.style.left=(_status.friendCount.parentNode.offsetLeft+_status.friendCount.offsetLeft+_status.friendCount.offsetWidth/2-165)+'px';
- uiintro.addEventListener(lib.config.touchscreen?'touchend':'mouseleave',function(){
- if(_status.dragged) return;
- this.delete();
- setTimeout(function(){
- delete _status.friendCount._uiintro;
- },500);
- })
+ return uiintro;
},
versusHoverReplace:function(e){
- if(this._uiintro){
- return;
- }
- if(ui.versushover&&ui.versushover._uiintro){
- ui.versushover._uiintro.delete();
- delete ui.versushover._uiintro;
- }
- ui.versushover=this;
var uiintro=ui.create.dialog('hidden');
- uiintro.classList.add('popped');
- uiintro.classList.add('static');
- this._uiintro=uiintro;
uiintro.add(ui.autoreplace);
var players=[];
@@ -735,32 +683,11 @@ mode.versus={
buttons[i].addEventListener(lib.config.touchscreen?'touchend':'click',game.versusClickToSwap);
}
- ui.window.appendChild(uiintro);
- uiintro.style.width='330px';
- uiintro.style.height=Math.min(ui.window.offsetHeight-260,uiintro.content.scrollHeight)+'px';
- uiintro.style.top='50px';
- uiintro.style.left=(ui.versusreplace.parentNode.offsetLeft+ui.versusreplace.offsetLeft+ui.versusreplace.offsetWidth/2-165)+'px';
- uiintro.addEventListener(lib.config.touchscreen?'touchend':'mouseleave',function(){
- if(_status.dragged) return;
- this.delete();
- setTimeout(function(){
- delete ui.versusreplace._uiintro;
- },500);
- })
+ return uiintro;
},
versusHoverHandcards:function(e){
- if(this._uiintro){
- return;
- }
- if(ui.versushover&&ui.versushover._uiintro){
- ui.versushover._uiintro.delete();
- delete ui.versushover._uiintro;
- }
- ui.versushover=this;
var uiintro=ui.create.dialog('hidden');
- uiintro.classList.add('popped');
- uiintro.classList.add('static');
- this._uiintro=uiintro;
+
for(var i=0;i |