Scratch 之 RPG 引擎制作教程(1) / 地图行走

news2024/9/21 2:48:12

        大家好,又和大家见面了,那么我们这期讲的就是RPG游戏的地图以及人物的行走。

        我发现大家并不是很懂RPG游戏引擎,也就是说这种引擎对于技术的要求还是比较高的。为了让更多人直接上手制作RPG游戏,我打算开启这一系列教程。

        这个教程大概会分为如下几个文章:

  1. 地图行走
  2. 门的制作
  3. 背包制作
  4. 钥匙
  5. NPC的制作
  6. 最后修改

在教程开始前,关注一下作者吧!


了解(基础好的可以直接跳过)

        首先,你得先了解一下造型放大类的大地图:首先,在造型放大类的大地图中,你会明显发现,角色基本都是在舞台背景中间的,所以,角色的实际坐标基本也是在中间的。还有,大地图之外的事也是不能直接准确侦测的。另外,造型放大类的大地图都是关卡在反着移动,并非角色本身。

不一样的大地图引擎

        为了准确直接侦测地图外面的碰撞侦测,我是用的引擎是有分本体和碰撞体的,本体负责显示给玩家看,而碰撞体则负责移动。

碰撞体

        首先,碰撞体是不显示给玩家看的,所以碰撞体不用去美化,个人建议画成圆形或正方形。

碰撞体造型

接着,我们进入代码区。

        当开始游戏时,将造型切换,然后就是缩小系数,那么,为什么要设一个缩小系数呢?首先,你得知道,scratch大地图外是不能准确侦测的,所以我们得设一个缩小系数,让角色缩小到舞台区内,这样就可以侦测了,当然,在这种情况下,移动也得换成缩小后的,所以是碰撞体移动。

移动

准备制作碰撞侦测

讲解:如果碰到了场景碰撞那么就移动到之前的位置

        讲解:这两个都是公有变量,为什么要用碰撞体坐标/缩小系数呢?因为碰撞体就是*缩小系数以后的,所以在玩家坐标里还要除回来。


本体操控

        接下来,我们转移到本体角色

        这样其实就可以了,本体移到中间即可。


场景碰撞

我们转移到场景碰撞

这个也很简单的


场景本体

来到场景本体

反着移动,很好理解

这个场景碰撞是跟本体长的一样的,但不允许进入的地方最好填成实心。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/902561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

又一个 Python 图形界面库,简单好用

迷途小书童的Note 读完需要 10分钟 速读仅需 4 分钟 1 环境 python 3.9.16nicegui 1.3.9 2 前言 在现代计算机应用程序开发中,图形用户界面(GUI)是用户与程序交互的重要组成部分。然而,GUI 开发往往需要大量的代码和复杂的布局&am…

损失函数——感知损失

感知损失(Perceptual Loss)是一种基于深度学习的图像风格迁移方法中常用的损失函数。与传统的均方误差损失函数(Mean Square Error,MSE)相比,感知损失更注重图像的感知质量,更符合人眼对图像质量…

webshell实践复现

目录 一.Nginx负载均衡(反向代理及负载均衡配置以省略) 1.环境搭建 2.复现 二.webshell实践 1:异或操作绕过 2:取反绕过 3:php语法绕过 一.Nginx负载均衡(反向代理及负载均衡配置以省略) 注…

EndNote(四)【文献引文格式、同步、智能分组、引文报告、文献笔记导出】

参考文献格式:(官网引文格式下载文章引文格式更新-word) 官网引文格式下载 网址:Downloads | EndNote 点击output styles: 下下来之后,放在这个路径下: 双击看一下: ok. 比如我们要…

Java面试题(1) 为什么重写 equals() 就一定要重写 hashCode() 方法?

目录 一、问题分析1.equals() 的实现2.equals() 和 hashCode() 的关系3.存在的问题 二、完整回答 一、问题分析 1.equals() 的实现 关于这个问题,首先需要深入了解一下 equals() 这个方法。 String 类 equals() 源码如下: public boolean equals(Obj…

Linux —— 进程间通信(System V)

目录 一,共享内存 申请共享内存 shmget 控制共享内存 shmctl 关联共享内存 shmat / 去联共享内存 shmdt 二,消息队列 创建或打开消息队列 msgget 发送消息 msgsnd / 接收消息 msgrcv 控制消息 msgctl 三,信号量 创建或打开信号量 s…

java八股文面试[java基础]——面相对象特点

三大特点: 封装 继承 多态 面试题:java如何实现多继承(除了使用接口之外) 实现多继承有三个方法: 多层继承内部类接口 知识来源: 【基础】面向对象_哔哩哔哩_bilibili 【2023年面试】Java面向对象有哪些…

Vue--BM记事本

效果如下&#xff1a; 用到了如下的技术&#xff1a; 1.列表渲染&#xff1a;v-for key的设置 2.删除功能&#xff1a;v-on调用参数 fliter过滤 覆盖修改原数组 3.添加功能&#xff1a;v-model绑定&#xff0c;unshift修改原数组添加 html文件如下&#xff1a; <!DOCTYPE …

1.进程控制

1.进程概念 进程是管理事务的基本单元 2.并发并行 并行(parallel)&#xff1a;指在同一时刻&#xff0c;有多条指令在多个处理器上同时执行。并发(concurrency)&#xff1a;指在同一时刻只能有一条指令执行&#xff0c;但多个进程指令被快速的轮换执行&#xff0c;使得在宏观上…

7-5 特殊a串数列求和

分数 20 全屏浏览题目 切换布局 作者 颜晖 单位 浙大城市学院 给定两个均不超过9的正整数a和n&#xff0c;要求编写程序求aaaaaa⋯aa⋯a&#xff08;n个a&#xff09;之和。 输入格式&#xff1a; 输入在一行中给出不超过9的正整数a和n。 输出格式&#xff1a; 在一行中…

回归预测 | MATLAB实现NGO-SVM北方苍鹰算法优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现NGO-SVM北方苍鹰算法优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现NGO-SVM北方苍鹰算法优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览基…

华为网络篇 多区域OSPF-32

难度2复杂度2 目录 一、实验原理 二、实验拓扑 三、实验步骤 四、实验过程 总结 一、实验原理 OSPF是一种具有区域概念的路由协议&#xff0c;为什么需要分区域&#xff1f;像RIP那样都在一个区域配置也不多这样简单点不是更好吗&#xff1f;OSPF它是一种功能十分强大的IG…

基于Java+SpringBoot+Vue的学校田径运动会管理系统【源码+论文+演示视频+包运行成功】

博主介绍&#xff1a;✌擅长Java、微信小程序、Python、Android等&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 Java项目精品实战案…

本地事务和分布式事务

参考连接分布式事务有这一篇就够了&#xff01; - 知乎 (zhihu.com) 本地事务 使用服务自己的数据库来控制事务&#xff0c;我们常使用的transaction注解。transaction注解是基于spring基于aop思想利用数据库的事务来进行事务控制。 begin transaction&#xff1b;//1.本地数…

go语言中channel类型

目录 什么是channel 为什么要有channel channel操作使用 初始化&#xff1a; 操作&#xff1a; 单向channel 双向channel&#xff0c;可读可写&#xff1a; close下什么场景会出现panic 总结 什么是channel Channels are a typed conduit through which you can send …

RabbitMQ介绍及常见消息队列

1. RabbitMQ 1.1. 搜索与商品服务的问题 假设我们已经完成了商品详情和搜索系统的开发。我们思考一下&#xff0c;是否存在问题&#xff1f; o 商品的原始数据保存在数据库中&#xff0c;增删改查都在数据库中完成。 o 搜索服务数据来源是索引库&#xff0c;如果数据库商品发…

QT C++实现简易便签

总想着下载一个便签出来自己用&#xff0c;但网上下载的不是功能太多&#xff0c;好多功能都用不到&#xff0c;就是功能太少了&#xff0c;或是界面不太符合自己审美。所以干脆想着自己做一个算了&#xff0c;反正也不是很麻烦。 需求功能&#xff1a; 开机自启动&#xff0c…

无涯教程-PHP - 循环语句

PHP中的循环用于执行相同的代码块指定的次数。 PHP支持以下四种循环类型。 for - 在代码块中循环指定的次数。 while - 如果且只要指定条件为真&#xff0c;就会循环遍历代码块。 do ... while - 循环执行一次代码块&#xf…

Over Permision

文章目录 水平越权垂直越权 如果使用A用户的权限去操作B用户的数据&#xff0c;A的权限小于B的权限&#xff0c;如果能够成功操作&#xff0c;则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。 一般越权漏洞容易出现在权限页面&#xff08;需…

什么是cURL?

cURL无处不在。它几乎隐藏在所有设备中&#xff0c;例如汽车&#xff0c;蓝光播放器等。它通过互联网协议传输任意类型数据。 在本文中&#xff0c;我们将揭开cURL神秘命令行工具的面纱&#xff0c;解释它是如何成为一种通用代码的&#xff0c;并举例说明其用法。 cURL是什么意…