您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
title
当前为
- // ==UserScript==
- // @name Moving touch buttons in tetr.js
- // @namespace http://tampermonkey.net/
- // @version 0.32
- // @author Oki
- // @description title
- // @match http://farter.cn/tetr.js/
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- window.addEventListener('load', function(){
- touchButtonsLayout = function() {
- console.log("test")
- var dpiX = 96;
- var dpiY = 96;
- var winW = window.innerWidth / dpiX;
- var winH = window.innerHeight / dpiY;
- var buttonH = 0.7, buttonW = 1, fontSize=0.55, margin=0.1, unit="in";
- var setPos = function(elem, posX, posY, sizeW, sizeH,
- alignX, alignY, offsetX, offsetY, clientW, clientH)
- {
- elem.style.width = "" + sizeW + unit;
- elem.style.height = "" + sizeH + unit;
- // border ignored, for now
- elem.style.left = "" + (offsetX + alignX * 0.5 * (clientW - sizeW) + posX * sizeW - ( (alignX-1) * margin/2 )) + unit;
- elem.style.top = "" + (offsetY + alignY * 0.5 * (clientH - sizeH) + posY * sizeH - ( (alignY-1) * margin/2 )) + unit;
- elem.style.display = "block";
- elem.style.fontSize = "" + fontSize + unit;
- }
- var layouts = { //function array
- "NONE":
- function() {
- for (var i = 0, len = touchButtons.length; i < len; i++)
- touchButtons[i].style.display = "none";
- },
- "KBD_R":
- function() {
- setPos(touchRotLeft, 0, -1, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchDown, 0.5, -2, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchRotRight, 1, -1, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchDrop, 1.5, 0, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchRight, 0, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchLeft, -2, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchRot180, -1, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchHold, -1, -1, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- },
- "KBD_L":
- function() {
- setPos(touchRotLeft, -1, -1, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchRot180, -0.4, -2, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchRotRight, 0, -1, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchHold, -1.5, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchRight, 2, 0, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchLeft, 0, 0, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchDown, 1, 0, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchDrop, 1, -1, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- },
- "JOY":
- function() {
- var oy/*offset Y by block*/,ay/*align Y*/;
- if (winH-winW>buttonH*1.5) {
- oy=-1; ay=2;
- } else {
- oy=0; ay=1;
- }
- /* single finger */
- buttonW = 0.8;
- if ((winW-0.1)/4<buttonW) {
- buttonW=(winW-0.1)/4;
- }
- setPos(touchRotLeft, -0.5, 1+oy, buttonW, buttonH, 2, ay, 0, 0, winW, winH);
- setPos(touchRot180, -0.5, -1+oy, buttonW, buttonH, 2, ay, 0, 0, winW, winH);
- setPos(touchRotRight, 0, 0+oy, buttonW, buttonH, 2, ay, 0, 0, winW, winH);
- setPos(touchHold, -1, 0+oy, buttonW, buttonH, 2, ay, 0, 0, winW, winH);
- setPos(touchRight, 1, 0+oy, buttonW, buttonH, 0, ay, 0, 0, winW, winH);
- setPos(touchLeft, 0, 0+oy, buttonW, buttonH, 0, ay, 0, 0, winW, winH);
- setPos(touchDown, 0.5, 1+oy, buttonW, buttonH, 0, ay, 0, 0, winW, winH);
- setPos(touchDrop, 0.5, -1+oy, buttonW, buttonH, 0, ay, 0, 0, winW, winH);
- },
- "NARROW":
- function() {
- setPos(touchLeft, -2, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchRight, 0, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- if (winH-winW>buttonH*1.5) {
- setPos(touchDown, -1, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchDrop, -1, -1, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- } else {
- setPos(touchDown, 0, -1, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchDrop, -1, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- }
- setPos(touchRotLeft, 0, -1.2, buttonW, buttonH, 0, 1, 0, 0, winW, winH);
- setPos(touchRotRight, 0, 0, buttonW, buttonH, 0, 1, 0, 0, winW, winH);
- setPos(touchHold, 0, 1.2, buttonW, buttonH, 0, 1, 0, 0, winW, winH);
- setPos(touchRot180, 0, -2.4, buttonW, buttonH, 0, 1, 0, 0, winW, winH);
- },
- "NARROW_L":
- function() {
- setPos(touchRotLeft, -2, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchRotRight, -1, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchDrop, 0, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- if (winH-winW>buttonH*1.5) {
- setPos(touchRot180, -1, -1, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- } else {
- setPos(touchRot180, 0, -1, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- }
- setPos(touchLeft, 0, -1.2, buttonW, buttonH, 0, 1, 0, 0, winW, winH);
- setPos(touchDown, 0, 0, buttonW, buttonH, 0, 1, 0, 0, winW, winH);
- setPos(touchRight, 0, 1.2, buttonW, buttonH, 0, 1, 0, 0, winW, winH);
- setPos(touchHold, 0, -2.4, buttonW, buttonH, 0, 1, 0, 0, winW, winH);
- },
- "NARROW_LM":
- function() {
- setPos(touchLeft, 0, 0, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchRight, 2, 0, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- if (winH-winW>buttonH*1.5) {
- setPos(touchDown, 1, 0, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchDrop, 1, -1, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- }
- else {
- setPos(touchDown, 0, -1, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchDrop, 1, 0, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- }
- setPos(touchRotLeft, 0, -1.2, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchRotRight, 0, -2.4, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchHold, 0, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchRot180, 0, -3.6, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- },
- "DELUXE":
- function() {
- buttonW = 0.8;
- if ((winW-0.1)/4<buttonW) {
- buttonW=(winW-0.1)/4;
- }
- setPos(touchLeft, 0, 0, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchRight, 1, 0, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- setPos(touchDown, 0, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchDrop, 0, -1, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchRotLeft, -1, 0, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchRotRight, -1, -1, buttonW, buttonH, 2, 2, 0, 0, winW, winH);
- setPos(touchHold, 0.5, -1, buttonW, buttonH, 0, 2, 0, 0, winW, winH);
- //setPos(touchRot180, 0, -buttonH*2.4, buttonW, buttonH, 0, 1, 0, 0, winW, winH);
- touchRot180.style.display = "none";
- },
- };
- setPos(touchLayout, 0, 0, buttonW*0.8, buttonH*0.8, 2, 0, 0, 0, winW, winH);
- if(currLayout === -2) { // none
- layouts["NONE"]();
- }else if(currLayout === -1) { // auto detection
- if(winW<buttonW*3) {
- layouts["NONE"]();
- }
- else if((winW-(winH*0.5)>buttonW*4.5) ||
- (winH-winW>4*buttonH && winW>buttonW*5.5)) {
- layouts["KBD_R"]();
- }
- else if(winW-(winH*0.5)>buttonW*3) {
- layouts["JOY"]();
- }
- else if(winH-winW>0) {
- layouts["NARROW"]();
- }
- else if(winW>=buttonW*4) {
- layouts["DELUXE"]();
- }
- else {
- layouts["NONE"]();
- }
- }
- else {
- layouts[["KBD_R","KBD_L","JOY","NARROW","NARROW_L","NARROW_LM","DELUXE"][currLayout]]();
- }
- }
- });
- })();