前提
Unityで攻撃するときに当たり判定を呼び出すシステムを作っています。
Invokeを使って3種類の攻撃の当たり判定が出現する時間をそれぞれ調整したいのですが、簡単に呼び出せるように引数を使った関数を使用すると、うまく呼び出せません。
引数がない状態で実行したら正常に動いたのですが、引数のある関数を呼び出す方法はないのでしょうか?
発生している問題・エラーメッセージ
Trying to Invoke method: AttackShot.Fire(0) couldn't be called.
該当のソースコード
private void Update() { if(animController.GetBool("AttackPhase")) return; // スライダーの値を初期値にする m_AimSlider.value = m_AttackForce; // Zキーが押された時 if(Input.GetKeyDown(KeyCode.Z)) { m_CurrentAttackForce = m_AttackForce; Invoke("Fire(0)", 0.1f); } } private void Fire(int ballnum) { // Ballプレハブのインスタンス化 Rigidbody2D ballInstance = Instantiate(m_Ball[ballnum], m_FireTransform[ballnum].position, m_FireTransform[ballnum].rotation) as Rigidbody2D; // Ballに速度を与える ballInstance.velocity = m_CurrentAttackForce * m_FireTransform[ballnum].forward; // Ballに加える力のリセット m_CurrentAttackForce = m_AttackForce; }
あなたの回答
tips
プレビュー