00003 不思议迷宫.0009.7:一键采矿(钻石、金蛋等)
来源:互联网 发布:抓娃娃机 知乎 编辑:程序博客网 时间:2024/04/29 01:44
00003 不思议迷宫.0009.7:一键采矿(钻石、金蛋等)
矿有很多种,今天要说的是其中的钻石矿这种,也是就神龙许愿“我想要钻石”后进到夹层中,地上显示的那些需要点击99次(初次999次)的钻石矿。为了那么一点钻石,一顿狂点,手机屏幕不怕,那手也累啊,自动化它。
有游戏源码中,这种矿不叫“矿”,而是“矿山”。UIGrid中创建矿山的代码:
-- 创建矿山
function UIGrid:initMineHill()
local mineId = self.gridData.mine_id;
local pos = self.gridData:getPos();
local function onClicked(sender, eventType)
if eventType == ccui.TouchEventType.began then
--不能采矿
if not MineHillM.canMining(pos) then
return;
end
--更新建筑访问
self:updateBuildingVisit();
local mineId = self.gridData.mine_id;
if MineHillM.query(mineId, "type") == MINE_TYPE_EGG then
--金蛋
if not self.gridData:canHit() then
alert(getLocStr("cannot_reach"));
return;
end
elseif #MineHillM.findEmptyPos() <= 0 then
--如果没有空位了
alert(getLocStr("no_pos_for_mine"));
return;
end
--采矿
DungeonActionM.go("mining_diamond", pos);
EventMgr.fire(event.PLAYER_MOVE, pos);
end
end
-- 建筑图标
local iconPath = getLevelItemIconPath(MineHillM.query(mineId, "icon"));
self:myShowContent(iconPath);
self.icon = ccui.ImageView:create(iconPath);
self.icon:setTouchEnabled(true);
self.icon:addTouchEventListener(onClicked);
self.item:addChild(self.icon);
self.iconPath = iconPath;
-- 剩余次数
self:redrawMineHillLeftTimes();
if MineHillM.query(mineId, "type") == MINE_TYPE_EGG then
-- 金蛋先隐藏
self.icon:setVisible(false);
self.barNode:setVisible(false);
end
end
onClicked这个回调函数没有被保存,那我们就自己存一下。然后在UIDungeonMain构造中进行调用。
首先判断地牢中是否存在矿上,如果存在,就创建“自动采矿”按钮,设置其点击回调:
local function tiewen_hasMineHill()
for i=1,#self.grids do
local g = self.grids[i];
if g.tiewen_pickMineHillClick ~= nil then return true; end
end
return false;
end
local function tiewen_isUnminedMineHill(grid)
if grid.tiewen_pickMineHillClick == nil then return false; end
if not MineHillM.canMining(grid.index) then
return false;
end
local mineId = grid.gridData.mine_id;
if MineHillM.query(mineId, "type") == MINE_TYPE_EGG then
if not grid.gridData:canHit() then return false; end
elseif #MineHillM.findEmptyPos() <= 0 then return false; end
return true;
end
local function tiewen_hasUnminedMineHill()
for i=1,#self.grids do
local g = self.grids[i];
if tiewen_isUnminedMineHill(g) and g.icon:isVisible() then return true; end
end
return false;
end
local function tiewen_autoMiningMineHill()
for i=1,#self.grids do
local g = self.grids[i];
if tiewen_isUnminedMineHill(g) and g.icon:isVisible() then
g.tiewen_pickMineHillClick(nil, ccui.TouchEventType.began);
end
end
end
local function onMyButton_autoMiningMineHill(sender, eventType)
if eventType ~= ccui.TouchEventType.ended then return; end
local o = {};
o.timer = cc.Director:getInstance():getScheduler():scheduleScriptFunc(function ()
if tiewen_hasUnminedMineHill() then
tiewen_autoMiningMineHill()
else
cc.Director:getInstance():getScheduler():unscheduleScriptEntry(o.timer);
end
end, 0.05, false);
end
local ammh = nil;
if tiewen_hasMineHill() then
ammh = TieWen_UI.createButton(self, "自动采矿", onMyButton_autoMiningMineHill);
end
如有需要,可进群161355323下载补丁或安装程序。
- 00003 不思议迷宫.0009.7:一键采矿(钻石、金蛋等)
- 00003 不思议迷宫.0009.6:一键翻开石板捡取物品
- 00003 不思议迷宫.0009.4:攻防计算
- 00003 不思议迷宫.0009.8:Bug之一
- 00003 不思议迷宫.0009.3:格子信息显示(怪物、钥匙、物品、建筑)
- 00003 不思议迷宫.0001:解密Lua脚本
- 00003 不思议迷宫.0004:客户端数据缓存
- 00003 不思议迷宫.0005:是数据同步吗?
- 00003 不思议迷宫.0009.1:来,练个手:换肤
- 00003 不思议迷宫.0009.2.1:自动换装:简单规划
- 00003 不思议迷宫.0010.1.1:csb解析显示
- 00003 不思议迷宫.0010.1.1.2:csb解析显示
- 00003 不思议迷宫.0009.2.2:自动换装:界面模拟
- 00003 不思议迷宫.0009.5:炼金坊自动捡钱
- 00003 不思议迷宫.0011:Android新版中的Lua加密
- 00003 不思议迷宫.0010.2:project.manifest自动生成器
- 00003 不思议迷宫.0009.9:命运之链
- 00003 不思议迷宫.0012:SB的雷霆运营
- Java解压带密码的Rar压缩文件
- Android 官方推荐 : DialogFragment 创建对话框
- SD高清图片处理--内存疯长解决方法
- Window下VS打造dll 详细 简单步骤
- Linux简介
- 00003 不思议迷宫.0009.7:一键采矿(钻石、金蛋等)
- Week Training: 240 Search a 2D Matrix II
- StarUML2 全平台破解方法
- 九度oj 1176 树查找
- 《win32多线程程序设计》学习笔记三
- matlab 出现 调用 "function1" 时,未对输出参数 "average" (可能还包括其他参数)赋值
- 初步认识UI开发---六种布局及其属性
- iOS之对象复制
- VS Code 使用