son qui est coupé au mileu
- boubouk50
- ModoGenereux
- Messages : 6263
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: son qui est coupé au mileu
j'ai rien compris
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: son qui est coupé au mileu
ben tu vois pour savoir si mon personnage et mort (game over) j'ai juste rajouter un peu de code dans le void Update , mais pour savoir si mon personnage a toucher un tuyaux j'ai mis un void OnCollisionEnter2D et je voulais savoir si il existait pas un truc similaire au void OnCollisionEnter2D(Collision2D collision) mais pour les position
ex: void si position = bla bla bla
{
gameover
etc...
}
jsp si ta compris se que je voulais dire
ex: void si position = bla bla bla
{
gameover
etc...
}
jsp si ta compris se que je voulais dire
- boubouk50
- ModoGenereux
- Messages : 6263
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: son qui est coupé au mileu
Balance ton code, ce sera plus clair.
Mais en gros, c'est le OnCollisionEnter2D(Collision2D collision) qui devrait gérer le GameOver.
Sinon, dans l'Update () une fois que le GameOver est prononcé, donc que tu es entré dans la condition, il faut faire en sorte de ne plus y rerentrer les frames suivantes.
Mais en gros, c'est le OnCollisionEnter2D(Collision2D collision) qui devrait gérer le GameOver.
Sinon, dans l'Update () une fois que le GameOver est prononcé, donc que tu es entré dans la condition, il faut faire en sorte de ne plus y rerentrer les frames suivantes.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: son qui est coupé au mileu
tiens c le code du personnage
juste pour info logic c le code que je t'ai envoyer la dernier fois
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
public class PlayerMovment : MonoBehaviour
{
public Rigidbody2D MyRigidBody;
public float flapStength;
public Logic logic;
public bool birdIsAlive = true;
// Start is called before the first frame update
void Start()
{
logic = GameObject.FindGameObjectWithTag("Logic").GetComponent<Logic>();
}
// Update is called once per frame
void Update()
{
if(Input.GetKeyDown(KeyCode.Space) && birdIsAlive)
{
MyRigidBody.velocity = Vector2.up * flapStength;
}
if(transform.position.y > 15 || transform.position.y < -14)
{
birdIsAlive = false;
logic.gameOver();
}
}
private void OnCollisionEnter2D(Collision2D collision)
{
birdIsAlive = false;
logic.gameOver();
}
private void
}
- boubouk50
- ModoGenereux
- Messages : 6263
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: son qui est coupé au mileu
Le problème se situe bien dans ta condition de gameOver.
Lorsque ton player est hors cadre (< -14 ou > 15), tu appelles gameOver (), mais ce que tu ne fais pas c'est empêcher cet appel par la suite.
Ici, techniquement, une fois ton personnage en gameOver (donc hors cadre), à chaque frame, il va retourner dans la condition de gameOver puisqu'il reste hors cadre. Il faut donc contraindre cette condition avec une variable (généralement booléenne) pour savoir si tu es déjà en situation de gameOver ou non.
Cette variable est peut être déjà présente : birdIsAlive.
Lorsque ton player est hors cadre (< -14 ou > 15), tu appelles gameOver (), mais ce que tu ne fais pas c'est empêcher cet appel par la suite.
Ici, techniquement, une fois ton personnage en gameOver (donc hors cadre), à chaque frame, il va retourner dans la condition de gameOver puisqu'il reste hors cadre. Il faut donc contraindre cette condition avec une variable (généralement booléenne) pour savoir si tu es déjà en situation de gameOver ou non.
Cette variable est peut être déjà présente : birdIsAlive.
Code : Tout sélectionner
//Si l'oiseau est vivant alors gameOver est possible, sinon, on ne peut entrer dans cette condition
if(birdIsAlive && (transform.position.y > 15 || transform.position.y < -14))
{
birdIsAlive = false;
logic.gameOver();
}
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: son qui est coupé au mileu
ok c'etait bien ca merci