赞 | 677 |
VIP | 62 |
好人卡 | 144 |
积分 | 337 |
经验 | 110435 |
最后登录 | 2024-11-1 |
在线时间 | 5108 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 33692
- 在线时间
- 5108 小时
- 注册时间
- 2012-11-19
- 帖子
- 4878
|
两个图层兜转一下就行了。
- //==================================================================================================================
- Game_Picture.prototype.isSpecialDisplay = function() {
- return this._specialDisplay;
- };
- Game_Picture.prototype.changeSpecialDisplay = function(state) {
- this._specialDisplay = !$gameParty.inBattle() && state;
- };
- //==================================================================================================================
- var XR_SDPicture_Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
- Game_Interpreter.prototype.pluginCommand = function(command, args) {
- XR_SDPicture_Game_Interpreter_pluginCommand.call(this, command, args);
- if (command === 'StartSpecialDisplay') {
- $gameScreen.picture(+args[0]) && $gameScreen.picture(+args[0]).changeSpecialDisplay(true);
- }
- if (command === 'FinishSpecialDisplay') {
- $gameScreen.picture(+args[0]) && $gameScreen.picture(+args[0]).changeSpecialDisplay(false);
- }
- };
- //==================================================================================================================
- Sprite_Picture.prototype.setSpecialDisplayed = function(state) {
- this._specialDisplayed = state;
- };
- var XR_SDPicture_Sprite_Picture_update = Sprite_Picture.prototype.update;
- Sprite_Picture.prototype.update = function() {
- XR_SDPicture_Sprite_Picture_update.call(this);
- this.updateSpecialDisplay();
- };
- Sprite_Picture.prototype.updateSpecialDisplay = function() {
- if (!this.picture()) return;
- if (this.picture().isSpecialDisplay()) {
- !this.visible && this.picture().changeSpecialDisplay(false);
- }
- var type = null;
- if (this._specialDisplayed) {
- if (!this.picture().isSpecialDisplay()) type = 'restore';
- } else {
- if (this.picture().isSpecialDisplay()) type = 'convert';
- }
- if (type) {
- var top = this.parent;
- while (top.constructor !== Spriteset_Map) top = top.parent;
- top[type+'PictureLayers'](this);
- }
- };
- //==================================================================================================================
- Spriteset_Map.prototype.convertPictureLayers = function(pictureSprite) {
- pictureSprite.z = 3;
- pictureSprite.setSpecialDisplayed(true);
- this._pictureContainer.removeChild(pictureSprite);
- this._tilemap.addChild(pictureSprite);
- };
- Spriteset_Map.prototype.restorePictureLayers = function(pictureSprite) {
- pictureSprite.setSpecialDisplayed(false);
- this._tilemap.removeChild(pictureSprite);
- this._pictureContainer.addChild(pictureSprite);
- };
- //==================================================================================================================
复制代码
上面的代码写入到插件脚本里。
插件命令: 将5号图片置于地图上角色下 => StartSpecialDisplay 5
插件命令: 将显示在地图上角色下的8号图片还原 => FinishSpecialDisplay 8
在消除图片时,也会自动还原 |
|