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

相关推荐
新*1 小时前
从一段 WebSocket 代码聊开:bytes 不是 zlib、binaryType 决定一切,15MB 大消息的零拷贝优化
javascript·python·websocket·性能优化·blob·zlib·arraybuffer
OpsEye2 小时前
别再挨个充会员了:多模型编码,最麻烦的从来不是选模型
javascript·ai编程
johnsong3 小时前
Claude Fable 5.2 登顶:65 分、单发做游戏,和一份 $26.54 一单的账单
人工智能·游戏
学以智用4 小时前
jsencrypt.js 完整详解
javascript
Hilaku6 小时前
你们公司有 35 岁以上的前端吗?
前端·javascript·程序员
鸿蒙开发7 小时前
小程序存档写到一半怎么办?双槽保存与损坏恢复实战
前端·javascript·react.js
知忆_IS7 小时前
TerriaMap 开发实战04:MVT数据自定义符号化 - terriajs源码修改
javascript·webgis·terriamap·terriajs
云上工程笔记10 小时前
SRT字幕一键转手绘动画:srt-whiteboard-animation的复刻实录
大数据·开发语言·javascript·人工智能·机器学习
FungLeo10 小时前
成为全栈·Vue管理后台篇·<scriptsetup>:把页面拆成可读、可测的 Vue 组件
前端·javascript·vue.js·typescript·前端组件化·composition api·vue sfc
清晨Coding1 天前
删了 Cookie 还能自动登录?Google系网站登录态自动恢复的原理分析
javascript