微信小游戏制作工具中的等待积木应该如何使用?

简介: 生活中我们总避免不了要等待,整装待发的准备去公司开始新一天的奋斗,但是公交车却迟迟不来,需要等待。一家人订好了周末出游计划,正准备出门,老婆要再选件衣服,擦个脸,需要等待。打开电视看想看的节目,出来了 60 秒的广告,需要等待……

嗨!大家好,我是小蚂蚁。


生活中我们总避免不了要等待,整装待发的准备去公司开始新一天的奋斗,但是公交车却迟迟不来,需要等待。一家人订好了周末出游计划,正准备出门,老婆要再选件衣服,擦个脸,需要等待。打开电视看想看的节目,出来了 60 秒的广告,需要等待……


在游戏开发的世界中我们同样的会经常需要处理等待。但是游戏开发中的等待与生活中的等待不同,生活中的等待不可避免,而游戏开发中的等待却需要我们人为的制造。


一个不需要等待的世界不美好吗?为什么还需要人为的制造等待呢?


等待直到某个条件达成时


在游戏开发中我们经常需要处理多项任务,而且这些任务之间又有依赖。举个例子,现在有两项任务需要处理,分别为任务A和任务B,两项任务同时开始进行,但是在任务B进行到一半后,需要拿到任务A执行完的结果,才能继续执行。这时候在任务B执行完一半后,就需要让它等待,直到拿到任务A执行完的结果后,任务B再接着往下执行。


接下来,我们在微信小游戏制作工具中模拟一下这样的场景。



如图,我创建了一个红球和蓝球以及一个 A 点,设想一下这样的场景,蓝球是突击部队需要向前快速进发,但是队伍的补给不足了,于是乎就呼叫了补给运送,红球就是运送补给的车,跑的比较慢,约定好补给部队行进到 A 点等待补给车,拿到补给后再继续前行。


这就是两项有依赖的任务,我们的突击队必须在 A 点等待拿到补给后,才能继续前进。


我们看一下突击队(蓝球)的逻辑。



注意其中的等待积木,等待的条件是直到红球达到A点,直到等待的条件满足后,等待才会结束。


接着看一下补给车(红球)的逻辑。


逻辑很简单,一直向右移动,达到 A 点后停止。


运行一下,看看结果如何。


蓝球先到达了 A 点,然后开始等待,直到 B 球到达 A 点后,又开始继续前进。


等待1帧


另一个在游戏开发中常用的情景是这样的:有三项任务1,2,3。我们希望这三项任务按照一定的时间顺序去执行,例如我想先开始任务2,再开始任务3,最后执行任务1。这种情况我们同样的也需要人为的制造一点儿等待,来让任务按照我们预期的时间顺序依次执行。


下面我们在小游戏制作工具中演示一下这个情景。



我在场景中加入了三个方块,代表了三个任务,每项任务的功能很简单,将自己的序号打印出来,即如果任务顺序是 1,2,3,那么下方的“默认文字”最终会显示 “123”。


看一下任务的逻辑积木块。



其他两个任务的逻辑相同,只不过拼接的序号一个为 2,一个为 3。


运行一下看看结果。



这里我们打印出了“0321”,因为全局变量“显示数字”的默认值为 0,所以拼接字符串时第一个字符显示了 0,这个我们不用考虑,看后面的任务执行结果是“321”,也就是说先执行了任务 3,然后再执行了任务 2,最后执行了任务1。


这里有一点儿需要补充的知识,就是游戏对象积木块执行时的顺序。



如图,在层级管理中,“正方形”表示任务 1,“正方形-1”表示任务 2,“正方形-2”表示任务 3,三个任务的积木同样都是在“场景启动时”执行,最终的执行顺序是3,2,1。也就是说我们的游戏在执行时,对象的积木块会按照层级管理中的顺序从下往上依次执行。


按照这样的逻辑,那么如果我想让任务 2 先执行,那么应该怎么做呢?我们只需要在层级管理中将“正方形-1”拖拽到“正方形-2”下方就可以了。



像这样,然后运行一下看看。



结果就变成2,3,1了。


这样我们就有了第一个方法:可以通过调整层级管理中的对象的顺序,来调整不同对象的积木块的执行顺序。


通常在对象数量比较少时,这是个不错的方法,但是当层级管理中的对象多了以后,可能就很难去记住到底哪个对象应该在哪个对象的下面了,这时我们就可以通过“等待 1 帧”积木,来是实现同样的效果了。



我们将顺序调整回去,按照这样的顺序,任务的执行顺序会是3,2,1。现在我们想让任务 2 先执行,接着执行任务 1,执行顺序变为 2,1,3,要怎么做呢?


只需要在任务 3 中添加一块等待积木即可。



如图,我们在任务 3 中增加一块“等待 1 帧”的积木块。


再次运行一下。



执行顺序变成“213”了,解释一下,游戏运行时是一帧一帧的运行的(如果你还不理解帧的概念,建议你先去看这篇文章把帧的概念弄明白),如果不加任何的等待积木,那么在一帧中,游戏会按照层级管理中从下往上的顺序依次执行每个对象上的积木,就是“321”,现在我们在任务 3 上增加了“等待 1 帧”积木块,那么执行顺序将会变为这样,第一帧先执行任务 3,遇到“等待 1 帧”积木,那么任务 3 的积木逻辑将会停在这里等待,接着正常执行任务 2,任务 1 的积木逻辑,打印出 2,1,第一帧执行完毕后,接着执行第二帧,再次到任务 3,此时任务 3 的“等待 1 帧”结束,继续执行其逻辑,打印出 3。所以,最终的执行是在第一帧里执行了任务 2 和 1,打印出 2,1,然后在第二帧里执行了任务 3,最后打印出 3。


等待1秒


最后,还有一个“等待几秒”钟的积木块,通常会与运动相关的积木块搭配使用,如物体移动到某个位置等待几秒钟后再移动回来等。



移动,旋转,缩放等运动积木块搭配“等待n秒”积木块可以做出一些复杂的运动效果。这里可以自行去尝试做一下各种各样的运动效果。


最后,总结一下,我们了解如下了三种等待积木块的使用场景和使用方法。



每当需要设置等待时,你就应该想起它们。



相关文章
|
2月前
|
安全 API 开发者
微信开发者工具里面没有企业微信模式
企业微信与普通微信在应用场景和开发体系上存在本质区别,主要体现在身份认证、功能丰富性和开放能力等方面。企业微信开发需使用特定的API和工具,本文介绍了企业微信开发的基本步骤、特点及开发进度安排,帮助开发者更好地理解和应用企业微信的开发环境。
|
3月前
|
数据可视化 前端开发 小程序
5G时代-探索微信小游戏
5G时代-探索微信小游戏
34 2
5G时代-探索微信小游戏
|
3月前
|
缓存 数据可视化 Serverless
微信小游戏 案例一 像素飞机
微信小游戏 案例一 像素飞机
24 2
|
3月前
|
移动开发 小程序 数据可视化
微信小程序可视化开发工具之动态数据
微信小程序可视化开发工具之动态数据
50 3
|
5月前
|
人工智能 小程序 Java
【工具】轻松解锁SQLite数据库,一窥微信聊天记录小秘密
本文介绍了一款名为PyWxDump的开源工具,它可以获取微信账户信息、解密SQLite数据库以查看和备份聊天记录。此工具适用于已登录电脑版微信的用户,通过GitHub下载后简单几步即可操作。适合对数据恢复感兴趣的开发者,但请注意合法合规使用并尊重隐私。
669 2
【工具】轻松解锁SQLite数据库,一窥微信聊天记录小秘密
|
5月前
|
小程序 开发者
微信开发者工具如何集成SVN、同时解决集成SVN无效果的问题
这篇文章介绍了如何在微信开发者工具中集成SVN版本控制系统,并提供了解决集成后无效果问题的方法。
微信开发者工具如何集成SVN、同时解决集成SVN无效果的问题
|
6月前
|
小程序 开发工具 开发者
入职必会-开发环境搭建31-微信开发者工具下载和安装
微信开发者工具是一款由微信官方推出的开发工具,旨在帮助开发者更高效地进行微信小程序和微信公众号的开发与调试。该工具集成了代码编辑、代码上传、实时预览、调试等功能,能够提供便捷的开发环境和调试工具,帮助开发者快速定位和解决问题。
|
6月前
|
JavaScript
支付系统---微信支付23-数据绑定和事件,使用Vue调试要添加扩展,F12与console平级就出现了Vue,在支付资料,微信支付,04资料,工具里
支付系统---微信支付23-数据绑定和事件,使用Vue调试要添加扩展,F12与console平级就出现了Vue,在支付资料,微信支付,04资料,工具里
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
|
6月前
|
安全 API 数据安全/隐私保护
支付系统05------微信支付,接入指引----获取密钥和证书,随机密码生成器的工具,
支付系统05------微信支付,接入指引----获取密钥和证书,随机密码生成器的工具,https://suijimimashengcheng.bmcx.com/随机密码生成器的工具