Bonjour,
Je travaille sur un petit jeu 2D sur Unity et j'ai besoin d'aide sur quelque chose.
J'ai un joueur qui peut marcher à droite et à gauche. Il peut aussi lancer des Shuriken mais seulement vers la droite.
Il a une position de tir devant lui.
J'aimerais savoir comment changer cette position de tir en même temps que son mouvement, et aussi, lorsque le joueur marche vers la gauche, comment lancer le Shuriken dans cette direction.
Merci de votre aide.
PlayerMovement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 void Update(){ if (!timerHasBegin){ Timer.instance.BeginTimer(); timerHasBegin =true; } horizontalMovement = Input.GetAxis("Horizontal") * moveSpeed * Time.fixedDeltaTime; verticalMovement = Input.GetAxis("Vertical") * climbSpeed * Time.fixedDeltaTime; if (Input.GetButtonDown("Jump") && isGrounded){ AudioManager.instance.PlayClipAt(jumpSound,transform.position); isJumping = true; } Flip(rb.velocity.x); float characterVelocity = Mathf.Abs(rb.velocity.x); animator.SetFloat("Speed", characterVelocity); animator.SetBool("isClimbing", isClimbing); if ((Input.GetKeyDown(KeyCode.LeftControl)||Input.GetKeyDown(KeyCode.RightControl)) && (!shotActivated) ){ StartCoroutine(ShurikenShot()); } }Shuriken :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public IEnumerator ShurikenShot(){ Instantiate(bulletToFire, firePoint.position,firePoint.rotation); AudioManager.instance.PlayClipAt(shurikenSound,transform.position); shotActivated = true; yield return new WaitForSeconds(timeBetweenShurikens); shotActivated =false; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class ShurikenScript : MonoBehaviour { public float speed ; public Rigidbody2D therigidbody2D; void Start(){ } void Update(){ therigidbody2D.velocity = transform.right*speed; Debug.Log(therigidbody2D.velocity); transform.Rotate(5,0,0); }
Partager