[RESOLU][DB-AL] allumer et eteindre un spotlight avec une touche

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Benjamin22!
Messages : 2
Inscription : 18 Mai 2018 19:59

[RESOLU][DB-AL] allumer et eteindre un spotlight avec une touche

Message par Benjamin22! » 18 Mai 2018 20:59

bonjour je voudrais savoir comment allumer et éteindre un spotlight comme une lampe torche en CSharp car je ne trouve que des tutos en java ou alors je ne comprends pas. Voici ce que j'ai fais :

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TorchScript : MonoBehaviour {

	 // Use this for initialization
	void Start () {
        GetComponent.<light>.enabled = true;
    }
	
	// Update is called once per frame
	void Update () {
        if ((Input.GetKey("f")) && (GetComponent.< light >.enabled = false)
        {
            GetComponent.< light >.enabled = true;
        }
        if ((Input.GetKey("f")) && (GetComponent.< light >.enabled = true)
        {
            GetComponent.< light >.enabled = false;
        }
    }
}
merci de m'aider
.
 ! Message de : Max
Attention à la section où vous postez. Utilisez les balises code SVP
Merci de lire la Netiquette.

dan44180
Messages : 31
Inscription : 11 Août 2016 08:20
Contact :

Re: allumer et eteindre un spotlight avec une touche

Message par dan44180 » 19 Mai 2018 07:25

tu dis si j'appuie sur f la lumiere s'allume puis tu dis si j'appuie sur f la lumiere s'eteind donc quand tu appuie sur f elle s'allume et s'eteind sans que tu puisse le voir tellement ca va vite.

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: allumer et eteindre un spotlight avec une touche

Message par Max » 19 Mai 2018 09:58

Bonjour,

Donc, oui effectivement, ta façon d'écrire tes conditions fait que tu auras au final toujours le même état.
Au delà, ton code est truffé d'erreurs, à commencer par la syntaxe (comme dans l'écriture des GetComponent).
En suite, dans les instructions conditionnelles, lorsque l'on souhaite tester une égalité, on n’emploie pas '=' (opérateur d'affectation) mais '=='.
En suite, évite à tout prix les GetComponents à tout va. Définis une variable globale, que tu affectes par exemple dans ton Start(). Pareil pour GetKey, dans ton cas tu cherches visiblement un appui simple et non continu, donc passe plutôt par GetKeyDown.

Ton code simplifié et corrigé, pourrait donner ceci (placé sur ta Light):

Code : Tout sélectionner

using UnityEngine;

public class TorchScript : MonoBehaviour
{
    Light lght;

    // Use this for initialization
    void Start()
    {
        lght = GetComponent<Light>();
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown("f"))
        {
            lght.enabled = !lght.enabled;
        }

    }
}
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Benjamin22!
Messages : 2
Inscription : 18 Mai 2018 19:59

Re: allumer et eteindre un spotlight avec une touche

Message par Benjamin22! » 19 Mai 2018 13:20

Merci beaucoup c'est vrai que je suis pas très fort en CSharp :gene: j'ai testé et ça marche merci :amen:

Répondre

Revenir vers « (C#) CSharp »