CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Unity] Problème de script C#

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
230Volt
230Volt
Niveau 8
05 juin 2013 à 20:46:35

Bonjour à tous,

Je continue mon bout de chemin dans le C# et sur Unity,
J'ai maintenant quelques connaissances et je m'en sors sans vraiment trop de difficultés dans mes scripts avec les ref d'Unity et autres forum mais là, je bloque complètement sur quelque chose de simple.

Je veux créer un/des objet ramassable, j'ai donc créé ce script : http://pastebin.com/8LT3VC2b

Malheureusement, quand je l'applique sur mon perso, et que je vais sur des capsules, la 1ere marche bien mais pas les autres, elle disparaissent mais le score ne s'incrémente pas.

Je ne vois pas trop comment faire j'ai essayer beaucoup de choses et rien ne marche.

Merci pour votre aide :)

hapliniste
hapliniste
Niveau 9
05 juin 2013 à 21:03:24

Tu es sur que ça fait disparaître les capsules? Parceque ton Destroy(this.GameObject) détruit le script de ton perso si je me trompe pas.

Il faut le changer en Destroy(collision.GameObject) :ok:

230Volt
230Volt
Niveau 8
05 juin 2013 à 21:13:08

cela me détruisais les capsules, mais j'ai essayer ta méthode donc juste de changer ce que tu as marqué et j'obtiens ces 3 erreurs

Assets/Scripts/ObjectCollect.cs(25,33): error CS0103: The name `collision' does not exist in the current context

Assets/Scripts/ObjectCollect.cs(25,25): error CS1502: The best overloaded method match for `UnityEngine.Object.Destroy(UnityEngine.Object)' has some invalid arguments

Assets/Scripts/ObjectCollect.cs(25,25): error CS1503: Argument `#1' cannot convert `object' expression to type `UnityEngine.Object'

je les comprends mais du coup je ne sais pas par quoi remplacer

hapliniste
hapliniste
Niveau 9
06 juin 2013 à 00:05:50

ah ouais, faut essayer de comprendre le code, pas de simplement copier/coller :noel:

J'ai pas pris le nom de tes objets, c'était juste pour l'exemple :ok:

Je crois que ce serait plus un truc dans ce style, mais j'ai pas testé :(
En gros, tu teste si le tag (de l'objet collisionné) est "Caps" et si oui, tu augmente le score et supprime l'objet touché :oui: (other est le nom de l'objet touché dans ce cas)

void OnTriggerEnter(other Collider)
{
if(other.tag == "Caps")
{
Score ++;
Destroy(other.gameObject);
}
}

230Volt
230Volt
Niveau 8
06 juin 2013 à 02:24:35

j'ai testé et compris le code j'ai déjà essayé cette façon, les capsule se détruise bien mais Score ne s’incrémente qu'une seule fois..

J'ai essayé en Javascript ( Tuto formation-facile sur youtube) et ça fonctionne niquel donc pour le moment je garde le JS qui fonctionne mais j'aimerai quand même comprendre pourquoi ça ne marche pas en C#

Shorinji
Shorinji
Niveau 9
07 juin 2013 à 09:24:45

Quand tu dis que le score ne s'incremente pas, il ne s'incremente ni dans l'inspector ni dans la GUI?

230Volt
230Volt
Niveau 8
07 juin 2013 à 13:39:32

oui aucun des deux, en fait il ne s'incrémente qu'une seule fois, dans la GUI et dans l'inspector, c'est ça qui est louche.

Shorinji
Shorinji
Niveau 9
07 juin 2013 à 15:07:55

C'est bizarre.
Je pense que tu devrais debuger en mettant un point d'arret dans la fonction OnTriggerEnter, pour voir si tu pesses bien dedans.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware