切換
舊版
前往
大廳
主題

RM MV學習筆記(8) 判斷角色是否在隊伍中

路漫行 | 2018-01-23 23:22:18 | 巴幣 0 | 人氣 427

在自製介面時候,如果需要顯示角色頁籤,像這樣的效果:


就需要判斷角色是否在隊伍中才決定是否顯示該角色,由於這是內建的功能,所以有個內建的函式可以用。

//判斷角色是否在隊伍中
$gameParty.members().contains(c.actor)

c.actor是事件丟過來的角色,如果自己用的話,要給他一個完整的actor物件,舉例如下:


var v = $gameActors._data[1];
$gameParty.members().contains(v))
//console.log( '編號1角色是否在隊伍裡=' + $gameParty.members().contains(v));

v如果只放number的話會報錯,找不到東西。



最後就是寫在函式裡面讓makeCommandList來呼叫囉!


Window_SSCommand_Actor.prototype.makeCommandList = function() {
if ( this.Cha01() == true ){
this.addCommand( $dataActors[1].name, 'Cha_01', true);
}
if ( this.Cha02() == true ){
this.addCommand( $dataActors[2].name, 'Cha_02', true);
}
if ( this.Cha03() == true ){
this.addCommand( $dataActors[3].name, 'Cha_03', true);
}
};



Window_SSCommand_Actor.prototype.Cha01 = function() {
var v = $gameActors._data[1];
if ($gameParty.members().contains(v)) {
return true;
}
};

Window_SSCommand_Actor.prototype.Cha02 = function() {
var v = $gameActors._data[2];
if ($gameParty.members().contains(v)) {
return true;
}
};

Window_SSCommand_Actor.prototype.Cha03 = function() {
var v = $gameActors._data[3];
if ($gameParty.members().contains(v)) {
return true;
}
};


最後就是...

如果嫌內建的command不好看的話,可左轉找一下Siako.Mobi,提供各種圖形化按鈕的教學。因為他已經教過很多次了,所以這邊就不再重複囉!




送禮物贊助創作者 !
0
留言

創作回應

相關創作

更多創作