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

Project1

 找回密码
 注册会员
搜索
查看: 9447|回复: 25
打印 上一主题 下一主题

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

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7787
在线时间
1175 小时
注册时间
2006-7-18
帖子
606
跳转到指定楼层
1
发表于 2018-5-25 11:53:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
当初VA时倒是弄懂了默认脚本的内容,修修改改也成了!
可这个MV,好像没找到状态窗口布局位置,想改也无从下手!
有没有大佬帮写一个脚本?
理想是图1这样


不能实现的话,弄成图2哪样也可以!

评分

参与人数 1+1 收起 理由
chd114 + 1 排版不错···

查看全部评分

Lv4.逐梦者

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

开拓者

2
发表于 2018-5-25 12:36:29 | 只看该作者
在这个窗口里面
Window_Status
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7787
在线时间
1175 小时
注册时间
2006-7-18
帖子
606
3
 楼主| 发表于 2018-5-25 15:08:28 | 只看该作者
yang1zhi 发表于 2018-5-25 12:36
在这个窗口里面
Window_Status

恩 谢谢 找到了!按照构想修改了各种数值的坐标位置!调整了窗口大小!
可是简介这部分因为是在另一个窗口里的!要怎样增加一个新窗口啊?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

4
发表于 2018-5-25 15:44:14 | 只看该作者
本帖最后由 yang1zhi 于 2018-5-25 15:46 编辑
雷影 发表于 2018-5-25 15:08
恩 谢谢 找到了!按照构想修改了各种数值的坐标位置!调整了窗口大小!
可是简介这部分因为是在另一个窗 ...


Scene_Status.prototype.create = function() {
    Scene_MenuBase.prototype.create.call(this);
    this._statusWindow = new Window_Status();
    this._statusWindow.reserveFaceImages();
    this.addWindow(this._statusWindow);
    this._statusWindow.setHandler('cancel',   this.cancel.bind(this));
    this._statusWindow.setHandler('pagedown', this.nextActor.bind(this));
    this._statusWindow.setHandler('pageup',   this.previousActor.bind(this));
        this.createnlxsWindow();
};

像这样就是加个窗口
重点是
this._statusWindow = new Window_Status();
这是产生个新的Window_Status赋值给this._statusWindow
然后是
this.addWindow(this._statusWindow);
把这个窗口添加到显示板上
setHandler这些是按键指令
窗口怎么写,就参考Window_Status这些Window_开头的,这些都是窗口。
抄一份过来,修改后,再添加进来就是个新窗口了
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7787
在线时间
1175 小时
注册时间
2006-7-18
帖子
606
5
 楼主| 发表于 2018-5-25 19:29:55 | 只看该作者
yang1zhi 发表于 2018-5-25 15:44
Scene_Status.prototype.create = function() {
    Scene_MenuBase.prototype.create.call(this);
    t ...

看不懂啊!在原本的代码上修修改改还勉强可以,要重写一个的话不知道要怎么入手!
能不能帮写完啊!就是在Window_Status里,下方增加一个能显示2~3行角色简介文字的窗口!
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

6
发表于 2018-5-25 19:43:27 | 只看该作者
雷影 发表于 2018-5-25 19:29
看不懂啊!在原本的代码上修修改改还勉强可以,要重写一个的话不知道要怎么入手!
能不能帮写完啊!就是 ...

Window_Status本身是窗口,
要增加窗口应该是在Scene_Status。
和VA差不多吧。
VA的应该是
@statusWindow = Window_Status.new
下面还要加个释放
而MV的不用写释放
不过要写addWindow
回复 支持 1 反对 0

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7787
在线时间
1175 小时
注册时间
2006-7-18
帖子
606
7
 楼主| 发表于 2018-5-26 17:58:25 | 只看该作者
yang1zhi 发表于 2018-5-25 19:43
Window_Status本身是窗口,
要增加窗口应该是在Scene_Status。
和VA差不多吧。

能不能帮写一个完整的啊!
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

8
发表于 2018-5-26 18:28:53 | 只看该作者
雷影 发表于 2018-5-26 17:58
能不能帮写一个完整的啊!

JAVASCRIPT 代码复制
  1. //-----------------------------------------------------------------------------
  2. // Window_Status_xiamian
  3. //
  4. // The window for displaying full status on the status screen.
  5.  
  6. var Status_xiamian_create = Scene_Status.prototype.create
  7. Scene_Status.prototype.create = function() {
  8.     Status_xiamian_create.call(this);
  9.     this._status_xiamianWindow = new Window_Status_xiamian();
  10.     this.addWindow(this._status_xiamianWindow);
  11. };
  12.  
  13. var Status_xiamian_refreshActor = Scene_Status.prototype.refreshActor
  14. Scene_Status.prototype.refreshActor = function() {
  15.         Status_xiamian_refreshActor.call(this);
  16.     var actor = this.actor();
  17.     this._status_xiamianWindow.setActor(actor);
  18. };
  19.  
  20.  
  21. function Window_Status_xiamian() {
  22.     this.initialize.apply(this, arguments);
  23. }
  24.  
  25. Window_Status_xiamian.prototype = Object.create(Window_Selectable.prototype);
  26. Window_Status_xiamian.prototype.constructor = Window_Status_xiamian;
  27.  
  28.  
  29. Window_Status_xiamian.prototype.initialize = function() {
  30.     var width = Graphics.boxWidth;
  31.     var height = Graphics.boxHeight/4;
  32.         var x = 0
  33.         var y = 459
  34.     Window_Selectable.prototype.initialize.call(this, x, y, width, height);
  35.     this._actor = null;
  36.     this.refresh();
  37.     this.activate();
  38. };
  39.  
  40. Window_Status_xiamian.prototype.setActor = function(actor) {
  41.     if (this._actor !== actor) {
  42.         this._actor = actor;
  43.         this.refresh();
  44.     }
  45. };
  46.  
  47. Window_Status_xiamian.prototype.refresh = function() {
  48.     this.contents.clear();
  49.         if (!this._actor) {return}
  50.         console.log(this._actor)
  51.         this.drawTextEx(this._actor.profile(), 0, 0);
  52. };
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
23073
在线时间
8648 小时
注册时间
2011-12-31
帖子
3367
9
发表于 2018-5-26 19:27:23 | 只看该作者
https://triacontane.blogspot.hk/2016/03/gui.html
GUI画面デザインプラグイン


 パラメータ「デザインモード」を「ON」にすると、マウスのドラッグ&ドロップで既存のウィンドウや追加したウィンドウの位置をグラフィカルに調整し、横幅などのプロパティを自由に変更できます。位置を調整したらデザインモードをOFFにして起動すると、変更した位置が反映されています。
指定可能なプロパティ

    ウィンドウの横幅
    ウィンドウの高さ
    ウィンドウの余白
    ウィンドウのフォントサイズ
    ウィンドウの1行のあたりの高さ
    ウィンドウの背景透明度
    ウィンドウの行数
    ウィンドウの背景画像ファイル名
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7787
在线时间
1175 小时
注册时间
2006-7-18
帖子
606
10
 楼主| 发表于 2018-5-26 21:56:57 | 只看该作者
本帖最后由 雷影 于 2018-5-26 22:57 编辑
yang1zhi 发表于 2018-5-26 18:28
//-----------------------------------------------------------------------------
// Window_Status_x ...


Maximum call stack size exceeded
出现这个错误!原来的脚本我只是改了改各种坐标!没改代码!
我把这一段放在最下面就出现这个错误!

折腾了一下出现这个显示!

点评

没问题的啊。我用新建工程测试过。你把它做成插件放进去。要么你改过你的脚本。要么你顺序放太前面了。  发表于 2018-5-27 01:46
你按F8可以清楚看到哪一行报错  发表于 2018-5-26 22:04
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-9 22:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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