Accueil Forums J’ai besoin d’aide Unity3D Probleme de lag avec les update

Ce sujet a 4 réponses, 2 participants et a été mis à jour par  Veraliot_, il y a 5 jours et 10 heures.

5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #2114

    Veraliot_
    Participant

    Alors bonjour oui oui c’est encore moi décidément je suis assez dans la galère a faire un jeu triple A tout seul, bref alors je voulais afficher le nombre de balle de mon arme sur mon personnage ansi que plein d’autre trucs tout marche bien sauf un truc j’ai foirer quelque chose au niveau des zones commanté est a cause de ça le lag ma GTX 1070 a du mal a faire tourner le jeu a 5 fps et c’est loin d’etre drole ça fait 5 mois que j’essaye de corriger ce bug pouvez vous m’aider??
    voici le script:
    <pre class=”lang:c# decode:true ” >using UnityEngine;
    using System.Collections;

    public class GameController : MonoBehaviour
    {

    public static GameController GC;

    private UserInput player { get { return FindObjectOfType<UserInput>(); } set { player = value; } }

    private PlayerUI playerUI { get { return FindObjectOfType<PlayerUI>(); } set { playerUI = value; } }

    private WeaponHandler wp { get { return player.GetComponent<WeaponHandler>(); } set { wp = value; } }

    void Awake()
    {
    if (GC == null)
    {
    GC = this;
    }
    else
    {
    if (GC != this)
    {
    Destroy(gameObject);
    }
    }
    }

    void CheckUpdate()
    {
    UpdateUI();
    }

    void UpdateUI()
    {
    if (player)
    {
    /*if (playerUI)
    {
    if (wp)
    {
    if (playerUI.ammoText)
    {
    if (wp.currentWeapon == null)
    {
    playerUI.ammoText.text = “Unarmed.”;
    }
    else
    {
    playerUI.ammoText.text = wp.currentWeapon.ammo.clipAmmo + “//” + wp.currentWeapon.ammo.carryingAmmo;
    */
    }
    }
    }

    #2120

    Dpg
    Participant

    Salut, a quoi sert la void ChekUpdate ?
    Je découvre encore la programmation. Mais du coup suivant ta condition il va réecrire 60/s, la dernière ligne.

    Pourquoi ne pas checker une seule fois ta currentWeapon quand elle arrive sur ton player.

    Un peu comme quand on veux afficher le nombre de balle dans un chargeur, on le fait juste après un tir, pas dans un Update.

    #2121

    Veraliot_
    Participant

    le void checkupdate n’existe pas (je m’excuse pour les fautes mon clavier n’a pas trop l’air de m’aimer en ce moment) sinon oui pourquoi pas mais je ne serais pas comment faire pour modifier un tel script car je l’ai recupérer d’un tuto j’ai bien compris le tuto etc etc mais le seul probléme c’est que ce tuto n’est plus compatible avec unity 2017 ce qui cause ces bugs et j’ai plein de script buggé comme ça dans mon jeu!
    au passage si quelqu’un peux me faire un exemple de comment le modifier sans avoir d’erreur ou de lag ça serait pas mal!

    #2127

    Dpg
    Participant

    Enfaite il faut que tu appel ta fonction ‘UpdateUI()’ a chaque fois que ton script modifie les balles ou chargeurs de ton arme.

    Par exemple, si tu as une fonction ‘Shoot()’, et bien à la fin de ta fonction tu lance ton ‘UpdateUI’.
    Pareille quand tu recharge, Etc..Etc..

    Comme ca ta fonction ‘UpdateUI’ ne se lancera qu’une seule fois, que lors que c’est utile.

    #2130

    Veraliot_
    Participant

    Merci je verais ça !!

5 sujets de 1 à 5 (sur un total de 5)

Vous devez être connecté pour répondre à ce sujet.