創作內容

1 GP

【SRPGStudio】改造遊戲據點介面版面-3 (附等級排序腳本)

作者:水無月冰鏡_水水│2017-08-15 07:23:00│巴幣:2│人氣:652


距離上頭這張構想介面圖,已經算是十分有形狀模樣出來了
下面這張是最新的改造進度

(電醬是天使~~~!!!咳咳!!)

左側的等級排序部分已經弄完成了,接下來要改造的右側按鈕部分
因為還要加入滑鼠可用的API點擊功能,所以可能會花多一點時間
畢竟要尋找滑鼠能點擊的判定範圍啊~

以下是上頭是我自己寫的【等級排序】簡易腳本
【如果是等級一樣為最高者,排序會依照內建資料的角色ID為優先】
使用方法為:
請打開『scene-rest(據點相關).js
並且搜尋找到『var ListCommandScrollbar = defineObject
將下方語法貼至在『drawScrollContent: function』裡頭
/*--------------------------------------------------------------------*/
var list = root.getMetaSession().getTotalPlayerList(); //目前在隊伍中的成員群組
var i,c,o,Face,Face1,Face2,unit; //暫時定義
var count = list.getCount(); //統計成員群組的總數
var tag,tag1,tag2; //迴圈取數比對
var max,second,min; //迴圈定義對象
max = second = min = 0; //對象數字歸零


for(i = 0 ; i < count ; i++){
unit = list.getData(i).getLv(); //得到成員群組的全部Lv數值並且比對
if(unit > max) { //比對結果如果大於Max = 0 ,該數值就指定為Max
Face = list.getData(i); //Max的數據ID
max = Face.getLv(); //重新定義ID讀取成Lv數值
tag = i; //將Max的ID暫定為 i
}
}


for(c = 0 ; c < count ; c++){
unit = list.getData(c).getLv();  //得到成員群組的全部Lv數值並且比對
if( c != tag){ //ID顯示的數值不等於 Max
if(unit > second){ //比對結果如果大於second = 0 ,該數值就指定為second
Face1 = list.getData(c); //second的數據ID
second = Face1.getLv();//重新定義ID讀取成Lv數值
tag1 = c; //將second的ID暫定為 c
}
}
}

for(o = 0 ; o < count ; o++){
unit = list.getData(o).getLv(); //得到成員群組的全部Lv數值並且比對
if( o !=tag1 && o != tag){ //ID的顯示數值不等於 Max 以及 second
if(unit > min) //比對結果如果大於min = 0 ,該數值就指定為min
Face2 = list.getData(o); //min的數據ID
min = Face2.getLv();//重新定義ID讀取成Lv數值
tag2 = o; //將min的ID暫定為 o
}
else //如果不是
continue; //就繼續搜尋比對
}

ContentRenderer.drawUnitFace(x=75, y=92, Face, false, 255); //顯示Max的臉圖
TextRenderer.drawText(x = 345, y = 245, max ,500, color, font); //顯示Max的Lv
TextRenderer.drawText(x = 120, y = 286, Face.getName() ,500, color, font); //顯示Max的名子


ContentRenderer.drawUnitFace(x=58, y=331, Face1, false, 255); //顯示second的臉圖
TextRenderer.drawText(x = 285, y = 372, second ,500, color, font); //顯示second的Lv
TextRenderer.drawText(x = 195, y = 414, Face1.getName() ,500, color, font); //顯示second的名子


ContentRenderer.drawUnitFace(x=40, y=466, Face2, false, 255); //顯示min的臉圖
TextRenderer.drawText(x = 260, y = 492, min ,500, color, font); //顯示min的Lv
TextRenderer.drawText(x = 160, y = 533, Face2.getName() ,500, color, font); //顯示min的名子

},  //<<<這個是語法斷尾的最後,如果出現Error拿掉即可正常

/*--------------------------------------------------------------------*/
如果沒意外,那應該據點選單的右側會出現與下頭圖片類似的效果

/*--------------------------------------------------------------------*/

另外如果有使用MP(EP)&必殺ゲージ追加』腳本的話,
嫌據點每次都要自己再設置背景圖、每次只能限定一張的話,
還有一個可以仿造『機器人大戰阿法系列』背景圖隨機挑選的做法
只是要注意,電腦配備有些差強人意的人,會造成些微的開場LAG
腳本如下
使用方法為:
請打開『scene-rest(據點相關).js
並且搜尋找到『_setBackgroundData: function()
將下方語法貼至在『drawScrollContent: function』裡頭
/*--------------------------------------------------------------------*/
_setBackgroundData: function() { //據點背景圖
var z = 5 ; //預設給予幾張背景圖隨機數
z = this.getRandomNumber() % 5 ; //設定亂數 除於 張數

//由於亂數取出的數值並非整數,會有那種0.00XXXXXXX的小數點
//因此要用下方這種指定整數範圍來判斷第幾張
//另外root.getMaterialManager().createImage(No14.Material, No14.GaugeImg)
//請在AddStatusWindow.js增加數據才能夠讀取
//圖片也請放在Material\OT_AddStatus\裡面


if (z >= 0 && z <= 1 ) {
// 0.000 ~ 0.999 = 1
this._scrollBackground.startScrollBackground(root.getMaterialManager().createImage(No14.Material, No14.GaugeImg));
}
if (z >= 1 && z <= 2 ) {
// 1.000 ~ 1.999 = 2
this._scrollBackground.startScrollBackground(root.getMaterialManager().createImage(No15.Material, No15.GaugeImg));
}
if (z >= 2 && z <= 3 ) {
// 2.000 ~ 2.999 = 3
this._scrollBackground.startScrollBackground(root.getMaterialManager().createImage(No16.Material, No16.GaugeImg));
}
if (z >= 3 && z <= 4 ) {
// 3.000 ~ 3.999 = 4
this._scrollBackground.startScrollBackground(root.getMaterialManager().createImage(No17.Material, No17.GaugeImg));
}
if (z >= 4 && z <=5 ) {
// 4.000 ~ 4.999 = 5
this._scrollBackground.startScrollBackground(root.getMaterialManager().createImage(No18.Material, No18.GaugeImg));
}

//下頭這段是超出背景張數用的,想使用請將斜線消除即可
//但前提是...非常容易跑出超過值,10次會有出現6~8次超過

//else {
//this._scrollBackground.startScrollBackground(root.getMaterialManager().createImage(No7.Material, No7.GaugeImg));
//}
        
//this._scrollBackground.startScrollBackground(this.getRestArea().getBackgroundImage());
//上頭這段是原數據,不想用隨機背景圖就還原。

},

getRandomNumber: function() {
return root.getRandomNumber();
},

/*--------------------------------------------------------------------*/


附帶一提,雖說SRPGStudio所使用的是JavaScript語法
但還是有很多地方不太相同,這點必須要讓我思考很久來轉換
舉例來說一樣都是取亂數的部分
root.getRandomNumber()  = SRPGStudio用
Math.random()  = JavaScript用
所以直接打『Math.random()』 只會爆出Error而已...
很多腳本...都必須先找到父子類才能進一步做寫程式的動作..
如果能直接打JavaScript的話,我相信這會更好操作的Orz

下頭是輸入十個數字、並且搜尋出取第一、第二大數值的JavaScript用語法
看完再回頭比對看看我寫的等級排序腳本,其實很像也差不多喔
這給大家做一下參考~
import java.util.*;
public class test {
public static void main (String[] args) {
Scanner s=new Scanner(System.in);
int [] a=new int[10];
int max,second; //max=最大的數,second=第二大的數
int tag=99;
max=second=0;
System.out.println("請輸入10個數字:");
//讀入user輸入的10個數字
for(int i=0;i<a.length;i++){
System.out.printf("第%d個數: ", i+1);
a[i]=s.nextInt();
}
//找最大的數
for(int i=0;i<a.length;i++){
if(a[i]>max){
max=a[i];
tag=i;
}
}
//找第二大的數
for(int i=0;i<a.length;i++){
if(i!=tag){
if(a[i]>second)
second=a[i];
}
else
continue;
}
System.out.println();
System.out.println("--------結果--------");
System.out.println();
System.out.println("最大數為:"+max);
System.out.println("第二大數為:"+second);
}
}
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=3684144
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:SRPGStudio

留言共 2 篇留言

雷神劍參
水鏡大,SRPG tudio官方好像有釋出腳本可以自己修改數值,

我有看到一個 [highlevel-canvas.js 図形を描画します。]的Plugin

是不是能修改單位格子的大小呢?(可是好複雜呀...那是高階腳本吧....)

08-20 23:14

水無月冰鏡_水水
你說的這個highlevel-canvas.js腳本~
我看了一下是呼叫root.getGraphicsManager().getCanvas()
會出現自己腳本定義的『四邊形線框<並非圖案>』喔
然而...
canvas.setFillColor(color, alpha);
canvas.drawLine(x1, y1, x2, y2, weight);
canvas.setFillColor(color, alpha);
canvas.drawLine(x3, y3, x4, y4, weight);
這段就是描製線邊與線寬的主要,修改這裡會變成梯形之類
或是...canvas.drawEllipse(x, y, width, height);直接描繪出橢圓形

因此想呼叫出自定義的邊框線,可以使用這個腳本
如果是單獨圖片還是臉圖大小,依然還是要到singleton-rendercontrol.js
去重新或新增定義呼叫出來的數值喔
08-21 04:12
水無月冰鏡_水水
附帶一提,你說的單位格子~恐怕要到相關的腳本中~
新增一段重新定義選項游標的腳本語法
然後才能改內建限定的寬與高喔08-21 04:15
雷神劍參
囧...也就是要修大小就得從原本的腳本下手嗎Orz.....

好吧,看來官方是暫時沒有考慮能修改單位大小的想法了

還是再等等看吧.....

08-21 22:57

我要留言提醒:您尚未登入,請先登入再留言

1喜歡★hjklhjklhjka 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:【SRPGStudio】... 後一篇:這才不是我想要的異世界之...

追蹤私訊切換新版閱覽

作品資料夾

┌───幼獅職訓遊戲開發─── (0)

├Vmware (0)

├Linux系統 (0)

├資料庫系統 (0)

├Windows系統 (0)

├Cisco網路 (0)

├網路概論 (0)

├程式語言 (2)

├遊戲腳本語言 (0)

├AR/VR (0)

├Unity (0)

├架構整合&專題製作 (0)

└───幼獅職訓遊戲開發─── (0)

┌───SrpgStudio─── (0)
├其一、測試製作的進度報告 (11)
├其二、修改的圖片部分素材 (8)
├其三、修改未分類文章 (25)

└───SrpgStudio─── (0)

┌────自創輕小說區──── (0)

├無敵爸媽俏女兒 (0)

├【新】這才不是我想要的異世界之旅! (0)
├其零、前言 (1)
├其一、序章 (2)
├其二、初始之地 (2)

├【再編】魔王與女勇者的前世 (1)
├其一、魔王是神族?勇者是女武神? (8)
├其二、洛基現身?諸神黃昏的前兆? (9)
├其三、新婚鬧劇?女武神們的日常? (8)
├其四、恐怖情人?史維特萊德的戀情? (8)
├其五、新的姿態?歐菲斯的決意? (5)
├其六、新的力量?威德克的抉擇? (0)
├其六、時空之謎?瓦爾特洛德的感情? (9)
├其七、我們的女兒?時空女神的覺醒? (9)
├其八、愉快的家族生活?最後的幸福? (9)
└其九、世界開始崩壞?女武神的試煉? (8)

├魔王與女勇者的前世2 (0)
├其一、序章篇 (9)
├其零、故事大綱與角色設定介紹 (4)
└其二、日常篇其1 (2)

├糟糕魔王與糊塗的公主們 (0)
├其一、序章 (5)
├其二、第一章 (6)
├其三、第二章 (5)

├那天我所遇見的她 (暫停更新) (8)
├其一、序章 (2)

├戰極姬之夢 (暫停更新) (25)

├小說角色設定 (大部分人設置放) (6)

└────自創輕小說區──── (0)

┌────個人興趣區──── (0)

├小屋心得 (6)

├隨時幻想 (16)

├ニコニコ動画相關 (2)

├我所看過的動畫之一 (10)

├隨手練畫塗鴉 (24)

├現實心得 (24)

└────個人興趣區──── (0)

┌────學習區──── (0)

├Java相關 (2)

├Unity相關 (2)

└────學習區──── (0)

未分類 (12)

yvonne40528小說/新詩讀者
📢每週六晚上,小屋更新小說or新詩,歡迎追蹤訂閱、按讚留言!📚看更多我要大聲說昨天19:48


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】