微信小游戏开发实战4-实现图形的拖拽

简介: 本篇主要内容包括使用微信小游戏开发工具实现图形的拖拽功能。如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。

本篇主要内容包括使用微信小游戏开发工具实现图形的拖拽功能。

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



在“精致1010”游戏中,我们需要将下方的图形拖拽到上方的网格中,像下面这样。

如图,当手指点击下方的图形时,下方的图形会进入可拖拽的状态,它应该能够跟随手指在屏幕上移动,当手指松开时,它应该被放置在新的位置上。


首先,我们来熟悉一下一个重要的积木块。

如图“当精灵被xx时”积木块会处理游戏中所有与精灵的点击有关的事件。点击下拉,可以看到可以接收五种事件。


  • 点击:按下再放开,叫做一次点击,也就是说点击操作其实包含了“按下”和“放开”两个过程。
  • 按下:手指接触屏幕上的精灵的那一刻,是一次按下,只触发一次。
  • 放开:手指离开屏幕上的精灵的那一刻,是一次放开,只触发一次。
  • 按住:手指按住屏幕上的精灵时触发,会进行连续的触发,例如在射击游戏中,按住射击按键,不停的发射子弹,这种情况就可以在按住事件中处理。
  • 双击:包含两次点击过程。


这里,我们使用“按下”和“放开”两个事件配合来实现图形的拖拽功能。

如图,使用四个正方形拼凑成了一个图形,放在一个容器中。我们将拖拽的逻辑放在容器上。


选择“容器-1”,为其增加一个局部变量“可拖拽”用来判断当前的图形是否处于可拖拽的状态,如果数值为1,则图形会跟随手指进行移动。如果数值为0,则不会移动。


接着增加如下的积木块。逻辑很简单,手指按下时可以拖拽,手指放开后不能拖拽。


最后,增加一个控制图形移动的积木块。

此积木块的逻辑为,当图形处于“可拖拽”状态时,将自己的位置设置到手指的位置。


点击“预览场景”看一下效果。

这样,我们就实现了一个图形的拖拽功能。


当前的拖拽还存在一点儿问题,当你用手指点击屏幕时,图形会位于手指的位置,这样图形的一部分会被手指挡住。我们希望图形位于手指的上方,这样它就不会被手指挡住,可以更方便的查看图形将要放置的位置。


对图形的位置设置进行一下改动,让其显示在手指的上方。


再次预览场景看一下效果。

可以看到动图中,当点按图形时,图形会有一个向上的偏移。


最后,看一下所有的逻辑。

通过精灵的“按下”和“放开”事件设置图形的“可拖拽”状态。使用一个监控积木块,来监控变量“可拖拽”的数值,如果数值为1,则设置图形的位置。


总结一下:


这一节我们了解了与“精灵点击”有关的几个事件,并且组合使用“按下”和“放开”事件实现了图形的拖拽功能。


练一下:


在游戏中,当按下图形时,我们希望图形能够放大并高亮显示,来提示玩家当前选中了这个图形。当放开图形时,图形应该缩小为原来的大小,并且取消高亮。试着实现一个这个功能。


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

相关文章
|
10月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
2547 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
10月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
10月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
11月前
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
572 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
1668 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
4458 7
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
5087 1