RPGMakerMZ 游戏引擎 野外采集点制作

本文章个人保存记录

Project1论坛 小圈子 人才 不得学习

注意几点

  1. 采集点需要计时 所以需要初始化数组 记录每一个采集点的时间

  2. 保存每一个采集点的时间经过了多少

  3. 判断采集点时间是否为0 为0则进行采集 然后重新赋值时间

1.初始化采集点

需要在RPGMZ游戏 新建游戏 读取存档 这两点进行初始化采集点数组

javascript 复制代码
//=============================存档功能======================================
    const _Game_System_initialize = Game_System.prototype.initialize;
    Game_System.prototype.initialize = function() {
        _Game_System_initialize.call(this);
		this.initCollectCooldown(); // 初始化采集点
    };
	
	// 初始化采集点冷却
	Game_System.prototype.initCollectCooldown = function() {
   	    // 如果已经存在,就不覆盖(保护存档)
        if (this._Collect_Cooldown != null) return;
    
        // 100个采集点,1~5分钟随机冷却
        this._Collect_Cooldown = [];
        for (let i = 0; i < 100; i++) {
            this._Collect_Cooldown[i] = Math.floor(Math.random() * 14401) + 3600;
        }
    };
	
	const _Game_System_prototype_onAfterLoad = Game_System.prototype.onAfterLoad
	Game_System.prototype.onAfterLoad = function() {
        _Game_System_prototype_onAfterLoad.call(this);
		this.initCollectCooldown();
    };

initialize 是新建游戏时走的 onAfterLoad是读取存档时走的 都需要初始化

以上代码 可以同时完成 1 2 两个知识点

3. 采集点的计时和判断

javascript 复制代码
const _Scene_Map_prototype_update = Scene_Map.prototype.update;
    Scene_Map.prototype.update = function() {
        _Scene_Map_prototype_update.call(this);
		//采集点冷却计时
        for (let i = 0; i < 100; i++) {
		    if($gameSystem._Collect_Cooldown[i] > 0){
				$gameSystem._Collect_Cooldown[i]--;
			}
		}

    };

接下来在事件页进行判断即可

以人参为例子 分支 $gameSystem._Collect_Cooldown0 是第一个采集点 游戏内可以有很多个采集点 一百个 一千个都可以 当然每个采集点时间都是独立的

成功制作出了游戏内野外采集功能 并且支持存档功能

【RPGMakerMZ 野外采集点制作方式】 视频演示

结尾总结

请Project1论坛的小圈子 离开

相关推荐
用户302822530681 分钟前
别让 Agent 被 Webhook 叫醒就开工:实现一个幂等启动层
javascript
万少1 小时前
等不到 Apple 的折叠 iPhone,我用 DeepV4.1Flash + workBuddy 一句话自己造了一台
前端·javascript·后端
飞奔的猫1 小时前
锈了儿—素材工作流简化游戏场景元素的生成(三)
人工智能·游戏·个人开发
一夜枫林2 小时前
vue实现scroll-view上下滑动右侧左右滑动
前端·javascript·vue.js
志尊宝2 小时前
Vue3 零基础每日笔记(011):生命周期钩子——在正确的时间做正确的事
javascript·vue.js·笔记
YWL2 小时前
OpenLayers地图分享:URL参数同步+分享链接生成,让用户一键分享地图视角
前端·javascript·vue·openlayers
梦醒沉醉2 小时前
5、表达式与运算符
javascript
WarrenMondeville3 小时前
AI复刻街头霸王到 Unity
unity·游戏引擎
Q一件事4 小时前
ArcGIS中TypeError: can‘t multiply sequence by non-int of type ‘str‘错误
前端·javascript·arcgis
WeiXin_DZbishe4 小时前
基于springboot大学生提问箱系统-计算机毕设【课程设计】72593
javascript·vue.js·spring boot·vscode·python·node.js·php