牙叔教程 简单易懂
效果展示动态背景
连接线
重排
依赖图该图使用vscode插件 Dependency Cruiser Extension 生成
制作流程布局
ui.layout( vertical padding="30" horizontal text textSize="30sp" text="计时" / text id="gameDuration" textSize="30sp" text="00:00" layout_weight="1" / button id="rearrange" textSize="30sp" text="重排" / /horizontal canvas id="board" w="*" h="*"/canvas /vertical);canvas是android的画板, 我们做连连看主要就是在画板上面操作, 主要流程如下
写连连看代码规则数据与渲染分离, 方便维护与复用代码
生成数据画板可以画图片, 路径, 曲线, 圆等等, 我选择的是画路径path,;
所有的形状都是八边形的子集, 八边形取任意个点, 排序, 再填充颜色;
每个图形都有类似身份证的属性, 方便后期对比两个图形是否一样;
格子的属性很多, 没有冗余, 基本都是必备的;
我把一个格子看成一个放玩具的地方, 八边形就是玩具, 也就是toyData:
格子的方法也很多
格子有三种状态
正常选中空格子的状态属于数据, 设置状态的方法就仅仅设置状态, 不负责渲染,
渲染有专门的render方法
渲染数据 渲染动态背景: 一个图片加定时器, 定时修改图片坐标, 视觉上就有了移动效果渲染格子: 先画边框, 再画边框内部的toy玩具, 即八边形的子集, 三角形, 四角行, 五角形等待渲染连线: 计算两个格子的连接路径, 然后画该路径, 给了一个200ms的延时, 以便看见连线效果 点击事件 function setOnTouchListener(board, cellList, boardForLine) { let touchListener = getTouchListener(cellList, boardForLine); board.setOnTouchListener(touchListener);}一开始用的view.click(), 没反应, 采用setOnTouchListener后就有反应了;
主要逻辑
点击属于哪个格子格子三种状态切换及渲染: 正常, 选中, 空 两个格子能否连通我把连通种类分为3种:
两个格子紧紧挨着两个格子周围的空格是否有交集遍历一个格子周围的空格, 和另外一个格子周围的空格是否有交集如下图: 红色叉叉既是绿色格子的空格, 也是红色格子的空格, 这就表示两个格子可以连通
重排为了应对随机生成的连连看无解的情况, 添加了重排功能.
由于数据与渲染是分离的, 重排只是打乱数据, 渲染还是可以复用的;
重排主要是修改格子的row和column属性, 其他属性不修改
用到的canvas方法 canvas.drawColor画背景色canvas.drawBitmap画动态背景canvas.drawText画文字canvas.drawLine画连线canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);清空画布paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));设置画笔为橡皮擦模式, 擦哪里, 哪里就没图像了paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));设置显示前景图; 先画的是背景图, 后画的是前景图 踩坑坐标的计算应该依赖于格子的属性:row和column, 不应该依赖于缓存的left, top, right, bottom;
如果没有重排这个功能, 那么就可以用缓存的left, top等.
环境手机: Mi 11 Pro
Android版本: 12
Autojs版本: 9.1.2
名人名言思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问--- 牙叔教程
声明本文TAG:小游戏连连看
猜你喜欢
- 2022-02-21武林q传攻略(武林q传诺基亚)
- 2022-02-21经典纸牌游戏(windows7经典纸牌游戏)
- 2022-02-21英雄联盟新手礼包(英雄联盟新手礼包30级)
- 2022-02-21地下城与勇士散打加点(2020dnf男散打刷图加点)
- 2022-02-202013lol全明星赛(2013lols3世界总决赛)
- 2022-02-20阴阳师御魂时间(阴阳师火灵哪里出)
- 最近发表
- 标签列表
-
- 传奇手游私服 (7)
- 新开传奇手游网站 (7)
- 传奇单职业 (2)
- 传奇手游变态版 (1)
- 传奇发布网 (7)
- 传奇sf手游版 (1)
- 新开传奇 (1)
- 传奇私服 (1)
- 拳皇7k7k小游戏 (0)
- nitrome小游戏 (0)
- 最新传奇发布网 (0)
- 每日新开传奇网 (0)
- 找176复古传奇 (0)
- 超级变态热血传奇 (0)
- nba2k11最新名单 (0)
- 王者荣耀更新 (0)
- 王者荣耀体验服申请 (0)
- 英雄联盟出装顺序 (0)
- 三国志单机游戏 (0)
- 王者荣耀宫本武藏符文 (0)
- 梦幻西游109神器任务攻略 (0)
- 下载英雄联盟 (0)
- 机械公敌兰博出装 (0)
- 王者荣耀西施 (0)
- 王者荣耀无限火力 (0)
- 不知火舞王者荣耀 (0)
- 300英雄三笠出装 (0)
- 冒险岛2职业 (0)
- 龙将2官网 (0)
- 热血传奇怀旧版好玩吗 (0)
- 传奇超级 (0)
- 传奇师服 (0)
- 迷失传奇发布网 (0)
- 韩版传奇私服发布网 (0)
- 传世新开 (0)
- 传奇2外挂 (0)
- 传奇复古 (0)
- 单职业变态 (0)
- 传奇sf180 (0)
- 传世sf吧 (0)
- 传奇私服gm命令大全 (0)
- 传奇世界私服刷元宝 (0)
- dnf私服发布网 (0)
- 网页三国游戏排行榜 (0)
- 傲视千雄私服 (0)
- 热血传奇176客户端下载 (0)
- 最新机战私服 (0)
- 传奇吉吉免费版 (0)
- 蜘蛛纸牌游戏 (0)
- 最热门的网游排行榜 (0)
- 2d网游 (0)
- 网游私服排行榜 (0)
- moba网游 (0)
- 439小游戏 (0)
- 飞车小游戏 (0)
- 奥奇传说小游戏 (0)
- 龙斗士小游戏 (0)
- 下载手机游戏 (0)
- 维京神域之战 (0)
- 星际2单机 (0)
- 防守类单机游戏 (0)
- 灰烬攻略 (0)
- 战神3pc版 (0)
- 腐尸之屋 (0)
- 新神奇传说3秘籍 (0)
- 生化危机5怎么存档 (0)
- 三国群英传1单机版下载 (0)
- 捕鱼达人手机版 (0)
- 仙剑奇侠传游戏1 (0)
- 暴力摩托单机版下载 (0)
- fifa12下载 (0)
- 色单机游戏 (0)
- 三国志13修改器 (0)
- 梦幻西游单机版神剑情天3 (0)
- 对打单机游戏 (0)
- 三国群英传7补丁 (0)
- 最好单机游戏下载 (0)
- 流星蝴蝶剑秘籍大全 (0)
- 孢子 (0)
- 梦幻西游赚钱 (0)
- 梦幻西游答题 (0)
- 王者荣耀防沉迷 (0)
- 梦幻西游挖图技巧 (0)
- 梦幻岛游戏 (0)
- 轩辕剑网游官网 (0)
- 梦幻西游手游论坛 (0)
- 极道阴阳师 (0)
- 仙剑奇侠传3下载 (0)
- 七龙珠人物换装2 (0)
- 赛尔号手机版下载 (0)
- lol战队名字 (0)
- 黑湾海盗中文版 (0)
- 超级街霸4街机版 (0)
- 侵略行为 (0)
- 孤岛惊魂3结局 (0)
- 龙珠单机游戏大全 (0)
- 仙剑三游戏下载 (0)
- 策略单机游戏 (0)
- 家园2简体中文版 (0)
- 现代战争2 (0)