【解決済】アクター間のステートを交換させるには?
Posted: 2021年8月18日(水) 16:19
アクター1と2のステートを交換するとします。
アクター1にはステート4と6 アクター2にはステート7が既に付与されています。
1のステートの配列を変数1に代入
同じく、2のステートの配列を変数2に代入しました。
1は2、2は1の変数からステートを付与させるという魂胆です。
最初こそ交換に成功しますが、何故か2回目や3回目から(不定)
相殺したのか、互いのステートが消えてしまいます。これはどういうことなのでしょうか?
アクター1にはステート4と6 アクター2にはステート7が既に付与されています。
コード: 全て選択
var p = []
$gameActors.actor(1).states().forEach(function(state) {
p.unshift(state.id)
$gameActors.actor(1).removeState(state.id)
})
if(!p.length == 0 )
{$gameVariables.setValue(1,p)}
else{$gameVariables.setValue(1,0)}
コード: 全て選択
var p = []
$gameActors.actor(2).states().forEach(function(state) {
p.unshift(state.id)
$gameActors.actor(2).removeState(state.id)
})
if(!p.length == 0 )
{$gameVariables.setValue(2,p)}
else{$gameVariables.setValue(2,0)}
コード: 全て選択
$gameVariables.value(1).forEach(function(state) {
$gameActors.actor(2).addState(state)
})
$gameVariables.value(2).forEach(function(state) {
$gameActors.actor(1).addState(state)
})
最初こそ交換に成功しますが、何故か2回目や3回目から(不定)
相殺したのか、互いのステートが消えてしまいます。これはどういうことなのでしょうか?