微信跳一跳简单版

刚在学习AutoJS,找来PowerShellA的微信跳一跳脚本,好好理解了一番,改成了一个简化版,自己的华为MATE10手机上用得还不错,分享一下。
0_1521423470298_微信图片_20180319093701.jpg
0_1521423483509_微信图片_20180319093656.jpg

// 调整偏移量,使红点显示在靶区中心
var toX = 230, toY = 232;
// 调整偏移量,使红点显示在棋底中心
var poX = -60, poY = 164;
// 调整跳跃距离与按压时间转换系数
var toD = 1.04;
// 定义棋子顶部颜色
var poC = "#524b7a"

// 请求无障碍权限
auto();
// 请求截屏权限
requestScreenCapture();
// 保持悬浮框稳定存在
setInterval(() => { }, 1000);

var sta = 0;
launch("com.tencent.mm");

// 生成靶区悬浮框
var fw1 = floaty.window(<frame>
<button id="action" text="+" w="120" h="120" bg="#1f995566" />
</frame>);

// 生成定位红点
var fw2 = floaty.window(<frame>
<button id="action" text="+" w="5" h="5" bg="#ffff0000" />
</frame>);

// 监听靶区移动
fw1.action.setOnTouchListener(function (view, event) {
switch (event.getAction()) {
case event.ACTION_DOWN:
xx = event.getRawX();
yy = event.getRawY();
fwX = fw1.getX();
fwY = fw1.getY();
sta = 0;
return true;
case event.ACTION_MOVE:
fw1.setPosition(fwX + (event.getRawX() - xx), fwY + (event.getRawY() - yy));
sta = 0;
return true;
case event.ACTION_UP:
x2 = fw1.getX() + toX;
y2 = fw1.getY() + toY;
sta = 1;
return true;
}
return true;
});

// 主循环
while (1) {
if (currentActivity() != "com.tencent.mm.plugin.appbrand.ui.AppBrandUI") {
log("Wait For WeChat");
sleep(1000);
continue;
}
if (piece = findColor(captureScreen(), poC)) {
var x1 = piece.x + poX, y1 = piece.y + poY;
fw2.setPosition(x1, y1);
if (sta == 1) {
fw2.setPosition(x2, y2);
sleep(2000);
// 计算定位点距并转换为按压时长
press(x1, y1, parseInt(Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)) * toD));
sta = 0;
}
}
}

监控弄兔兔兔兔他

@puwei7788微信跳一跳简单版 中说:

// 调整偏移量,使红点显示在靶区中心
var toX = 230, toY = 232;
// 调整偏移量,使红点显示在棋底中心
var poX = -60, poY = 164;
// 调整跳跃距离与按压时间转换系数
var toD = 1.04;
// 定义棋子顶部颜色
var poC = "#524b7a"

// 请求无障碍权限
auto();
// 请求截屏权限
requestScreenCapture();
// 保持悬浮框稳定存在
setInterval(() => { }, 1000);

var sta = 0;
launch("com.tencent.mm");

// 生成靶区悬浮框
var fw1 = floaty.window(<frame>
<button id="action" text="+" w="120" h="120" bg="#1f995566" />
</frame>);

// 生成定位红点
var fw2 = floaty.window(<frame>
<button id="action" text="+" w="5" h="5" bg="#ffff0000" />
</frame>);

// 监听靶区移动
fw1.action.setOnTouchListener(function (view, event) {
switch (event.getAction()) {
case event.ACTION_DOWN:
xx = event.getRawX();
yy = event.getRawY();
fwX = fw1.getX();
fwY = fw1.getY();
sta = 0;
return true;
case event.ACTION_MOVE:
fw1.setPosition(fwX + (event.getRawX() - xx), fwY + (event.getRawY() - yy));
sta = 0;
return true;
case event.ACTION_UP:
x2 = fw1.getX() + toX;
y2 = fw1.getY() + toY;
sta = 1;
return true;
}
return true;
});

// 主循环
while (1) {
if (currentActivity() != "com.tencent.mm.plugin.appbrand.ui.AppBrandUI") {
log("Wait For WeChat");
sleep(1000);
continue;
}
if (piece = findColor(captureScreen(), poC)) {
var x1 = piece.x + poX, y1 = piece.y + poY;
fw2.setPosition(x1, y1);
if (sta == 1) {
fw2.setPosition(x2, y2);
sleep(2000);
// 计算定位点距并转换为按压时长
press(x1, y1, parseInt(Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)) * toD));
sta = 0;
}
}
}

@puwei7788微信跳一跳简单版 中说:

// 调整偏移量,使红点显示在靶区中心
var toX = 230, toY = 232;
// 调整偏移量,使红点显示在棋底中心
var poX = -60, poY = 164;
// 调整跳跃距离与按压时间转换系数
var toD = 1.04;
// 定义棋子顶部颜色
var poC = "#524b7a"

// 请求无障碍权限
auto();
// 请求截屏权限
requestScreenCapture();
// 保持悬浮框稳定存在
setInterval(() => { }, 1000);

var sta = 0;
launch("com.tencent.mm");

// 生成靶区悬浮框
var fw1 = floaty.window(<frame>
<button id="action" text="+" w="120" h="120" bg="#1f995566" />
</frame>);

// 生成定位红点
var fw2 = floaty.window(<frame>
<button id="action" text="+" w="5" h="5" bg="#ffff0000" />
</frame>);

// 监听靶区移动
fw1.action.setOnTouchListener(function (view, event) {
switch (event.getAction()) {
case event.ACTION_DOWN:
xx = event.getRawX();
yy = event.getRawY();
fwX = fw1.getX();
fwY = fw1.getY();
sta = 0;
return true;
case event.ACTION_MOVE:
fw1.setPosition(fwX + (event.getRawX() - xx), fwY + (event.getRawY() - yy));
sta = 0;
return true;
case event.ACTION_UP:
x2 = fw1.getX() + toX;
y2 = fw1.getY() + toY;
sta = 1;
return true;
}
return true;
});

// 主循环
while (1) {
if (currentActivity() != "com.tencent.mm.plugin.appbrand.ui.AppBrandUI") {
log("Wait For WeChat");
sleep(1000);
continue;
}
if (piece = findColor(captureScreen(), poC)) {
var x1 = piece.x + poX, y1 = piece.y + poY;
fw2.setPosition(x1, y1);
if (sta == 1) {
fw2.setPosition(x2, y2);
sleep(2000);
// 计算定位点距并转换为按压时长
press(x1, y1, parseInt(Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)) * toD));
sta = 0;
}
}
}

  • 6
    帖子
  • 2464
    浏览

与 Auto.js 的连接断开,我们正在尝试重连,请耐心等待