- 累计送礼:
- 0 个
- 累计收礼:
- 0 个
TA的每日心情 | 开心 2024-11-27 10:08 |
---|
签到天数: 108 天 连续签到: 4 天 [LV.6]常住居民II
管理员
- VIP
- 6
- 卡币
- 9661
- OK点
- 16
- 推广点
- 0
- 同能卷
- 0
- 积分
- 12284
|
我想把它改成这样的
我想把人物的立绘带入变量,我之前VA搞过,XX+变量显示立绘,这样可以让玩家选择自己想要的立绘。。
RUBY 代码 - //=============================================================================
- // MrTS_LuminusStatus.js
- //=============================================================================
- /*:
- * @plugindesc Luminus Status Screen. Changes how data is displayed there.
- *@author Mr. Trivel
- *
- * @param Short Attack
- * @desc Short text for Attack
- * Default: ATK
- * @default ATK
- *
- * @param Short Defense
- * @desc Short text for Defense
- * Default: DEF
- * @defaultDEF
- *
- * @param Short MAttack
- * @desc Short text for Magical Attack
- * Default: MAT
- * @default MAT
- *
- * @param Short MDefense
- * @desc Short text for MDefense
- * Default: MDF
- * @default MDF
- *
- * @param Short Agility
- * @desc Short text for Agility
- * Default: AGI
- * @default AGI
- *
- * @param Short Luck
- * @desc Short text for Luck
- * Default: LUK
- * @default LUK
- *
- * @help
- * --------------------------------------------------------------------------------
- * Free for non commercial use.
- * Version 1.0
- * --------------------------------------------------------------------------------
- *
- * --------------------------------------------------------------------------------
- * Required Files
- * --------------------------------------------------------------------------------
- * "img\system\LuminusBackground.png" - At least as big as screen. Background.
- *"img\system\LuminusStatus.png" - 348x539 - Background for stats and equipment.
- *"img\system\LuminusBar.png" - 324x48 - background for equipment.
- *"img\system\LuminusSeparator.png" - 327x9 - separator bar between blocks.
- *"img\system\LuminusStatusName.png" - 264x70 - Status Scene name in top right.
- *"img\system\LuminusActor#.png" - any preferred size. # - Actor ID
- * E.g. LuminusActor5.png would be actor's with ID 5 image.
- * "img\system\LuminusBottomBar.png" - 40height, width - as big as screen.
- * Is at the very bottom of status screen. Can be used to display controls.
- *
- *
- * --------------------------------------------------------------------------------
- * Map Tags
- * --------------------------------------------------------------------------------
- *
- * Luminus Status Scene background is set depending on the map you're in.
- *If no tag set it uses default background - "LuminusBackground".
- * --------------------------------------------------------------------------------
- * Version History
- * --------------------------------------------------------------------------------
- * 1.0 - Release
- */
- (function(){
- var parameters = PluginManager.parameters('MrTS_LuminusStatus');
- var paramATK = String(parameters['Short Attack'] || "ATK")
- var paramDEF = String(parameters['Short Defense'] || "DEF")
- var paramMATK = String(parameters['Short MAttack'] || "MAT")
- var paramMDEF = String(parameters['Short MDefense'] || "MDF")
- var paramAGI = String(parameters['Short Agility'] || "AGI")
- var paramLUK = String(parameters['Short Luck'] || "LUK")
- Scene_Status.prototype.create = function(){
- Scene_MenuBase.prototype.create.call(this);
- this._statusWindow = new Window_Status();
- this._statusWindow.setHandler('cancel', this.popScene.bind(this));
- this._statusWindow.setHandler('pagedown', this.nextActor.bind(this));
- this._statusWindow.setHandler('pageup', this.previousActor.bind(this));
- this.addWindow(this._statusWindow);
- this.refreshActor();
- };
- Scene_Status.prototype.createBackground = function(){
- this._backgroundSprite = new Sprite();
- if($dataMap.meta.LuminusBackground)
- {
- var fileName = String($dataMap.meta.LuminusBackground);
- if(fileName[0] == " ") fileName = fileName.substring(1);
- this._backgroundSprite.bitmap = ImageManager.loadSystem(fileName);
- }
- else
- this._backgroundSprite.bitmap = ImageManager.loadSystem("LuminusBackground");
- this.addChild(this._backgroundSprite);
- this._statusBackground = new Sprite();
- this._statusBackground.bitmap = ImageManager.loadSystem("LuminusStatus");
- this._statusBackground.x = 30;
- this._statusBackground.y = Graphics.boxHeight/2 - 540/2;
- this.addChild(this._statusBackground);
- this._actorSprite = new Sprite()
- this.addChild(this._actorSprite);
- this._barSprites = [];
- var equips = $gameActors.actor(1).equips();
- for(var i = 0; i < equips.length; i++){
- var sprite = new Sprite();
- sprite.bitmap = ImageManager.loadSystem("LuminusBar");
- sprite.x = this._statusBackground.x + 9;
- sprite.y = this._statusBackground.y + 250 + 48*i;
- this.addChild(sprite);
- };
- this._bottomBarSprite = new Sprite();
- this._bottomBarSprite.bitmap = ImageManager.loadSystem("LuminusBottomBar");
- this._bottomBarSprite.y = Graphics.boxHeight - 40;
- this.addChild(this._bottomBarSprite);
- this._statusName = new Sprite();
- this._statusName.bitmap = ImageManager.loadSystem("LuminusStatusName");
- var sprite = this._statusName;
- sprite.bitmap.addLoadListener(function(){
- sprite.x = Graphics.width - sprite.width;
- });
- this.addChild(this._statusName);
- };
- Scene_Status.prototype.refreshActor = function(){
- var actor = this.actor();
- this._statusWindow.setActor(actor);
- var actorSprite = this._actorSprite;
- var statusSprite = this._statusBackground;
- actorSprite.bitmap = ImageManager.loadSystem("LuminusActor" + actor.actorId());
- actorSprite.bitmap.addLoadListener(function(){
- var w = Graphics.boxWidth - statusSprite.x - statusSprite.width;
- var x = statusSprite.x + statusSprite.width;
- var y = Graphics.boxHeight - actorSprite.height;
- if(y < 0) y = 0;
- actorSprite.x = x + w/2 - actorSprite.width/2;
- actorSprite.y = y;
- });
- };
- Window_Status.prototype.initialize = function(){
- var width = Graphics.boxWidth;
- var height = Graphics.boxHeight;
- Window_Selectable.prototype.initialize.call(this, 0, 0, width, height);
- this.refresh();
- this.activate();
- this.opacity = 0;
- };
- Window_Status.prototype.refresh = function(){
- this.contents.clear();
- var positions = [];
- var x = 30 - this.standardPadding();
- if(this._actor){
- var actor = this._actor;
- var lineHeight = this.lineHeight();
- var y = Graphics.boxHeight/2 - 540/2 - this.standardPadding() + 8;
- var mw = 348/2;
- this.drawText(TextManager.levelA, x + 9, y);
- this.drawText(actor.level, x, y, mw - 6, 'right');
- this.drawText(actor.name(), x + mw, y, mw, 'center');
- y += lineHeight;
- this.drawText(TextManager.exp, x + 9, y, mw - 6);
- var exp = (actor.currentExp()-actor.currentLevelExp()) + "/" + (actor.nextLevelExp()-actor.currentLevelExp());
- this.drawText(exp, x, y, mw*2-12, 'right');
- y += lineHeight;
- this.drawText(TextManager.hpA, x + 9, y);
- var hp = actor.hp + "/" + actor.mhp;
- var whp = this.textWidth(hp);
- this.drawText(hp, x, y, mw - 6, 'right');
- this.drawText(TextManager.mpA, x + mw + 6, y);
- var mp = actor.mp + "/" + actor.mmp;
- this.drawText(mp, mw, y, mw, 'right');
- y += lineHeight;
- positions.push(y)
- y += lineHeight/3;
- var sw = mw - this.textWidth(paramATK);
- var swx = this.textWidth(paramATK);
- this.drawText(paramATK, x + 9, y);
- this.drawText(actor.atk, x + swx, y, sw, 'center');
- this.drawText(paramDEF, x + mw + 6, y);
- this.drawText(actor.def, mw + swx, y, sw, 'center');
- y += lineHeight;
- this.drawText(paramMATK, x + 9, y);
- this.drawText(actor.mat, x + swx, y, sw, 'center');
- this.drawText(paramMDEF, x + mw + 6, y);
- this.drawText(actor.mdf, mw + swx, y, sw, 'center');
- y += lineHeight;
- this.drawText(paramAGI, x + 9, y);
- this.drawText(actor.agi, x + swx, y, sw, 'center');
- this.drawText(paramLUK, x + mw + 6, y);
- this.drawText(actor.luk, mw + swx, y, sw, 'center');
- y += lineHeight;
- positions.push(y);
- y += lineHeight/3+2;
- var equips = this._actor.equips();
- var count = Math.min(equips.length, this.maxEquipmentLines());
- for(var i = 0; i < count; i++){
- this.drawItemName(equips[i], x + 18, y + 48 * i + 6);
- }
- }
- var bitmapSeparator = ImageManager.loadSystem("LuminusSeparator");
- var c = this.contents;
- bitmapSeparator.addLoadListener(function(){
- for(var i = 0; i < positions.length; i ++)
- c.blt(bitmapSeparator, 0, 0, bitmapSeparator.width, bitmapSeparator.height, x + 9, positions[i]);
- });
- };
- Window_Status.prototype.drawVertLine = function(x){
- this.contents.paintOpacity = 48;
- this.contents.fillRect(x, 0, 2, this.contentsHeight(), this.lineColor());
- this.contents.paintOpacity = 255;
- };
- })();
复制代码
本帖来自P1论坛作者西姐,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址: https://rpg.blue/forum.php?mod=viewthread&tid=387727 若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|