Project1

标题: 如何修改插件的能力顯示排版方式(已解決) [打印本页]

作者: blueskyblue    时间: 2023-5-25 04:29
标题: 如何修改插件的能力顯示排版方式(已解決)
本帖最后由 blueskyblue 于 2023-5-25 20:52 编辑

剛學習插件未滿一個月的萌新首次發文,請多指教。

我在裝了 YEP_EquipCore.js 後,為了自訂顯示參數,又裝了 DreamX_ShowParam.js,改成這樣:


但這樣還是不夠讓玩家一覽所有需要的參數,我希望它可以分成兩列同時顯示:(這張是合成圖)


一開始我想模仿插件,建立一個新參數,值的部分寫入我想顯示的能力,複製程式碼換成新參數,

結果我就卡住了...我不知道怎麼改才能顯示兩列。後來看到 YEP_ItemCore.js 就是分成兩列顯示:


然後 DreamX_ShowParam.js 也能修改物品視窗,我就想研究它怎麼分成兩列顯示:


但我看不出是哪裡影響了列數...還是其實和它無關,要改 YEP_EquipCore.js 才行?

作者: 余杭    时间: 2023-5-25 11:13
本帖最后由 余杭 于 2023-5-25 11:18 编辑

Window_StatCompare.prototype.refresh    改这个就可以实现你想要的

this.drawItem(x,y,paramid)    这是yep的绘制函数


第一个变量传递的是x位置,你想办法判断什么时候该换列就能完成第一步,其他的应该还有需要改的,自己找找
作者: 3339357969    时间: 2023-5-25 13:23
看到必须支持一波
作者: blueskyblue    时间: 2023-5-25 20:12
本帖最后由 blueskyblue 于 2023-5-25 20:20 编辑
余杭 发表于 2023-5-25 11:13
Window_StatCompare.prototype.refresh    改这个就可以实现你想要的

this.drawItem(x,y,paramid)    这是 ...


非常感謝二樓大佬的提點,已達成目標。以下是我的修改過程:

我先給 Window_StatCompare.prototype.refresh 加上 if 條件:


結果只有格子分成兩列,去看 drawItem 函數,發現除了畫格子以外的函數都沒有 x 參數:


那些函數在繪製前才決定 x 的值,我就給它們加上 x 參數(例如 drawRightArrow(y); 都改成 (x, y))
本來決定 x 值的地方改成設定 x 的相對位置:(真的看不懂原本那一長串在算什麼...)


它就成功分成兩列了:





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1