MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Un Timer

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.6.4
    18 Messages 6 Publieurs 5.8k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • MrCupCakeMonsterM Hors-ligne
      MrCupCakeMonster
      dernière édition par

      un timer normal en java :

      for(int i = 1; i <= 10; i++)
      {
      /*Ton code */
      }
      

      Essaye maintenant comme ceci :

      for(int i = 1; i <= 10; i++)
      {
      /*Ton code*/
      }
      

      En remplaçant 10 pour un gros chiffres, pour faire un bon timer :)___
      Essaye ça :

      
      int nb = 0;
      do{
      /*Ton code */
      nb = 0;
      for(int i = 1; i <= 10/*Remplacer 10 par un gros nombre*/; i++)
      {
      
      }
      nb = 1;
      }while(nb = 1);
      
      

      Mes tutos :

      >! Un item mangeable
      [url=http://www.minecraftforgefranc…

      1 réponse Dernière réponse Répondre Citer -1
      • Nolan-XXN Hors-ligne
        Nolan-XX
        dernière édition par

        Merci, mais j’ai une erreur a :

        package mods.nono.MGSmod.weapons;
        
        import mods.nono.MGSmod.ShotsType.EntityShoot;
        import mods.nono.MGSmod.ShotsType.EntityShootExplosive;
        import mods.nono.MGSmod.ShotsType.EntityShootExplosiveUber;
        import mods.nono.MGSmod.ShotsType.EntityShootSPAS12;
        import mods.nono.MGSmod.ShotsType.EntityShootSimple;
        import mods.nono.MGSmod.common.Main;
        import net.minecraft.client.renderer.texture.IconRegister;
        import net.minecraft.enchantment.Enchantment;
        import net.minecraft.enchantment.EnchantmentHelper;
        import net.minecraft.entity.player.EntityPlayer;
        import net.minecraft.item.Item;
        import net.minecraft.item.ItemStack;
        import net.minecraft.world.World;
        
        public class W_SPAS12 extends Item
        {
        
        public W_SPAS12(int par1)
        {
        super(par1);
        this.maxStackSize = 1; //dit qu'il ne peut avoir que 1 pistolet
        this.setCreativeTab(Main.MGSTAB);
        }
        
        public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
        
        {
        
        int nb = 0;
        do{
        boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0;
        if (flag || par3EntityPlayer.inventory.hasItem(Main.plomb.itemID))
        {
        par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 1));
        par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 2));
        par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 3));
        par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 4));
        par3EntityPlayer.inventory.consumeInventoryItem(Main.plomb.itemID);
        
        }
        nb = 0;
        for(int i = 1; i <= 60/*Remplacer 10 par un gros nombre*/; i++)
        {
        
        }
        nb = 1;
        }while(nb = 1);
        
        return par1ItemStack;
        }
        
        @Override
        public void registerIcons(IconRegister iconRegister)
        {
        itemIcon = iconRegister.registerIcon("nono/MGSmod:SPAS12");
        }
        }
        

        }while(nb = 1);

        Et puis j’ai essayé ça :

        package mods.nono.MGSmod.weapons;
        
        import mods.nono.MGSmod.ShotsType.EntityShoot;
        import mods.nono.MGSmod.ShotsType.EntityShootExplosive;
        import mods.nono.MGSmod.ShotsType.EntityShootExplosiveUber;
        import mods.nono.MGSmod.ShotsType.EntityShootSPAS12;
        import mods.nono.MGSmod.ShotsType.EntityShootSimple;
        import mods.nono.MGSmod.common.Main;
        import net.minecraft.client.renderer.texture.IconRegister;
        import net.minecraft.enchantment.Enchantment;
        import net.minecraft.enchantment.EnchantmentHelper;
        import net.minecraft.entity.player.EntityPlayer;
        import net.minecraft.item.Item;
        import net.minecraft.item.ItemStack;
        import net.minecraft.world.World;
        
        public class W_SPAS12 extends Item
        {
        
        private int nombre_de_ticks;
        public int timer = nombre_de_ticks;
        public int nombrre_de_tick = 600;
        
        public W_SPAS12(int par1)
        {
        super(par1);
        this.maxStackSize = 1; //dit qu'il ne peut avoir que 1 pistolet
        this.setCreativeTab(Main.MGSTAB);
        
        }
        
        public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
        
        {
        
        if(timer == nombre_de_ticks){
        //
        boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0;
        if (flag || par3EntityPlayer.inventory.hasItem(Main.plomb.itemID))
        {
        par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 1));
        par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 2));
        par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 3));
        par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 4));
        par3EntityPlayer.inventory.consumeInventoryItem(Main.plomb.itemID);
        
        }
        
        timer = 0;
        }
        else {
        if ( timer <= nombre_de_ticks ) {
        timer++;
        } else { } }
        
        return par1ItemStack;
        }
        
        @Override
        public void registerIcons(IconRegister iconRegister)
        {
        itemIcon = iconRegister.registerIcon("nono/MGSmod:SPAS12");
        }
        }
        

        Mais ça ne marche pas …

        1 réponse Dernière réponse Répondre Citer 0
        • jglrxavpokJ Hors-ligne
          jglrxavpok Modérateurs
          dernière édition par

          @Gugu42 Etant donné que les items n’ont pas de méthode update(), il faudrait préciser quelle méthode update!
          De tête, je dirais qu’il faudrait intercepter les événements PlayerUpdateEvent (s’il existe, sinon c’est EntityUpdateEvent en vérifiant que l’entitée est bien un joueur) pour mettre à jour le timer.

          @MrCupCakeMonster Cela ne fera que faire freezer le jeu pendant un certain temps. Il va faire la boucle sans rafraîchir l’écran dans ce cas là.

          EDIT: Nolan-XX, ce système ne fera pas grand chose, mais l’erreur ici est que tu as fait une affection à la place d’une condition. C’est-à-dire que tu dois vérifier que nb est égal à 1, comme ceci:

          while(nb == 1)
          

          Modérateur sur MFF. 
          Mon Github: http://github.com/jglrxavpok
          Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

          1 réponse Dernière réponse Répondre Citer 0
          • GuguG Hors-ligne
            Gugu
            dernière édition par

            @‘jglrxavpok’:

            @Gugu42 Etant donné que les items n’ont pas de méthode update(), il faudrait préciser quelle méthode update!
            De tête, je dirais qu’il faudrait intercepter les événements PlayerUpdateEvent (s’il existe, sinon c’est EntityUpdateEvent en vérifiant que l’entitée est bien un joueur) pour mettre à jour le timer.

            @MrCupCakeMonster Cela ne fera que faire freezer le jeu pendant un certain temps. Il va faire la boucle sans rafraîchir l’écran dans ce cas là.

            EDIT: Nolan-XX, ce système ne fera pas grand chose, mais l’erreur ici est que tu as fait une affection à la place d’une condition. C’est-à-dire que tu dois vérifier que nb est égal à 1, comme ceci:

            while(nb == 1)
            

            J’ai plus le code de mon Oblitérateur B6 ( voir ma chaîne YouTube ) qui avait un cooldown ( Donc un timer ), donc j’ai pas retrouvé le méthode d’Update, mais c’était sûrement celle-ci 🙂

            "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
            ― Jordan B. Peterson

            1 réponse Dernière réponse Répondre Citer 0
            • Nolan-XXN Hors-ligne
              Nolan-XX
              dernière édition par

              @‘Gugu42’:

              @‘jglrxavpok’:

              @Gugu42 Etant donné que les items n’ont pas de méthode update(), il faudrait préciser quelle méthode update!
              De tête, je dirais qu’il faudrait intercepter les événements PlayerUpdateEvent (s’il existe, sinon c’est EntityUpdateEvent en vérifiant que l’entitée est bien un joueur) pour mettre à jour le timer.

              @MrCupCakeMonster Cela ne fera que faire freezer le jeu pendant un certain temps. Il va faire la boucle sans rafraîchir l’écran dans ce cas là.

              EDIT: Nolan-XX, ce système ne fera pas grand chose, mais l’erreur ici est que tu as fait une affection à la place d’une condition. C’est-à-dire que tu dois vérifier que nb est égal à 1, comme ceci:

              while(nb == 1)
              

              J’ai plus le code de mon Oblitérateur B6 ( voir ma chaîne YouTube ) qui avait un cooldown ( Donc un timer ), donc j’ai pas retrouvé le méthode d’Update, mais c’était sûrement celle-ci 🙂

              A part faire planter le jeu , ça ne marche pas …

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002R Hors-ligne
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                dernière édition par

                package tutoriel.common;
                
                import net.minecraft.creativetab.CreativeTabs;
                import net.minecraft.entity.Entity;
                import net.minecraft.entity.player.EntityPlayer;
                import net.minecraft.item.Item;
                import net.minecraft.item.ItemStack;
                import net.minecraft.world.World;
                
                public class ItemTutorial extends Item
                {
                private boolean canShot;
                
                public ItemTutorial(int id)
                {
                super(id);
                this.setCreativeTab(CreativeTabs.tabMaterials);
                }
                
                public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
                {
                if(canShot)
                {
                world.playSoundAtEntity(player, "modtutoriel:explosion", 1.0F, 1.0F);
                world.newExplosion(null, player.posX, player.posY, player.posZ, 5, true, true);
                canShot = false;
                }
                return stack;
                }
                
                public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean hasItemInHand)
                {
                if(hasItemInHand && world.getWorldTime() % 16L == 0L && entity instanceof EntityPlayer)
                {
                EntityPlayer player = (EntityPlayer)entity;
                player.addChatMessage("tu peux tirer");
                canShot = true;
                }
                }
                }
                

                Bon parcontre je l’ai fais en 1.6, mais normalement ça devrait aussi fonctionner. Je me sers du temps de minecraft, si le reste de la division par 16 donne 0 alors le canshot passe sur true. J’ai essayé, ça marche très bien, avec ce code je peux créer une explosion tout les 3 secondes environ, alors que si je mets directement le code pour l’explosion or de la condition, je peux faire une explosion à chaque clic droit (donc facile 5 par secondes)

                1 réponse Dernière réponse Répondre Citer 0
                • Nolan-XXN Hors-ligne
                  Nolan-XX
                  dernière édition par

                  @‘robin4002’:

                  package tutoriel.common;
                  
                  import net.minecraft.creativetab.CreativeTabs;
                  import net.minecraft.entity.Entity;
                  import net.minecraft.entity.player.EntityPlayer;
                  import net.minecraft.item.Item;
                  import net.minecraft.item.ItemStack;
                  import net.minecraft.world.World;
                  
                  public class ItemTutorial extends Item
                  {
                  private boolean canShot;
                  
                  public ItemTutorial(int id)
                  {
                  super(id);
                  this.setCreativeTab(CreativeTabs.tabMaterials);
                  }
                  
                  public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
                  {
                  if(canShot)
                  {
                  world.playSoundAtEntity(player, "modtutoriel:explosion", 1.0F, 1.0F);
                  world.newExplosion(null, player.posX, player.posY, player.posZ, 5, true, true);
                  canShot = false;
                  }
                  return stack;
                  }
                  
                  public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean hasItemInHand)
                  {
                  if(hasItemInHand && world.getWorldTime() % 16L == 0L && entity instanceof EntityPlayer)
                  {
                  EntityPlayer player = (EntityPlayer)entity;
                  player.addChatMessage("tu peux tirer");
                  canShot = true;
                  }
                  }
                  }
                  

                  Bon parcontre je l’ai fais en 1.6, mais normalement ça devrait aussi fonctionner. Je me sers du temps de minecraft, si le reste de la division par 16 donne 0 alors le canshot passe sur true. J’ai essayé, ça marche très bien, avec ce code je peux créer une explosion tout les 3 secondes environ, alors que si je mets directement le code pour l’explosion or de la condition, je peux faire une explosion à chaque clic droit (donc facile 5 par secondes)

                  Avec ce code , je ne peux plus tirer et le message “tu peux tirer” s’affiche en boucle :s …

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    Tu as fais un copier/coller exacte ou tu as juste repris ce que tu avais besoin ?
                    Pour le message, il te suffit d’enlever
                    EntityPlayer player = (EntityPlayer)entity;
                    player.addChatMessage(“tu peux tirer”);
                    Je l’avais mit pour les tests, tu peux l’enlever

                    1 réponse Dernière réponse Répondre Citer 0
                    • Nolan-XXN Hors-ligne
                      Nolan-XX
                      dernière édition par

                      J’ai juste repris ce dont j’avais besoin …
                      Mon code :

                      package mods.nono.MGSmod.weapons;
                      
                      import mods.nono.MGSmod.ShotsType.EntityShoot;
                      import mods.nono.MGSmod.ShotsType.EntityShootExplosive;
                      import mods.nono.MGSmod.ShotsType.EntityShootExplosiveUber;
                      import mods.nono.MGSmod.ShotsType.EntityShootSPAS12;
                      import mods.nono.MGSmod.ShotsType.EntityShootSimple;
                      import mods.nono.MGSmod.common.Main;
                      import net.minecraft.client.renderer.texture.IconRegister;
                      import net.minecraft.enchantment.Enchantment;
                      import net.minecraft.enchantment.EnchantmentHelper;
                      import net.minecraft.entity.Entity;
                      import net.minecraft.entity.player.EntityPlayer;
                      import net.minecraft.item.Item;
                      import net.minecraft.item.ItemStack;
                      import net.minecraft.world.World;
                      
                      public class W_SPAS12 extends Item
                      {
                      
                      private boolean canShot;
                      
                      public W_SPAS12(int par1)
                      {
                      super(par1);
                      this.maxStackSize = 1; //dit qu'il ne peut avoir que 1 pistolet
                      this.setCreativeTab(Main.MGSTAB);
                      }
                      
                      public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player, ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
                      {
                      if(canShot)
                      {
                      boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0;
                      if (flag || par3EntityPlayer.inventory.hasItem(Main.plomb.itemID))
                      {
                      par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 1));
                      par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 2));
                      par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 3));
                      par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 4));
                      par3EntityPlayer.inventory.consumeInventoryItem(Main.plomb.itemID);
                      
                      }
                      canShot = false;
                      }
                      return stack;
                      }
                      
                      public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean hasItemInHand)
                      {
                      if(hasItemInHand && world.getWorldTime() % 16L == 0L && entity instanceof EntityPlayer)
                      {
                      EntityPlayer player = (EntityPlayer)entity;
                      player.addChatMessage("tu peux tirer");
                      canShot = true;
                      }
                      }
                      /*public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
                      
                      {
                      
                      boolean flag = par3EntityPlayer.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0;
                      if (flag || par3EntityPlayer.inventory.hasItem(Main.plomb.itemID))
                      {
                      par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 1));
                      par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 2));
                      par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 3));
                      par2World.spawnEntityInWorld(new EntityShootSPAS12(par2World, par3EntityPlayer, 4));
                      par3EntityPlayer.inventory.consumeInventoryItem(Main.plomb.itemID);
                      
                      }
                      
                      return par1ItemStack;
                      }*/
                      
                      @Override
                      public void registerIcons(IconRegister iconRegister)
                      {
                      itemIcon = iconRegister.registerIcon("nono/MGSmod:SPAS12");
                      }
                      }
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002R Hors-ligne
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                        dernière édition par

                        Le canShot = false; déplace-le dans la condition pour tirer, après par3EntityPlayer.inventory.consumeInventoryItem(Main.plomb.itemID);

                        1 réponse Dernière réponse Répondre Citer 0
                        • Nolan-XXN Hors-ligne
                          Nolan-XX
                          dernière édition par

                          Aucun effet … je ne peux plus tirer :s
                          sinon Player133 est un pedobear o/

                          1 réponse Dernière réponse Répondre Citer 0
                          • robin4002R Hors-ligne
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                            dernière édition par

                            Je vois vraiment pas …
                            Si ça ne te dérange pas, tu peux me passer toutes tes sources pour que je puisse travailler directement dessus ?
                            Ha en passant, ceci :

                            || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, par1ItemStack) > 0
                            

                            Est à enlever, car si un joueur trouve un moyen de mettre infinity sur ton arme, il aura plus besoin de munition.

                            1 réponse Dernière réponse Répondre Citer 0
                            • jglrxavpokJ Hors-ligne
                              jglrxavpok Modérateurs
                              dernière édition par

                              Cette ligne ne correspond pas à ce qu’on veut faire:

                              world.getWorldTime() % 16L == 0L
                              

                              Elle fait en sorte que le joueur puisse tirer toutes les 16 ticks (ça veut dire si on tire à 15 ticks, lors de la frame suivante on peut retirer), or on veut que il puisse retirer 16 ticks après avoir utilisé l’arme, peu importe quand on tire.

                              Exemple de code venant d’un jeu que je suis en train de développer (j’ai simplifié au max histoire que ce soit plus compréhensible):

                              public void update()
                              {
                              super.update();
                              
                              if(shootTimer > 0)
                              shootTimer–;
                              
                              if(Gdx.input.isKeyPressed(Keys.L)) // <-- Correspond à l'utilisation de l'arme
                              {
                              if(shootTimer == 0)
                              {
                              shoot();
                              }
                              }
                              }
                              
                              private void shoot()
                              {
                              shootTimer = 12; // <-- On dit que l'on devra attendre 12 frames (ou ticks)
                              }
                              

                              Modérateur sur MFF. 
                              Mon Github: http://github.com/jglrxavpok
                              Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

                              1 réponse Dernière réponse Répondre Citer 0
                              • robin4002R Hors-ligne
                                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                dernière édition par

                                Ça fonctionne parfaitement, merci Xavpok :

                                package mods.nono.MGSmod.weapons;
                                
                                import mods.nono.MGSmod.ShotsType.EntityShoot;
                                import mods.nono.MGSmod.ShotsType.EntityShootExplosive;
                                import mods.nono.MGSmod.ShotsType.EntityShootExplosiveUber;
                                import mods.nono.MGSmod.ShotsType.EntityShootSimple;
                                import mods.nono.MGSmod.ShotsType.EntityShootSimpleTranq;
                                import mods.nono.MGSmod.common.Main;
                                import net.minecraft.client.renderer.texture.IconRegister;
                                import net.minecraft.enchantment.Enchantment;
                                import net.minecraft.enchantment.EnchantmentHelper;
                                import net.minecraft.entity.Entity;
                                import net.minecraft.entity.player.EntityPlayer;
                                import net.minecraft.item.Item;
                                import net.minecraft.item.ItemStack;
                                import net.minecraft.world.World;
                                
                                public class W_MK22 extends Item
                                {
                                private int shootTimer;
                                
                                public W_MK22(int id)
                                {
                                super(id);
                                this.maxStackSize = 1; // dit qu'il ne peut avoir que 1 pistolet
                                this.setCreativeTab(Main.MGSTAB);
                                }
                                
                                public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
                                {
                                if(player.capabilities.isCreativeMode || player.inventory.hasItem(Main.SOammo.itemID))
                                {
                                if(shootTimer == 0)
                                {
                                world.spawnEntityInWorld(new EntityShootSimpleTranq(world, player, 1));
                                player.inventory.consumeInventoryItem(Main.SOammo.itemID);
                                shootTimer = 20;
                                }
                                }
                                return stack;
                                }
                                
                                public void onUpdate(ItemStack stack, World world, Entity entity, int par4, boolean hasItemInHand)
                                {
                                if(shootTimer > 0)
                                {
                                shootTimer–;
                                }
                                }
                                
                                @Override
                                public void registerIcons(IconRegister iconRegister)
                                {
                                itemIcon = iconRegister.registerIcon("nono/MGSmod:MK22");
                                }
                                }
                                
                                1 réponse Dernière réponse Répondre Citer 0
                                • Nolan-XXN Hors-ligne
                                  Nolan-XX
                                  dernière édition par

                                  @‘jglrxavpok’:

                                  Cette ligne ne correspond pas à ce qu’on veut faire:

                                  world.getWorldTime() % 16L == 0L
                                  

                                  Elle fait en sorte que le joueur puisse tirer toutes les 16 ticks (ça veut dire si on tire à 15 ticks, lors de la frame suivante on peut retirer), or on veut que il puisse retirer 16 ticks après avoir utilisé l’arme, peu importe quand on tire.

                                  Exemple de code venant d’un jeu que je suis en train de développer (j’ai simplifié au max histoire que ce soit plus compréhensible):

                                  public void update()
                                  {
                                  super.update();
                                  
                                  if(shootTimer > 0)
                                  shootTimer–;
                                  
                                  if(Gdx.input.isKeyPressed(Keys.L)) // <-- Correspond à l'utilisation de l'arme
                                  {
                                  if(shootTimer == 0)
                                  {
                                  shoot();
                                  }
                                  }
                                  }
                                  
                                  private void shoot()
                                  {
                                  shootTimer = 12; // <-- On dit que l'on devra attendre 12 frames (ou ticks)
                                  }
                                  

                                  Merci a toi ! Grace a ton code ( et a robin4002) j’ai réussi ! Un grand merci !

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • M Hors-ligne
                                    mrkevin77
                                    dernière édition par

                                    comment faire pour inverser le timer pour que l’action s’effectue apres 15 ticks

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • 1 / 1
                                    • Premier message
                                      Dernier message
                                    Design by Woryk
                                    ContactMentions Légales

                                    MINECRAFT FORGE FRANCE © 2024

                                    Powered by NodeBB