图块的不透明度
This commit is contained in:
1 parent
f8cadb5ad1
commit
6cf7b02065
10 files changed
+205
-34
No files matched your search
@@ -3161,6 +3161,14 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
|
||||
"!doc": "设置某个点图块的强制启用或禁用状态",
|
||||
"!type": "fn(floorId?: string, x?: number, y?: number, disabled?: bool)"
|
||||
},
|
||||
"getMapBlockOpacity": {
|
||||
"!doc": "获得某个点图块的不透明度",
|
||||
"!type": "fn(floorId?: string, x?: number, y?: number, flags?: ?) -> number"
|
||||
},
|
||||
"setMapBlockOpacity": {
|
||||
"!doc": "设置某个点图块的不透明度",
|
||||
"!type": "fn(floorId?: string, x?: number, y?: number, opacity?: number)"
|
||||
},
|
||||
"decompressMap": {
|
||||
"!doc": "解压缩地图",
|
||||
"!type": "fn(mapArr: [[number]], floorId?: string) -> [[number]]"
|
||||
@@ -3299,7 +3307,7 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
|
||||
},
|
||||
"animateBlock": {
|
||||
"!doc": "显示/隐藏某个块时的动画效果",
|
||||
"!type": "fn(loc?: [number]|[[number]], type?: string, time?: number, callback?: fn())"
|
||||
"!type": "fn(loc?: [number]|[[number]], type?: string|number, time?: number, callback?: fn())"
|
||||
},
|
||||
"loadMap": {
|
||||
"!doc": "将存档中的地图信息重新读取出来",
|
||||
@@ -3466,9 +3474,9 @@ var terndefs_f6783a0a_522d_417e_8407_94c67b692e50 = [
|
||||
"!type": "fn(name: string|CanvasRenderingContext2D, text: string, maxWidth?: number, font?: string)"
|
||||
},
|
||||
"setAlpha": {
|
||||
"!doc": "设置某个canvas接下来绘制的不透明度;不会影响已经绘制的内容<br/>如果需要修改画布本身的不透明度请使用setOpacity",
|
||||
"!doc": "设置某个canvas接下来绘制的不透明度;不会影响已经绘制的内容<br/>返回设置之前画布的不透明度<br/>如果需要修改画布本身的不透明度请使用setOpacity",
|
||||
"!url": "https://www.w3school.com.cn/tags/canvas_globalalpha.asp",
|
||||
"!type": "fn(name: string|CanvasRenderingContext2D, alpha: number)"
|
||||
"!type": "fn(name: string|CanvasRenderingContext2D, alpha: number) -> number"
|
||||
},
|
||||
"setLineWidth": {
|
||||
"!doc": "设置某个canvas的线宽度",
|
||||
|
||||
+42
-3
@@ -42,22 +42,24 @@ return code;
|
||||
|
||||
//事件 事件编辑器入口之一
|
||||
event_m
|
||||
: '事件' BGNL? Newline '覆盖触发器' Bool '启用' Bool '通行状态' B_0_List '显伤' Bool BGNL? Newline action+ BEND
|
||||
: '事件' BGNL? Newline '覆盖触发器' Bool '启用' Bool '通行状态' B_0_List '显伤' Bool '不透明度' Number BGNL? Newline action+ BEND
|
||||
|
||||
|
||||
/* event_m
|
||||
tooltip : 编辑魔塔的事件
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : [false,null,null,null,null]
|
||||
default : [false,true,null,true,1.0,null]
|
||||
B_0_List_0=eval(B_0_List_0);
|
||||
if (Number_0 < 0 || Number_0 > 1) throw '不透明度需要在0~1之间';
|
||||
var code = {
|
||||
'trigger': Bool_0?'action':null,
|
||||
'enable': Bool_1,
|
||||
'noPass': B_0_List_0,
|
||||
'displayDamage': Bool_2,
|
||||
'opacity': Number_0,
|
||||
'data': 'data_asdfefw'
|
||||
}
|
||||
if (!Bool_0 && Bool_1 && (B_0_List_0===null) && Bool_2) code = 'data_asdfefw';
|
||||
if (!Bool_0 && Bool_1 && (B_0_List_0===null) && Bool_2 && Number_0 == 1.0) code = 'data_asdfefw';
|
||||
code=JSON.stringify(code,null,2).split('"data_asdfefw"').join('[\n'+action_0+']\n');
|
||||
return code;
|
||||
*/;
|
||||
@@ -760,6 +762,7 @@ action
|
||||
| setNameMap_s
|
||||
| show_s
|
||||
| hide_s
|
||||
| setBlockOpacity_s
|
||||
| trigger_s
|
||||
| insert_1_s
|
||||
| insert_2_s
|
||||
@@ -1368,6 +1371,42 @@ var code = '{"type": "hide"'+floorstr+IdString_0+Bool_0+IntString_0+Bool_1+'},\n
|
||||
return code;
|
||||
*/;
|
||||
|
||||
setBlockOpacity_s
|
||||
: '设置图块不透明度' 'x' EvalString? ',' 'y' EvalString? '楼层' IdString? '不透明度' Number '动画时间' IntString? '不等待执行完毕' Bool? Newline
|
||||
|
||||
|
||||
/* setBlockOpacity_s
|
||||
tooltip : setBlockOpacity: 设置图块不透明度
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["","","",1.0,"",false]
|
||||
selectPoint : ["EvalString_0", "EvalString_1", "IdString_0"]
|
||||
allFloorIds : ['IdString_0']
|
||||
colour : this.mapColor
|
||||
var floorstr = '';
|
||||
if (EvalString_0 && EvalString_1) {
|
||||
var pattern1 = MotaActionFunctions.pattern.id;
|
||||
if(pattern1.test(EvalString_0) || pattern1.test(EvalString_1)){
|
||||
EvalString_0=MotaActionFunctions.PosString_pre(EvalString_0);
|
||||
EvalString_1=MotaActionFunctions.PosString_pre(EvalString_1);
|
||||
EvalString_0=[EvalString_0,EvalString_1]
|
||||
} else {
|
||||
var pattern2 = /^([+-]?\d+)(,[+-]?\d+)*$/;
|
||||
if(!pattern2.test(EvalString_0) || !pattern2.test(EvalString_1))throw new Error('坐标格式错误,请右键点击帮助查看格式');
|
||||
EvalString_0=EvalString_0.split(',');
|
||||
EvalString_1=EvalString_1.split(',');
|
||||
if(EvalString_0.length!==EvalString_1.length)throw new Error('坐标格式错误,请右键点击帮助查看格式');
|
||||
for(var ii=0;ii<EvalString_0.length;ii++)EvalString_0[ii]='['+EvalString_0[ii]+','+EvalString_1[ii]+']';
|
||||
}
|
||||
floorstr = ', "loc": ['+EvalString_0.join(',')+']';
|
||||
}
|
||||
if (Number_0 < 0 || Number_0 > 1) throw new Error('不透明度需要在0~1之间');
|
||||
IdString_0 = IdString_0 && (', "floorId": "'+IdString_0+'"');
|
||||
IntString_0 = IntString_0 ?(', "time": '+IntString_0):'';
|
||||
Bool_0 = Bool_0 ?', "async": true':'';
|
||||
var code = '{"type": "setBlockOpacity"'+floorstr+IdString_0+', "opacity": '+Number_0+IntString_0+Bool_0+'},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
trigger_s
|
||||
: '触发系统事件' 'x' PosString? ',' 'y' PosString? Newline
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ ActionParser.prototype.parse = function (obj,type) {
|
||||
if(typeof(obj)===typeof('')) obj={'data':[obj]};
|
||||
if(obj instanceof Array) obj={'data':obj};
|
||||
return MotaActionBlocks['event_m'].xmlText([
|
||||
obj.trigger==='action',obj.enable,obj.noPass,obj.displayDamage,this.parseList(obj.data)
|
||||
obj.trigger==='action',obj.enable,obj.noPass,obj.displayDamage,obj.opacity,this.parseList(obj.data)
|
||||
]);
|
||||
|
||||
case 'autoEvent':
|
||||
@@ -352,6 +352,18 @@ ActionParser.prototype.parseAction = function() {
|
||||
this.next = MotaActionBlocks['setBlock_s'].xmlText([
|
||||
data.number||0,x_str.join(','),y_str.join(','),data.floorId||'',data.time,data.async||false,this.next]);
|
||||
break;
|
||||
case "setBlockOpacity": // 设置图块不透明度
|
||||
data.loc=data.loc||[];
|
||||
if (!(data.loc[0] instanceof Array))
|
||||
data.loc = [data.loc];
|
||||
var x_str=[],y_str=[];
|
||||
data.loc.forEach(function (t) {
|
||||
x_str.push(t[0]);
|
||||
y_str.push(t[1]);
|
||||
})
|
||||
this.next = MotaActionBlocks['setBlockOpacity_s'].xmlText([
|
||||
x_str.join(','),y_str.join(','),data.floorId||'',data.opacity,data.time,data.async||false,this.next]);
|
||||
break;
|
||||
case "turnBlock": // 事件转向
|
||||
data.loc=data.loc||[];
|
||||
if (!(data.loc[0] instanceof Array))
|
||||
|
||||
@@ -153,6 +153,7 @@ editor_blocklyconfig=(function(){
|
||||
MotaActionBlocks['show_s'].xmlText(),
|
||||
MotaActionBlocks['hide_s'].xmlText(),
|
||||
MotaActionBlocks['setBlock_s'].xmlText(),
|
||||
MotaActionBlocks['setBlockOpacity_s'].xmlText(),
|
||||
MotaActionBlocks['turnBlock_s'].xmlText(),
|
||||
MotaActionBlocks['moveHero_s'].xmlText(),
|
||||
MotaActionBlocks['move_s'].xmlText(),
|
||||
|
||||
Reference in new issue
Block a user