//tips
//微調整
プレイヤーの非生成検証を継続する。
chara=4のfoxが生成されるのはシーンのeventtriggerがうまく作動していないことでポインターの初期位置に相当するfoxの位置を取得しているのではないかと考え、charaのデバッグエラーが要因となっていないかを確認する。
問題が起こらないこともあるが、charaの数値は正常であった。
今のところ問題が起こらなさそうなので起きたタイミングで一気にログを確保する。
プレイヤー同士の攻撃の際に、人間側であるが相手プレイヤーが動かない場合は2度当たり判定が入ってしまっているので、もう少しコライダーのクールタイムを長くできないか考える。
現在は下記の形で運用しており、一クリックの場合は問題ないがボタンを連打された場合の対応は含まれていない。
IEnumerator WaitAnimationfin()
{
photonView.RPC(nameof(AttackColliderDamage), RpcTarget.All);
yield return new WaitForSeconds(0.5f);
photonView.RPC(nameof(AttackColliderDamage), RpcTarget.All);
}
[PunRPC]
void AttackColliderDamage()
{
SphereCollider rightfootcollider = rightfoot.GetComponent<SphereCollider>();
if(rightfootcollider.enabled == false)
{
rightfootcollider.enabled = true;
}
else
{
rightfootcollider.enabled = false;
}
}
Boolを差し込んで一回のWaitAnimationfin()が終了したら次のWaitAnimationfin()を実行できるようにする。
IEnumerator WaitAnimationfin()
{
if (!acdflag)
{
acdflag = true;
photonView.RPC(nameof(AttackColliderDamage), RpcTarget.All);
yield return new WaitForSeconds(0.5f);
photonView.RPC(nameof(AttackColliderDamage), RpcTarget.All);
acdflag = false;
}
こちらで問題が解決するか見てみる。
かなりいい感じに解決した。