RPGMZ游戏引擎 宠物战斗游戏基础功能实现

此文章为个人记录存储

要想用RPGMZ游戏引擎制作出宠物战斗系统的游戏 需要有以下几个特点

  1. 玩家控制的角色不参与战斗 只有其他角色可以战斗

  2. 需要在菜单界面 战斗界面 不显示玩家 只显示可战斗角色

正文

我们需要把玩家控制的角色设为编号1 并且用以下代码显示和隐藏

0 入队 1 离队

javascript 复制代码
//0入队 1离队 编号1
$gameMap._interpreter.command129([1, 1, true]);

首先定义一个变量 let addActor_bool = false; 判断是菜单和战斗进入还是事件入队功能区分开

如果 addActor_bool == true 则加入到顶部第一个 否则加入到底部最后一个

在菜单编写代码

javascript 复制代码
const _Scene_MenuBase_prototype_create = Scene_MenuBase.prototype.create
	Scene_MenuBase.prototype.create = function() {
        _Scene_MenuBase_prototype_create.call(this);
        $gameMap._interpreter.command129([1, 1, true]); //进入菜单移除角色
    };

在地图编写代码

javascript 复制代码
const _Scene_Map_prototype_create = Scene_Map.prototype.create
	Scene_Map.prototype.create = function() {
        _Scene_Map_prototype_create.call(this);
        addActor_bool = true;
        $gameMap._interpreter.command129([1, 0, true]); //进入地图添加角色
        addActor_bool = false;
    };

在战斗编写代码

javascript 复制代码
const _Scene_Battle_prototype_create = Scene_Battle.prototype.create
	Scene_Battle.prototype.create = function() {
        _Scene_Battle_prototype_create.call(this);
        $gameMap._interpreter.command129([1, 1, true]); //进入战斗移除角色
    };

修改入队逻辑 是加入到顶部还是底部

javascript 复制代码
Game_Party.prototype.addActor = function(actorId) {
        if (!this._actors.includes(actorId)) {
			if(addActor_bool){
				this._actors.unshift(actorId);
				addActor_bool=false;
			}else{
				this._actors.push(actorId);
			}
            
            $gamePlayer.refresh();
            $gameMap.requestRefresh();
            $gameTemp.requestBattleRefresh();
            if (this.inBattle()) {
                const actor = $gameActors.actor(actorId);
                if (this.battleMembers().includes(actor)) {
                    actor.onBattleStart();
                }
            }
        }
    };

进入菜单会移除第一个角色 进入地图会加入第一个角色

好了你得到了宠物系统的基础功能实现

哔哩哔哩视频

结尾总结

请Project1论坛的小圈子 离开

相关推荐
辻弋20111 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
lerhxx12 小时前
AI 应用如何高效优雅地恢复中断?—— "连接解耦 + 状态持久化"
前端·javascript
mantou13213 小时前
我给 AI Agent 做了个「油猴」:让 Claude Code / Codex 直接用你已登录的浏览器
前端·javascript·后端
默_笙13 小时前
🍕 一个主编、三个工种、两本手册:搭一支 AI 调研队
前端·javascript
CappuccinoRose14 小时前
FormData数据处理
开发语言·前端·javascript·表单数据
飘尘15 小时前
SVG和Canvas,前端里的两支“画笔”,用的时候怎么选择?
前端·javascript·面试
Martina_032119 小时前
AI生成3D场景导入 Unity/Unreal 后,NPC 总串层?用6步检查导航高度与跨层连接
人工智能·游戏·数学建模·3d·unity·自然语言处理·aigc
Sand(ContextGate)19 小时前
Python Agent 测试实战:测试与评估,让 Agent 像传统软件一样可交付
前端·javascript·python·microsoft·ai
Nil20819 小时前
leetcode 55跳跃游戏
算法·leetcode·游戏
码艺-Alimjan19 小时前
Tauri 网站To桌面应用实战总结
前端·javascript·vue