微信小游戏开发实战7-图形的数据验证

简介: 本篇主要内容包括对将要安放到网格上的图形进行数据验证,以判断它是否能够被放置在网格上。如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。

本篇主要内容包括对将要安放到网格上的图形进行数据验证,以判断它是否能够被放置在网格上。

如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。



上一篇文章内容很多,也挺难的,不光我自己写的很累,估计读者读的也很累,这并不是我想要的结果。每一篇教程我都希望它能够帮助读者学到一点儿新的东西,并在小游戏开发的道路上向前行进一步。如果一篇技术型的文章过长,就很容易把读者吓退,从而会失去它本来应该传递的信息和价值。所以从这篇教程开始,我决定每一篇都聚焦于一个小功能,一个知识点,并尽力把它讲透,讲明白。希望它能帮助你进行点滴的积累,构建起自己的小游戏。


言归正传,上一节中我们实现了将拖拽的图形放置到网格中,在真实的游戏中网格并不会总是空的,如果网格上的位置已经被填充了,那么图形是不能重叠放置的。这一节,我们就来实现一下图形的数据验证,判断拖拽的图形到底能不能放置在当前的位置上。


先来看一张图。

图中有1~6编号的6个图形,超出网格边界或者重叠的位置都不能放置,所以编号1~5的图形都不能被放置,只有图形6可以被放置。


实现思路一目了然了,判断一个图形能不能被放置,需要同时满足两个条件:

  • 图形位于网格之内,不能超出网格的任一边界。
  • 网格的当前位置没有被填充。


下面,我们就动手实现一下这样的效果:拖拽图形到网格上,如果当前的位置可以放置,则进行放置,如果当前的位置不能放置,则将图形放回到原位置。


选择“容器-1”为其增加一个“可放置”的局部变量,用于保存验证结果。增加“原位置X”和“原位置Y”的局部变量用于设置图形的原始位置。


新增一个“放置形状”的通知,如果验证通过的话,我们会发送这个通知,告诉图形可以进行填充了。


接着,我们看一下“容器-1”上的积木逻辑。

如图,逻辑中做了两个判断:边界判断和当前位置是否被填充的判断。其中“是否被填充的判断”需要使用当前图形的“形状数据”与“全局-网格”数据做比对(如果你忘记了全局网格数据,请回顾全局网格数据一节),满足放置条件的话,就发送“放置形状”的通知,否则的话就将图形放回原始位置。


放置形状的逻辑如下,上一节中已经详细讲过,在此不再赘述。


最后,选择“填充方块”为其增加一块逻辑积木,当在网格上填充该方块时,将网格上当前位置的数据设置为“1”。


预览一下场景,看一下最终的效果。

超过边界或者已经填充的位置都无法进行放置,图形都会返回原位置,只有网格内未填充的位置才能放置形状。


总结一下:


这一节我们学习了如何对拖拽的图形进行验证。想要将图形放置在网格上需要满足两个条件:图形位于网格区域内,网格内当前的位置没有被填充。


练一下:


其它图形的验证也都是相同的原理,试着实现一下“L”形图形的数据验证。


如果你对游戏开发感兴趣,欢迎关注我,如果你有对游戏开发感兴趣的朋友,也欢迎把这个系列文章推荐给他。

相关文章
|
2月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
2月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
2月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
3月前
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
157 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
6月前
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
1349 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
6月前
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
530 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
5月前
|
监控 数据可视化 数据处理
微信养号脚本,全自动插件,AUTOJS开发版
这是一套自动化微信养号工具,包含主脚本`wechat_auto.js`与配置文件`config.json`。主脚本实现自动浏览朋友圈、随机阅读订阅号文章及搜索指定公众号三大功能,支持自定义滚动次数、阅读时长等参数。代码通过随机化操作间隔模拟真实用户行为,具备完善的错误处理和日志记录功能。配套UI模块提供可视化操作界面,可实时监控任务状态与运行日志,便于调整参数设置。控制器部分扩展了批量数据处理能力,如学生信息的增删改查操作,适用于多场景应用。下载地址:https://www.pan38.com/share.php?code=n6cPZ 提取码:8888(仅供学习参考)。
|
9月前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
2896 7
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
2491 1

热门文章

最新文章