歧路旅人:大陆的霸者WIKI
wiki.17173.com/octopathsp
首页
旅人图鉴
图鉴资料
地图资料
武器图鉴
首饰图鉴
支援者图鉴
试炼之塔
秘技的试炼
职业的试炼
历战的试炼
攻略聚合
斗技大赛
历战NPC攻略
主线BOSS
追忆之塔
讨伐委托
新手攻略
支炎兽
管理
刷新本页缓存
页面操作
短链
移动
删除
保护
取消监视
链入页面
常用功能
沙盒
所有页面
特殊页面
Cargo表
Cargo查询
创建模板
文件列表
更改审核
最近更改
用户权限
用户组权限
评论管理
更改审核
全站配置
配置导航栏
配置整站通告
配置小组件
配置全局CSS
配置全局JS
全局测试CSS
全局测试js
JS/CSS版本
全站设置
组件使用帮助
新建页面提示
修改页面提示
删除页面原因
编辑版权警示
修改页面摘要
上传文件提示
上传文件协议
上传文件说明
编辑器上传文件说明
删除文件原因
其他
创建
攻略审核
WIKI贡献榜
WIKI反馈区
WIKI运维
首页
旅人图鉴
图鉴资料
地图资料
武器图鉴
首饰图鉴
支援者图鉴
试炼之塔
秘技的试炼
职业的试炼
历战的试炼
攻略聚合
斗技大赛
历战NPC攻略
主线BOSS
追忆之塔
讨伐委托
新手攻略
支炎兽
管理
刷新本页缓存
页面操作
短链
移动
删除
保护
取消监视
链入页面
常用功能
沙盒
所有页面
特殊页面
Cargo表
Cargo查询
创建模板
文件列表
更改审核
最近更改
用户权限
用户组权限
评论管理
更改审核
全站配置
配置导航栏
配置整站通告
配置小组件
配置全局CSS
配置全局JS
全局测试CSS
全局测试js
JS/CSS版本
全站设置
组件使用帮助
新建页面提示
修改页面提示
删除页面原因
编辑版权警示
修改页面摘要
上传文件提示
上传文件协议
上传文件说明
编辑器上传文件说明
删除文件原因
其他
创建
攻略审核
WIKI贡献榜
WIKI反馈区
WIKI运维
查看“MediaWiki:Gadget-Info.js”的源代码
WIKI功能
阅读
查看源代码
查看历史
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
/* 源自碧蓝航线bwiki的Mediawiki:info.js 绘制雷达图 * 为div设置data-type="canvas"来匹配 * data-height 设置高度,默认200 * data-width 设置宽度,默认225 * data-maxvalue 设置数轴最大值 * data-value 格式:[数值]_[标签]_[数值2]|... ** [数值] 属性的数值,相对于数轴最大值 ** [标签] 属性的文字标签 ** [数值2] 属性的第二数值,默认为0 示例 <div data-type="canvas" data-maxvalue="5" data-value="2_辅助|3_生存|4_单体|4_爆发|3_难度|5_范围"></div> <div data-type="canvas" data-maxvalue="5" data-value="1_辅助_0|3_生存_2|4_单体_3|4_爆发_4|3_难度_5|2_范围_5" data-height="300" data-width="337"></div> */ $('div[data-type="canvas"]').each(function(){ var $div = $(this); var html = $div.text('')[0].outerHTML; html = html.replace('<div',"<canvas ") .replace('></div>',' />'); var $hex = $(html); $hex[0].height = $hex.data('height') || 200; $hex[0].width = $hex.data('width') || 225; $div.replaceWith($hex); var ability_value = []; var ability_name = []; var ability_value2 = []; var maxvalue = $div.data('maxvalue'); var canvasinfo = $div.data('value').split('|'); $.each(canvasinfo, function(i, val){ var data = val.split('_'); ability_value.push(data[0] || 0); ability_name.push(data[1]); ability_value2.push(data[2] || 0); }); polygon($hex[0], canvasinfo.length, maxvalue, ability_value, ability_name, ability_value2); }); // 绘制多边形图 function polygon(obj, side, part, ability_value, ability_name, ability_value2) { var ability = obj.getContext('2d'); ability.canvas.width = obj.width; ability.canvas.height = obj.height; var width = obj.width; var height = obj.height; // ability.rect(0,0,width,height); // ability.fillStyle="rgba(34,34,34,1)"; // ability.fill(); var xCenter = width * 0.5; var yCenter = height * 0.5; var radius = width * 0.3; var space = radius/part; var theta = Math.PI*2/side; //绘制渐变多边形底层 for (var j=part;j>=1;j--) { ability.beginPath(); for (var i=0; i<=side; i++) { ability.lineTo(Math.cos(i*theta)*space*j+xCenter,-Math.sin(i*theta)*space*j+yCenter); } var r=10, g=31,b=146,a=0.2; ability.lineWidth = 1; ability.strokeStyle="rgba(128,128,128,1)"; ability.stroke(); ability.fillStyle = "rgba("+ r +","+ g +","+ b +"," + a + ")"; ability.fill(); ability.closePath(); for (var i=0; i<=side; i++) { ability.beginPath(); ability.moveTo(xCenter,yCenter); ability.lineTo(Math.cos(i*theta)*space*j+xCenter,-Math.sin(i*theta)*space*j+yCenter); ability.stroke(); ability.closePath(); } } //绘制能力多边形 ability.beginPath(); for (var i=0; i<=side; i++) { var x = Math.cos(i*theta)*radius*(ability_value[i%side]/part)+xCenter; var y = -Math.sin(i*theta)*radius*(ability_value[i%side]/part)+yCenter; ability.lineTo(x,y); } ability.closePath(); ability.fillStyle="rgba(255,255,255,0.6)"; ability.fill(); //绘制能力多边形的变化数据 ability.beginPath(); for (var i=0; i<=side; i++) { var x = Math.cos(i*theta)*radius*(ability_value2[i%side]/part)+xCenter; var y = -Math.sin(i*theta)*radius*(ability_value2[i%side]/part)+yCenter; ability.lineTo(x,y); } ability.closePath(); ability.lineWidth = 2; ability.strokeStyle="rgba(255,255,255,1)"; ability.stroke(); //绘制字体 for (var i=0; i<side; i++) { ability.fillStyle="rgba(0,0,0,1)"; ability.font = "normal 15px Microsoft Yahei"; if (Math.cos(i*theta)*radius>0) { if(i==0){ ability.textAlign = 'left' var x = Math.cos(i*theta)*radius+xCenter+3; } else{ ability.textAlign = 'center' var x = Math.cos(i*theta)*radius+xCenter+3; } } else { ability.textAlign = 'left' var x = Math.cos(i*theta)*radius*1.5+xCenter; } var y = -Math.sin(i*theta)*radius*1.3+yCenter; ability.fillText(ability_name[i],x,y+6); } }
返回
MediaWiki:Gadget-Info.js
。