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论坛的小圈子 离开

相关推荐
alexander06821 分钟前
JavaScript 中,对象内部函数的几种等价写法,对象外部的 几种等价写法
javascript
云水一下22 分钟前
Vue.js从零到精通系列(八):项目实战——构建一个完整的电商后台管理系统
前端·javascript·vue.js
LAM LAB28 分钟前
【Web】网页如何模拟移动端获取定位\定位模拟测试
开发语言·前端·javascript
小森林之主32 分钟前
JavaScript 正则表达式:从零开始的实战对比
javascript·正则表达式·前端开发·性能对比·文本处理
weixin_4713830334 分钟前
Taro-04-网络请求
前端·javascript·taro
快乐的哈士奇37 分钟前
【Next.js实战②】Excel 派送表动态解析:表头识别与 FIELD_ALIASES 映射
前端·javascript·excel
研☆香1 小时前
jQuery特殊属性操作方法
前端·javascript·jquery
TCW11211 小时前
Minetest游戏引擎源代码解析
游戏引擎
喵星人工作室2 小时前
C++火影忍者1.1.8
开发语言·c++·游戏
努力的lpp2 小时前
渗透主流工具完整参数手册(sqlmap、Nmap、Hydra、Dirsearch、Xray)
javascript·网络协议·测试工具·安全·http·工具