Project1
标题:
推箱子,地图事件刷新?(已解决)
[打印本页]
作者:
king
时间:
2017-12-1 17:42
标题:
推箱子,地图事件刷新?(已解决)
本帖最后由 king 于 2017-12-4 18:58 编辑
就是传统的推箱子事件,如果
推
错了,需要从新来过
但是要刷新箱子的位置,需要转移到其他地图,再返回,箱子的位置才能复原
我想做个道具,地图事件刷新,让
箱子的位置回到原来的位置
有脚本?还是插件?
插件:
5-o7x26ots (2).zip
(1.3 KB, 下载次数: 68)
2017-12-4 18:55 上传
点击文件名下载附件
http://runjs.cn/code/o7x26ots
作者:
elaonesside
时间:
2017-12-1 18:57
设置事件位置,一个个还原就行
作者:
枫叶的北方
时间:
2017-12-1 21:50
出一次进一次地图就刷回来了啊。。。或者干脆场所移动到本地图的某一个位置也能刷回来
作者:
梦想家大魔王
时间:
2017-12-2 18:07
做一个开关事件,内容是传送到本地图的初始/入口位置,然后一切都还原了。
作者:
king
时间:
2017-12-2 18:51
本帖最后由 king 于 2017-12-2 18:55 编辑
本想偷懒,看看有什么脚本可以直接刷新!
不过,还是乖乖用事件,用变量记录地图ID进行判断,然后进行传送刷新地图
主要是画地图时没想那么多,越画越大,然后还摆了箱子挡路……
但是现在测试,发现如果玩家推箱子,错误,还要特定再跑一次地图刷新,估计想拍死作者……
现在只能补锅了了
作者:
芯☆淡茹水
时间:
2017-12-2 19:49
本帖最后由 芯☆淡茹水 于 2017-12-2 19:50 编辑
把下面的脚本做成插件添加或加入到其它脚本里
要还原时,事件 - 脚本:$gameMap.reductionEvent();
Game_Map.prototype.reduction = function() {
return this._reduction || false;
};
Game_Map.prototype.setReduction = function(state) {
this._reduction = state || false;
};
Game_Map.prototype.reductionEvent = function() {
if (this.setupEvents() || this.setReduction(true)){}
};
Spriteset_Map.prototype.removeCharacters = function() {
for (var i=0;i<this._characterSprites.length;i++){
this._tilemap.removeChild(this._characterSprites[i]);
}
};
Spriteset_Map.prototype.setupCharacters = function() {
$gameMap.setReduction();
if (!this._characterSprites || !this._characterSprites.length) return;
if (this.removeCharacters() || this.createCharacters()){}
};
var XdRsData_Reduction_SMupdate = Spriteset_Map.prototype.update;
Spriteset_Map.prototype.update = function() {
XdRsData_Reduction_SMupdate.call(this);
if ($gameMap.reduction() && this.setupCharacters()){}
};
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1