设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: 雷影
打印 上一主题 下一主题

[有事请教] 想自己重新设计状态栏布局,该咋整?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7787
在线时间
1175 小时
注册时间
2006-7-18
帖子
606
11
 楼主| 发表于 2018-5-26 22:02:47 | 只看该作者
tseyik 发表于 2018-5-26 19:27
https://triacontane.blogspot.hk/2016/03/gui.html
GUI画面デザインプラグイン

感谢!不过我这里打不开!404错误?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7787
在线时间
1175 小时
注册时间
2006-7-18
帖子
606
12
 楼主| 发表于 2018-5-27 07:33:40 | 只看该作者
yang1zhi 发表于 2018-5-26 18:28
//-----------------------------------------------------------------------------
// Window_Status_x ...

按照你说的,新建一个空白工程测试!什么都没动,就添加了你那段!
难道是MV版本问题?我现在用的是1.2.0版本!


要不帮看看整段代码有啥问题吧!
JAVASCRIPT 代码复制
  1. //=============================================================================
  2. // Window_Status
  3. //=============================================================================
  4. /*:
  5. * @plugindesc 状态栏重新排版
  6. *
  7. */
  8. //-----------------------------------------------------------------------------
  9.  
  10. Window_Status.prototype = Object.create(Window_Selectable.prototype);
  11. Window_Status.prototype.constructor = Window_Status;
  12. Window_Status.prototype.initialize = function() {
  13.     var width = Graphics.boxWidth-200;
  14.     var height = Graphics.boxHeight-200;
  15.     Window_Selectable.prototype.initialize.call(this, 100, 50, width, height);
  16.     this.refresh();
  17.     this.activate();
  18. };
  19.  
  20. Window_Status.prototype.setActor = function(actor) {
  21.     if (this._actor !== actor) {
  22.         this._actor = actor;
  23.         this.refresh();
  24.     }
  25. };
  26.  
  27. Window_Status.prototype.refresh = function() {
  28.     this.contents.clear();
  29.     if (this._actor) {
  30.         var lineHeight = this.lineHeight();
  31.         this.drawBlock1(lineHeight * 0);
  32.         this.drawHorzLine(lineHeight * 1);
  33.         this.drawBlock2(lineHeight * 2);
  34.         this.drawHorzLine(lineHeight * 6);
  35.         this.drawBlock3(lineHeight * 7);
  36.         this.drawHorzLine(lineHeight * 13);
  37.         this.drawBlock4(lineHeight * 14);
  38.     }
  39. };
  40.  
  41. Window_Status.prototype.drawBlock1 = function(y) {
  42.     this.drawActorName(this._actor, 192, y);
  43.     this.drawActorClass(this._actor, 192, y+40);
  44.     this.drawActorNickname(this._actor, 432, y);
  45. };
  46.  
  47. Window_Status.prototype.drawBlock2 = function(y) {
  48.     this.drawActorFace(this._actor, 10, 10);
  49.     this.drawBasicInfo(200, y);
  50.     this.drawExpInfo(400, y);
  51. };
  52. //装备,能力值显示的位置
  53. Window_Status.prototype.drawBlock3 = function(y) {
  54.     this.drawEquipments(10, y -50);//装备显示的位置
  55.     this.drawParameters(300, y -50);//能力值显示的位置
  56. };
  57.  
  58. Window_Status.prototype.drawBlock4 = function(y) {
  59.     this.drawProfile(6, y);//人物简介
  60. };
  61.  
  62. Window_Status.prototype.drawHorzLine = function(y) {
  63.     var lineY = y + this.lineHeight() / 2 - 1;
  64.     this.contents.paintOpacity = 48;
  65.     this.contents.fillRect(0, lineY, this.contentsWidth(), 2, this.lineColor());
  66.     this.contents.paintOpacity = 255;
  67. };
  68.  
  69. Window_Status.prototype.lineColor = function() {
  70.     return this.normalColor();
  71. };
  72. //等级 异常状态图标 HP MP位置
  73. Window_Status.prototype.drawBasicInfo = function(x, y) {
  74.     var lineHeight = this.lineHeight();
  75.     this.drawActorLevel(this._actor, x, y + lineHeight * 0);
  76.     this.drawActorIcons(this._actor, 10, y + lineHeight * 2+10);
  77.     this.drawActorHp(this._actor, x, y + lineHeight * 1);
  78.     this.drawActorMp(this._actor, x, y + lineHeight * 2);
  79. };
  80. //HP MP数值描绘
  81. Window_Status.prototype.drawParameters = function(x, y) {
  82.     var lineHeight = this.lineHeight();
  83.     for (var i = 0; i < 6; i++) {
  84.         var paramId = i + 2;
  85.         var y2 = y + lineHeight * i;
  86.         this.changeTextColor(this.systemColor());
  87.         this.drawText(TextManager.param(paramId), x, y2, 160);
  88.         this.resetTextColor();
  89.         this.drawText(this._actor.param(paramId), x + 160, y2, 60, 'right');
  90.     }
  91. };
  92.  
  93. //绘制经验值位置
  94. Window_Status.prototype.drawExpInfo = function(x, y) {
  95.     var lineHeight = this.lineHeight();
  96.     var expTotal = TextManager.expTotal.format(TextManager.exp);
  97.     var expNext = TextManager.expNext.format(TextManager.level);
  98.     var value1 = this._actor.currentExp();
  99.     var value2 = this._actor.nextRequiredExp();
  100.     if (this._actor.isMaxLevel()) {
  101.         value1 = '-----';
  102.         value2 = '-----';
  103.     }
  104.     this.changeTextColor(this.systemColor());
  105.     this.drawText(expNext, x, y + lineHeight * 1, 0);
  106.     this.drawText(expTotal, x, y + lineHeight * 2, 0);
  107.     this.resetTextColor();
  108.     this.drawText(value2, x+80, y + lineHeight * 1, 270,'left');
  109.     this.drawText(value1, x+80, y + lineHeight * 2, 270,'left');
  110. };
  111.  
  112. //装备显示
  113. Window_Status.prototype.drawEquipments = function(x, y) {
  114.     var equips = this._actor.equips();
  115.     var count = Math.min(equips.length, this.maxEquipmentLines());
  116.     for (var i = 0; i < count; i++) {
  117.         this.drawItemName(equips[i], x, y + this.lineHeight() * i);
  118.     }
  119. };
  120.  
  121. //显示简介
  122. Window_Status.prototype.drawProfile = function(x, y) {
  123.     this.drawTextEx(this._actor.profile(), x, y);
  124. };
  125.  
  126. Window_Status.prototype.maxEquipmentLines = function() {
  127.     return 6;
  128. };
  129.  
  130.  
  131.  
  132. // Window_Status_xiamian
  133. //
  134. // The window for displaying full status on the status screen.
  135.  
  136. var Status_xiamian_create = Scene_Status.prototype.create
  137. Scene_Status.prototype.create = function() {
  138.     Status_xiamian_create.call(this);
  139.     this._status_xiamianWindow = new Window_Status_xiamian();
  140.     this.addWindow(this._status_xiamianWindow);
  141. };
  142.  
  143. var Status_xiamian_refreshActor = Scene_Status.prototype.refreshActor
  144. Scene_Status.prototype.refreshActor = function() {
  145.         Status_xiamian_refreshActor.call(this);
  146.     var actor = this.actor();
  147.     this._status_xiamianWindow.setActor(actor);
  148. };
  149.  
  150.  
  151. function Window_Status_xiamian() {
  152.     this.initialize.apply(this, arguments);
  153. }
  154.  
  155. Window_Status_xiamian.prototype = Object.create(Window_Selectable.prototype);
  156. Window_Status_xiamian.prototype.constructor = Window_Status_xiamian;
  157. Window_Status_xiamian.prototype.initialize = function() {
  158.     var width = Graphics.boxWidth;
  159.     var height = Graphics.boxHeight/4;
  160.         var x = 0
  161.         var y = 459
  162.     Window_Selectable.prototype.initialize.call(this, x, y, width, height);
  163.     this._actor = null;
  164.     this.refresh();
  165.     this.activate();
  166. };
  167.  
  168. Window_Status_xiamian.prototype.setActor = function(actor) {
  169.     if (this._actor !== actor) {
  170.         this._actor = actor;
  171.         this.refresh();
  172.     }
  173. };
  174.  
  175. Window_Status_xiamian.prototype.refresh = function() {
  176.     this.contents.clear();
  177.         if (!this._actor) {return}
  178.         console.log(this._actor)
  179.         this.drawTextEx(this._actor.profile(), 0, 0);
  180. };
  181.  
  182. function Window_Status() {
  183.     this.initialize.apply(this, arguments);
  184. }
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

13
发表于 2018-5-27 10:45:12 | 只看该作者
你怎么把默认的Window_Status顺序都改了
function Window_Status()不是应该在最前面的吗。
VA里不是也有initialize吗,放一开始的。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

14
发表于 2018-5-27 10:46:06 | 只看该作者
我那个,你不用添加到里面。你新建个JS文件,复制进去,保存,放到plugins里面,再设置成插件,就能用了
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7787
在线时间
1175 小时
注册时间
2006-7-18
帖子
606
15
 楼主| 发表于 2018-5-27 11:15:09 | 只看该作者
yang1zhi 发表于 2018-5-27 10:46
我那个,你不用添加到里面。你新建个JS文件,复制进去,保存,放到plugins里面,再设置成插件,就能用了 ...

按照你说的,新建一个空白工程测试!什么都没动,就添加了你那段!然后就是12楼那样的错误!
apply啥的!
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

16
发表于 2018-5-27 11:46:18 | 只看该作者
雷影 发表于 2018-5-27 11:15
按照你说的,新建一个空白工程测试!什么都没动,就添加了你那段!然后就是12楼那样的错误!
apply啥的! ...

你看清楚
function Window_Status() {
    this.initialize.apply(this, arguments);
}
这个被你从Window_Status的最开始,移动到了最底下。
我写的是Window_Status_xiamian  名字已经改过了
已经是个新窗口了。和Window_Status没任何关系。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
23073
在线时间
8648 小时
注册时间
2011-12-31
帖子
3367
17
发表于 2018-5-27 12:10:50 | 只看该作者
GraphicalDesignMode.js

评分

参与人数 1+1 收起 理由
雷影 + 1 认可答案 感谢

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7787
在线时间
1175 小时
注册时间
2006-7-18
帖子
606
18
 楼主| 发表于 2018-5-27 17:21:22 | 只看该作者
tseyik 发表于 2018-5-27 12:10
[fold=GraphicalDesignMode.js]//===================================================================== ...


这啥意思啊!?1.3版本以下不能用?

点评

是的,新版本只對應MV1.3以上  发表于 2018-5-27 17:34
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
23073
在线时间
8648 小时
注册时间
2011-12-31
帖子
3367
19
发表于 2018-5-27 17:35:46 | 只看该作者
// Version
// 2.8.2 2018/05/20 YEP_BattleEngineCore.jsとの併用時、デザインモードで一部ウィンドウで透明状態の切り替えが機能しない競合を解消
// 2.8.1 2018/01/30 最新のNW.jsで動作するよう修正
// 2.8.0 2017/07/26 コンソールからの関数実行で直前に編集したウィンドウの位置を変更できる機能を追加
// 2.7.0 2017/04/11 2.6.0の修正で追加ウィンドウの位置変更が正常に動作しない問題を修正
//                  選択肢ウィンドウについて位置変更を一時的に無効化するプラグインコマンドを追加
// 2.6.0 2017/04/07 追加したピクチャやウィンドウについて任意のスイッチがONのときのみ表示できる機能を追加
// 2.5.0 2017/03/11 ウィンドウを非表示にできる機能を追加
// 2.4.0 2017/01/09 カスタムウィンドウに表示する内容に揃えを指定できる機能を追加しました。
// 2.3.1 2016/11/30 RPGアツマールで画面がNowLoadingから進まなくなる場合がある問題を修正しました。
// 2.3.0 2016/11/25 メッセージウィンドウの背景の表示可否を固定にできる機能を追加しました。
// 2.2.1 2016/11/12 Macの場合、Ctrlキーの代わりにoptionキーを使用するようヘルプを追記
// 2.2.0 2016/11/03 ウィンドウごとに使用するフォントを設定できる機能を追加
// 2.1.0 2016/09/28 アイコンサイズをフォントサイズに合わせて自動で拡縮できる機能を追加
//                  操作対象のウィンドウにフォーカスしたときに枠の色を変えて明示する機能を追加
//                  数値項目のプロパティを設定する際にJavaScript計算式を適用できる機能を追加
// 2.0.0 2016/08/22 本体v1.3.0によりウィンドウ透過の実装が変更されたので対応
// 1.1.3 2016/08/05 本体v1.3.0にて表示される警告を抑制
// 1.1.2 2016/07/20 一部のウィンドウでプロパティロード後にコンテンツが再作成されない問題を修正
// 1.1.1 2016/07/17 余白とフォントサイズの変更が、画面切り替え後に元に戻ってしまう問題を修正
// 1.1.0 2016/07/11 メッセージウィンドウのみ位置変更を一時的に無効化するプラグインコマンドを追加
// 1.0.2 2016/04/02 liply_memoryleak_patch.jsとの競合を解消
// 1.0.1 2016/03/28 一部のウィンドウのプロパティを変更しようとするとエラーが発生する現象の修正
// 1.0.0 2016/03/13 初版
// 0.9.0 2016/03/05 ベータ版

点评

有没有出現網格線?  发表于 2018-5-27 19:39

评分

参与人数 1+1 收起 理由
雷影 + 1 不知道为啥启动不了!换了1.3.4版本!测试.

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
23073
在线时间
8648 小时
注册时间
2011-12-31
帖子
3367
20
发表于 2018-5-27 19:50:39 | 只看该作者
1.5.1


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-9 23:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表