[Résolu]Monodev Unity 2018?

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Avatar de l’utilisateur
Silverglade
Messages : 264
Inscription : 04 Août 2012 17:52

[Résolu]Monodev Unity 2018?

Message par Silverglade » 06 Oct 2018 18:56

Bonjour,

Aujourd'hui passé sur unity 2018, j'ai comme désagréable surprise de voir que le Js n'est plus mis en avant ? (clique droit create > c# script, mais pas de js!)
Ce qui se confirme dans monodevelop qui a supprimé l'autocomplétion avec Js (ça fonctionne pas alors qu'en c# oui)! Donc nous force à utiliser c#?!
Quand on est complètement largué avec 4/5 version de retard comme moi, on est censé faire comment pour mettre des scripts Js à jour ?

Ex: Je ne connais pas leurs nouveaux délires du genre "Image" dans le canvas qui n'est plus accessible pour changer l'alpha alors qu'en guiTexture c'était easy.
Que ce soit en Js ou en C#, dès que je lui parle de Image ou de Graphic il me dit 'je c pa c koi dsl'...
C'est qu'un exemple parmi beaucoup d'autres dans mon projet, je me vois pas du tout utiliser visual qui prend trop de place pour ce que j'en fais et que je ne sais pas utiliser, en plus du fait que monsieur me dit de façon zen: "CSharp Unity est inconnu et a été déchargé".

Quelque chose m'échappe totalement ou y'a vraiment un bug dans mes éditeurs ??
Ca commence mal ce changement...
Merci aux aidants :/
Dernière édition par Silverglade le 08 Oct 2018 09:51, édité 1 fois.

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: Monodev Unity 2018?

Message par Liven » 06 Oct 2018 21:21

Ha oui JS, ça a été récement deprecated comme ils disent. D'ailleurs l'éditeur MonoDeveloppe aussi il faut passer par visual studio maintenant.

J'ai jamais utiliser le JS, mais d'après ce que j'ai compris il y a deux choses principale à retenir :

Tu doit définir le type de chacune de tes variable. donc plus de "var", mais il faut dire si c'est un "float", "int"...

Il y a un patern à retenir pour accéder aux différent components de tes object. je te donne quelque exemple.

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // à ajouter pour accéder aux composant de type UI (image / texte / bouton / slider...)

public class NomDeMaClasse : MonoBehaviour
{
    [SerializeField] private Image image; 
    // le [SerializeField] c'est pour que la variable soit visible dans l'inspector
    // dans l'inspector tu glisse l'objet contenant l'image dans le champ (même si l'objet est lui même)
    // note bien la différence de majuscule pour différencier le type de variable et son nom dans le script
   

    void update()
    {
        image.color = Color.red;
        // ainsi tu peux changer la couleur de ton image (idem pour les textes...)
    } 
}
Si jamais l'objet contenant le script n'est pas dans la scène dès le début (qu'il est instancier par la suite par exemple):

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // à ajouter pour accéder aux composant de type UI (image / texte / bouton / slider...)

public class NomDeMaClasse : MonoBehaviour
{
    private GameObject objetContenantImage;
    private Image image; 

    void Awake() // ou Start comme tu veux
    {
        objetContenantImage= GameObject.Find("NomDeLobjet");
        image= objetContenantImage.GetComponent<Image >(); 
        // attention encore au majuscules
        // ces deux fonctions sont gourmandes donc à n'utiliser qu'en awake ou start ou le moins possible en update si vraiment besoin.
    }

    void update()
    {
        image.color = Color.red;
        // ainsi tu peux changer la couleur de ton image (idem pour les textes...)
    } 
}
Et ce principe fonctionne pour accéder aux variables contenu dans d'autres scripts, il suffit de remplacer "Image" par le nom du script auquel on veut accéder.

En gros c'est comme ça que tu accede à tout (il y a une petite particularité pour les système de particule, mais retient déjà ça et revient nous voir si besoin).

Si tu reste sur JS, c'est clair que de moins en moins de monde va pouvoir t'aider. Si t'es en galère sur des cas particuliers peut être que l'auteur du lien que j'ai mis dans ton autre post pourrait te conseiller car il a fait le switch il y a très peut de temps (et c'était du lourd son truc).

Avatar de l’utilisateur
Silverglade
Messages : 264
Inscription : 04 Août 2012 17:52

Re: Monodev Unity 2018?

Message par Silverglade » 07 Oct 2018 01:07

En fait quand j'ai pas le choix j'utilise c#, en soit je connais les bases mais dès que ça devient complexe ça sort de mes compétences lol.
Pour visual studio j'ai tenté mais il reconnais pas la librairie ou je ne sais quoi, je sais pas comment l'importer pour que l'autocomplétion fonctionne et que les nouvelles classes & co soient reconnues, si quelqu'un sait ce qu'il faut importer... ?

Après bêtement je me dis que si je peux le faire dans visual je peux le faire dans Monodev aussi ? loul

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: Monodev Unity 2018?

Message par Liven » 07 Oct 2018 10:28

Je crains qu'il aille falloir te faire au c# (le JS vraiment c'est mort et ça n'a aucune chance de s'arranger).
C'est juste quelques habitudes à prendre pour les déclarations et les liens entre composants.
Si tu te plonge dans la doc et les formations C# tu verras qu'il y a de multiples possibilités pas toujours faciles à comprendre ou a mettre en oeuvre (genre les héritages, les coroutines...), mais en fait on peux quasi tout faire avec des "if" et des "for" (de façon moins opti/élégante, mais de façon fonctionnelle quand même pour commencer).

Pour visual studio :
  • désinstalle la version 2018.2 et visual studio que tu a installé.
  • Installe Unity 2018.2 par le unity hub (dans le menu "install") normalement le hub te téléchargera et te configurera visual studio et ces liens avec unity 2018
  • Puis va chercher ton projet à ouvrir (dans le menu "open" du hub)

Avatar de l’utilisateur
Deceleris
Messages : 57
Inscription : 25 Juil 2018 22:06
Contact :

Re: Monodev Unity 2018?

Message par Deceleris » 07 Oct 2018 12:06

Salut, quand je suis passé du js au c#, j'ai du réapprendre à coder. Pour moi le mieux ça à été de suivre des tutos de jeux entiers pour me donner les bases de son fonctionnement, enft, c'est tout bonnement que je n'avait pas le courage d'apprendre par la documentation :mrgreen: mais c'est pas plus mal.

Après dès que j'ai eu les bases j'ai commencé à me tourner vers les forums pour avoir des réponses sur les bugs, sur les pourquoi du comment de comment faire, pas très français mais t'as compris.

Et maintenant je me tourne finalement sur la doc pour en apprendre un peut plus et parfois gagner du temps sur des blocks de codes récurrent.

Ce n'est que mon avis, mais tu aurait du passer au c# plus tôt parce que ducoup tu te retrouves en faces d'un mûr. Maintenant je te conseillerait de commencer avec des tutos de jeux entiers, c'est assez ludique en fonction des youtubeurs, au final ça ressemble à des cours mais l'avantage derrière c'est qu'à la fin tu te retrouves avec un jeux jouable que tu peut modifier et explorer.

je t'en colle quelques uns ici qui m'on bien aidé :

Un jeux top down avec des vagues d'énnemis
https://youtu.be/SviIeTt2_Lc

Un candy crush like
https://youtu.be/QcXoKw-RRgk

Je pense que ça pourras t'aider x)
Travail actuellement sur : https://deceleris.itch.io/shadows

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

Re: Monodev Unity 2018?

Message par Max » 07 Oct 2018 12:16

Hello,

Pour le C#, peut-être serait-il déjà simplement bon d'en passer par apprendre (ou redécouvrir) les bases ;)
Liens souvent proposés:
apprenez à développer en c#
programmez en oriente objet avec c#
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

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: Monodev Unity 2018?

Message par F@B » 07 Oct 2018 14:15

le changement ça en dérange certains mais globalement c'est vraiment bénéfique et une demande des usagers.

- Pour l'UI mon dieu ! heureusement que la nouvelle est arrivé (depuis longtemps) et elle est bien meilleure !
- pour le JS, bon débarras, Unity explique ça très bien : https://blogs.unity3d.com/2017/08/11/un ... he-sunset/ en principe passer de l'un a l'autre n'est pas bien compliqué....

Quand a VS et sa version gratuite il est pas bien lourd je trouve?

" Que ce soit en Js ou en C#, dès que je lui parle de Image ou de Graphic il me dit 'je c pa c koi dsl'..."
je vois pas de quoi tu parles?

un petit tour sur unity learn pour te mettre a jour ferait pas de mal ;)
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Avatar de l’utilisateur
Silverglade
Messages : 264
Inscription : 04 Août 2012 17:52

Re: Monodev Unity 2018?

Message par Silverglade » 07 Oct 2018 19:27

Helloooo!

Merci pour toute la doc, je crois que j'ai de quoi faire pendant un moment.. :lol:
Pour le image et graphic c'est juste que je cherchais à rester en js, du coup ce que je connaissais en Js genre GetComponent("Image") n'existe plus et devient la même syntaxe ou presque que le c#, en js. De quoi devenir fou.
Donc ouai, je vais devoir me mettre vraiment au c# :roll:
J'ai déjà les bases vu que je bidouillais souvent des scripts c# donc on va dire que ce sera un gain de temps sur l'apprentissage, par contre dès que c'est du public, de la création de classe, de classe dans la classe, de l’algorithme d'optimisation etc.. je suis paumé.
Il faut que j'apprenne la syntaxe aussi. Un animation.Play() devient GetComponent<Animation>().Play en Js... surement le même délire en c#. Pourquoi compliquer les chooooses... :hehe:
Fin breeef merci pour vos liens et encouragements directs et indirects, ça motive ::d :super:

Pour VS oui j'ai parlé trop vite, à peine 1.5go, par contre le hub? C'est quoi? Pourquoi installer par ça et pas de façon classique ? J'aimerais éviter d'avoir des trucs inconnus sur ma machine et avoir une surprise un jour :gene:

Avatar de l’utilisateur
Liven
Messages : 268
Inscription : 30 Nov 2017 01:48

Re: Monodev Unity 2018?

Message par Liven » 07 Oct 2018 20:18

Le unity hub est une sorte de "lanceur". C'est un truc officiel, rien à craindre c'est pas un truc à la con ou bidouillé comme ça.

En gros ça te permet de gérer tes différentes versions de unity (celle que tu utilise au quotidien plus la version beta du moment par exemple), de pouvoir installer la dernière version de unity sans avoir à courir après sur internet, sans avoir à télécharger l'installeur (en gros une nouvelle version, tu l'installe en quasi un click) et puis tu a la liste des versions installées donc pour désintaller les versions que tu utilise plus, pareil un clic depuis le hub.
Et puis tu peux lancer en un click tes différents projets sans avoir à les chercher à droite à gauche, sans avoir à te souvenir sur quelle version de untity ils sont... Bref c'est vraiment vraiment pratique, je le conseil, en plus c'est facile à utilisé une fois que t'as compris le principe.

En plus quand tu créé un nouveau projet par le unity hub tu peux choisir entre différent template (2D / 3D / 3D avec différent pipeline - ce dernier point doit pas te dire grand chose, mais c'est une des dernière grosse évolution de unity) en plus tu peux choisir d'y intégrer directement des assets de ton choix.

Bref c'est vraiment un outils indispensable quand tu y a goûter.

Avatar de l’utilisateur
Silverglade
Messages : 264
Inscription : 04 Août 2012 17:52

Re: Monodev Unity 2018?

Message par Silverglade » 07 Oct 2018 20:41

Si au final j'ai l’auto complétion à jour moi ça me suffit.. ::d
Je suis quand même vraiment à la bourre quoi!

Répondre

Revenir vers « Unity le logiciel »