您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
try to take over the world
// ==UserScript== // @name Funny Faces // @namespace Violentmonkey Scripts // @match *://*/* // @grant none // @version 1.0 // @author @basti564 // @description try to take over the world // @license MIT // ==/UserScript== var canvas = document.createElement('canvas'); canvas.width = window.innerWidth; canvas.height = window.innerHeight; document.body.appendChild(canvas); var ctx = canvas.getContext('2d'); var mouse = { x: 0, y: 0, down: false }; var objects = []; function addObject(x, y, w, h, vx, vy, ax, ay, color) { objects.push({ x: x, y: y, w: w, h: h, vx: vx, vy: vy, ax: ax, ay: ay, color: color }); } addObject(100, 100, 50, 50, 0, 0, 0, 0.1, '#ff0000'); addObject(200, 100, 50, 50, 0, 0, 0, 0.1, '#00ff00'); addObject(300, 100, 50, 50, 0, 0, 0, 0.1, '#0000ff'); addObject(400, 100, 50, 50, 0, 0, 0, 0.1, '#ffff00'); addObject(500, 100, 50, 50, 0, 0, 0, 0.1, '#00ffff'); addObject(600, 100, 50, 50, 0, 0, 0, 0.1, '#ff00ff'); function drawObject(obj) { ctx.fillStyle = obj.color; ctx.fillRect(obj.x, obj.y, obj.w, obj.h); } function draw() { ctx.clearRect(0, 0, canvas.width, canvas.height); for (var i = 0; i < objects.length; i++) { drawObject(objects[i]); } } function update() { for (var i = 0; i < objects.length; i++) { updateObject(objects[i]); } } function loop() { draw(); update(); requestAnimationFrame(loop); } function onMouseMove(e) { mouse.x = e.clientX; mouse.y = e.clientY; } function onMouseDown(e) { mouse.down = true; } function onMouseUp(e) { mouse.down = false; } canvas.addEventListener('mousemove', onMouseMove); canvas.addEventListener('mousedown', onMouseDown); canvas.addEventListener('mouseup', onMouseUp); loop(); function updateObject(obj) { if (mouse.down && mouse.x >= obj.x && mouse.x <= obj.x + obj.w && mouse.y >= obj.y && mouse.y <= obj.y + obj.h) { obj.x = mouse.x - obj.w / 2; obj.y = mouse.y - obj.h / 2; } else { obj.vx += obj.ax; obj.vy += obj.ay; obj.x += obj.vx; obj.y += obj.vy; if (obj.x < 0) { obj.x = 0; obj.vx = -obj.vx; } if (obj.y < 0) { obj.y = 0; obj.vy = -obj.vy; } if (obj.x + obj.w > canvas.width) { obj.x = canvas.width - obj.w; obj.vx = -obj.vx; } if (obj.y + obj.h > canvas.height) { obj.y = canvas.height - obj.h; obj.vy = -obj.vy; } for (var i = 0; i < objects.length; i++) { if (objects[i] !== obj) { if (obj.x < objects[i].x + objects[i].w && obj.x + obj.w > objects[i].x && obj.y < objects[i].y + objects[i].h && obj.y + obj.h > objects[i].y) { obj.x = obj.x - obj.vx; obj.y = obj.y - obj.vy; obj.vx = -obj.vx; obj.vy = -obj.vy; } } } } } function drawObject(obj) { ctx.fillStyle = obj.color; ctx.fillRect(obj.x, obj.y, obj.w, obj.h); ctx.fillStyle = '#000000'; ctx.beginPath(); ctx.arc(obj.x + obj.w / 2, obj.y + obj.h / 2, obj.w / 2, 0, 2 * Math.PI); ctx.fill(); ctx.fillStyle = '#ffffff'; ctx.beginPath(); ctx.arc(obj.x + obj.w / 2 - obj.w / 4, obj.y + obj.h / 2 - obj.h / 4, obj.w / 8, 0, 2 * Math.PI); ctx.fill(); ctx.beginPath(); ctx.arc(obj.x + obj.w / 2 + obj.w / 4, obj.y + obj.h / 2 - obj.h / 4, obj.w / 8, 0, 2 * Math.PI); ctx.fill(); ctx.beginPath(); ctx.arc(obj.x + obj.w / 2, obj.y + obj.h / 2 + obj.h / 4, obj.w / 4, 0, Math.PI); ctx.fill(); };
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址