# RPG_MapEdit **Repository Path**: cyf271235/RPGMapEdit ## Basic Information - **Project Name**: RPG_MapEdit - **Description**: 使用python 开发的rpg游戏编辑器 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2023-03-13 - **Last Updated**: 2025-05-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 地图编辑器 #### 介绍 使用 python 的 gui 库: Pyside6 开发的游戏地图编辑器 #### 软件架构 软件架构说明 #### 更新说明 ### 2023/4/15 > - [x] 优化增加道具的方法,添加获取道具事件 > - [x] 事件编辑器添加游标功能,根据游标当前的位置插入新的事件,以及根据游标设置已有事件的顺序 > - [x] 修复编辑器切换楼层时, 菜单 ui 会被事件点的 lab 挡住(使用 标签的 raise\_() 方式将菜单的层级提升) > - [x] 修复游戏调用脚本时,如果道具的脚本是异常的数据,没有终止执行,导致程序崩溃的 bug > - [x] 增加游戏中,渲染主角属性的背景图片 > - [x] 增加游戏中,根据道具名称 获取道具的方法 getByPackItemName() ,以及根据道具名称扣除的方法 rmPackItemName() > - [x] 重构事件编辑器代码, 移除大量重复的冗余代码 ### 2023/4/13 > - [x] 编辑器主窗口添加日志控件,移除主窗体左下角的提示 lab, > - [x] 实现游戏开始页面,并在加载页面使用多线程加载资源功能 ,防止加载资源时,窗体不显示出来 > - [x] 对于游戏开始页面和游戏内的 设置 页面, 可以通过鼠标悬浮或者键盘的上下键改变被选中的按钮 > - [x] 修改游戏内的提示信息背景,将 绘制的背景色 换成图片背景 > - [x] 优化计算文字宽度以及高度的算法 > - [x] 修改地图管理模块的加载方式,由引入时自动加载改为在启动入口初始化时加载 > - [x] 添加了游戏背景音乐,以及加载页面的背景图片,可通过全局脚本修改默认的加载页面背景 > - [x] 移除了直接在游戏内的面板处 通过点击改变音效的方式,集中迁移到 设置 ui 内 > - [x] 移除了调用渲染文本的方法时,还需要将主窗体类作为参数传递的问题 > - [x] 优化 EditPILMgr 模块的代码.降低代码冗余 > - [x] 将部分模块改名,防止提交 git 之后,被自动重命名 ### 2023/4/4 > - [x] 修复生成图块时,如果原坐标的图块正在播放动画, 会导致新图块会被原图块的动画遮挡住 bug > - [x] 添加怪物手册 ui,显示当前楼层的所有怪物信息 > - [x] 实现简单的战斗系统, 根据怪物和勇士的出手速度决定当前回合谁先出手,在战斗面板的上方显示出手速度进展 > - [x] 移除事件处理模块, 迁移到 GC 模块中处理 > - [x] 实现攻击特效, 可拖动滑块逐帧播放动画 > - [x] 实现编辑器的技能编辑 ui, 且实现动画特效的播放功能 > - [x] 优化封装的 Ui_Form.py 方法, 生成 单选框、输入框 和下拉框时 根据传入的 labName 自动生成标签 > - [x] 技能编辑器中新增选择技能音效功能, 且可点击播放音效按钮播放对应的音效,可拖动滑块调整播放的音量大小 > - [x] 添加模块:EditPILMgr 处理背景色不透明的动画图片文件 ### 2023/3/27 > - #### 修复保存文件时,错误的将数字解析为布尔值 > - [x] json 自带的 dump 无法满足需求, 自定义一个 SaveJson.py 方法,用于将保存后的 json 格式不混乱(也许是我太菜,不会用) > - [x] 增加使用拖拽连续渲染时,当前渲染列表中以及被渲染的坐标不会再次重复绘制 > - [x] 增加敌人类, 普通图块使用 BlockSprite 类, 敌人使用 Enemys > - [x] 优化右键地图区域时, 弹出菜单弹窗内的按钮为自动居中 > - [x] 增加通过菜单栏一键设置主角出生点功能 > - [x] 使用一个图标来代表主角渲染到主角默认的出生点 > - [x] 实现删除地图功能,且加载地图文件时,不加载 rm\_ 开头的地图 ### 2023/3/19 > - [x] 修复事件编辑器事件对象造成的 数据污染 bug,(调用 analysisEvent 造成的数据重置) > - [x] 增加事件块时, 如果当前事件块有坐标的属性,那么就会自动将当前编辑的事件点坐标给替换进去 > - [x] 修改资源编辑器保存道具时, 属性名称错误的 bug > - [x] 增加编辑道具时,可选择需要执行的脚本 ### 2023/3/14 > - [x] 给素材编辑器添加预览图块的播放功能,可以在没有注册的状态下直接播放图块的动画过程 > - [x] 添加主游戏(非编辑器)地图的渲染,并使用 A\*算法实现自动行走到指定地点 > - [x] 实现事件 "转换图块", "隐藏事件" 功能, "对话事件" 需要实现弹窗类,实现内容的渲染 > - [x] 将图片资源移动到 /lib 路径内. > - [x] 自动寻路中,再次指定新的路径,导致人物与其他障碍物穿模的 bug ### 2023/3/11 > - [x] 将项目添加到仓库 > - [x] 完成基本的编辑器功能,实现地图的添加,编辑 > - [x] 完成素材编辑器子窗口, 能够对素材进行管理, 将素材渲染到地图需要先注册 > - [x] 完成事件编辑器子窗口, 右键地图坐标点之后弹出小菜单,能够对当前事件点的事件进行可视化编辑(搭积木风格) > - [x] 添加启动游戏窗口到窗口中,可以直接在编辑器启动游戏,(同时只能启动单个窗口)