Positionner un GameObject dans la hiérarchie (Unity3D)

Alors voilà, mon problème aujourd’hui est de positionner un gameObject fraichement initialisé dans mon script dans la hiérarchie d’un autre gameObject étant devenu son parent (SetParent()).

Pour cela j’ai trouvé la fonction setSiblingIndex() à appliquer sur le « transform » de votre objet à positionner dans la hiérarchie.

Le code :

 public void chargeAllButtonMap(){
        int i = 1;
        foreach (MapInfo mi in Global.param.tableMapInfo) {
            GameObject buttonMap = Instantiate(buttonMapPrefab, Vector3.zero, Quaternion.identity) as GameObject;
            buttonMap.transform.SetParent(mappemonde.transform);
            buttonMap.transform.SetSiblingIndex (1);
            buttonMap.name = "buttonMap_" + i.ToString("D3");
            buttonMap.transform.localPosition = new Vector3 (mi.x, mi.y);
            buttonMap.transform.localScale = new Vector3 (1, 1, 1);

            ActionButonLoadMap ablm = buttonMap.GetComponent<ActionButonLoadMap>();
            ablm.idPartieIs = i.ToString("D3");
            i++;
        }

        buttonIsCharged = true;
    }

Le résultat :

Mes boutons se placent bien à l’index 1 entre Image et AcheterMapPanel. Ils ne seront plus affiché devant mon objet AcheterMapPanel mais bien derrière.

Les facteurs de l’évolution

« Nous sommes dans un monde en constante évolution et pourtant toujours aussi ancré dans ses habitudes. »

Aujourd’hui j’aimerais parler des facteurs régissant l’évolution. Ces facteurs qui nous font reconsidérer notre lendemain avant même de l’avoir vécu.

  • Ce projet qui n’avance pas
  • Cette façon de travailler toujours de la même façon
  • Ces dossiers qui s’accumulent
  • Ces photos qui ne se trient pas toutes seuls
  • Ces VHS qui attendent alignées sur votre étagère
  • Cette boite d’objets inutiles

Mais vous avez aussi de ces réussites qui reviennent à votre mémoire.

  • Les MP3 de l’an 2000 que vous avez fini par supprimer
  • Ces vêtements que vous avez donnés
  • Votre premier téléphone ramené à la déchetterie

Et pourtant …

Quels facteurs dirigent notre évolution ?

Ce peut-être :

  • D’avoir envie de continuer ce projet qui n’avance pas ?
  • De moins bien travailler en changeant nos méthodes ?
  • De perdre des données utiles ?
  • De ne plus pouvoir regarder cette VHS de 1992 si nous la jetons ?
  • De ne plus pouvoir contempler cette collection d’objets intouchées au fond d’une boite à chaussure depuis 10 ans ?

L’esquisse d’une réponse m’est apparu en emménageant dans un peu plus de 40m².

La place. Le confort. Les habitudes.

Plus nous avons de place, plus nous nous sentons confortablement installé et plus nous avons tendance à nous soumettre à nos habitudes.

Que se soit d’accumuler, de stocker, de ranger, de regarder, de consommer, d’acheter, de jouer, de boire, de manger, de travailler, de voyager, notre évolution se limite souvent à quelques facteurs techniques. Dans lequel nous trouvons :

  • Pour l’accumulation et le stockage, la place.
  • Pour le rangement, le confort.
  • Pour la contemplation, le temps, l’environnement.
  • Pour la consommation, l’argent, la place, le choix.
  • Pour le jeu, le temps.
  • Pour le travail, le temps, l’obligation.
  • Pour manger et boire, l’obligation.
  • Pour voyager, le temps, la mobilité.

Mais aussi des facteurs humains comme la crainte, l’envie, le besoin, l’argent. Vous trouverez d’ailleurs toujours l’un de ces facteurs dans chaque publicité.

Évolution : passage successif d’un état à un autre.

Il ne faudrait donc pas se contenter d’évoluer mais aussi de réfléchir à la direction à donner à notre évolution. C’est à dire à évaluer nos facteurs humains et techniques propre puis à se questionner.

 

Comment fermer une fenêtre dans Unity3D ?

Aujourd’hui nous allons essayer de fermer une fenêtre ouverte dans Unity3D. Pour cela il faut une fenêtre ouverte (panel) dans un Canvas.

Problématique :

  • Nous ne voulons pas fermer cette fenêtre (InventoryWindows) d’une quelconque manière mais en appuyant simplement en dehors de celle-ci.
  • Il faut que la fermeture de la fenêtre puisse s’exécuter aussi sur mobile (soit sans curseur de souris).

Dans un premier temps je n’ai pas pensé à adapter cette fonctionnalité à l’utilisation d’un écran tactile. Or, mon premier réflexe a été d’ajouter un contrôle sur un booléen (mouseIsOut), si mouseIsOut vrai alors fermer la fenêtre, sinon ne rien faire. J’ai mis le tout dans la fonction LateUpdate() de la classe définissant la gestion de ma fenêtre. Quand la souris sors du Panel (Event Trigger –  PointerOut) alors on met mouseIsOut à vrai. Au contraire, à l’ouverture du panel ou l’entrée de la souris dans le panel on met mouseIsOut à faux.

Avec cette méthode qui marche très bien sur PC on rencontre bien vite un problème quand on passe sur un écran tactile. En effet, l’écran tactile ne considère pas de curseur tant que notre doit n’est pas en contact avec la surface. On ne peut donc pas détecter la sortie du curseur du Panel à l’aide de l’Event Trigger en mode PointerExit… (Sauf si l’utilisateur déplace son doigt sans le lever de l’intérieur à l’extérieur du panel.

Recherche d’une autre solution :

Pour palier à ce problème j’ai trouvé une solution facile à mettre en œuvre.

  • Faire d’un panel un bouton quitter géant et situé à l’arrière de notre fenêtre.

En bleu (écran + objet actif) vous pouvez voir le panel sur lequel j’ai ajouté un Event Trigger et le script permettant de mettre mouseIsOut à True si il y a détection de clic sur ce panel.

Il vous suffit alors de mettre mouseIsOut à false quand vous ouvrez la fenêtre (ici l’inventaire) et le tour est joué.

Note : vous pouvez aussi détecter si votre fenêtre est active (isActive = true) pour économiser l’utilisation d’un booléen.

Auto-entrepreneur arnaque partie 2

Aujourd’hui nous allons parler du cas pagesjaunes.fr.

Quand vous devenez auto-entrepreneur sans vouloir utiliser votre adresse pour autre chose que de recevoir les courriers des organismes d’état, alors vous allez en baver avec les pages jaunes.

En effet, lors de votre inscription en tant qu’auto-entrepreneur il est notifié sur un site gouvernemental votre adresse de domicile, votre nom ainsi que l’activité exercée par votre entreprise.

Malheureusement pour vous les pages jaunes ont décidé de récupérer l’adresse de création de votre entreprise ainsi que le secteur pour vous créer une page sur leur annuaire en ligne… sans même vous avoir demandé votre accord. Bien entendu pour les contacter un numéro surtaxé vous est indiqué dans le courrier.

Vous pourrez alors essayer de régler le problème avec l’aide de la CNIL en envoyant au contrevenant le message disponible en suivant ce lien.

Mais comme ce serait trop beau pour être vrai voyez le message ci-dessous :

Sur leur site internet ce message après avoir remplie votre formulaire de plainte

Voilà pour ce deuxième volet des arnaques envers les auto-entrepreneur.

Encore du travail ? Travail terminé !

Le travail quand il n’est pas pour nous mais qu’il est destiné à quelqu’un d’autre c’est comme d’offrir un cadeau.

Premièrement si nous ne voulons pas nous même de ce cadeau pourquoi l’autre en voudrait ?

Un mauvais cadeau quel que soit l’emballage que vous mettrez autour, de la même manière qu’un cadeau bien emballé donne envie, le mauvais contenu sera désintéressant. Ainsi, ne passez pas 5 heures à choisir votre police d’écriture, la couleur, les illustrations et les termes employés…

Pour décrire le travail à réaliser. Allez à l’essentiel. Faites quelque chose d’efficace, de succins et qui donne envie d’en découdre ! Ajoutez par exemple deux ou trois objectifs (des jalons) qui mettent au défi d’y arriver, qui montre et permet de vérifier l’état d’avancement. Ne prenez pas cette étape à la légère, aussi bien qu’en assemblant une boîte de lego, le plan de montage et la photo sur la boite doivent vous permettre de savoir où vous vous situez dans la tâche et vous motivez. Le travail donné doit avoir les mêmes caractéristiques.

Deuxièmement si vous n’êtes pas attaché au cadeau que vous offrez pourquoi l’autre le serait plus ?

Montrez votre attachement au travail que vous allez donner, si la personne voit dans vos yeux que l’accomplissement de la tâche vous rendrez plus heureux il aura tendance à le faire avec beaucoup plus d’entrain. Imaginez-vous offrant ce beau vase de chine à votre mère en racontant votre voyage à grand renfort d’image et d’émotion, la semaine suivante il y a toutes les chances que le vase trône au centre du salon garni du plus beau bouquet. Pour déléguer un travail c’est pareil.

Troisièmement et dernièrement si vous faites un cadeau à quelqu’un le connaissez-vous assez ?

Vous n’allez pas offrir une rose à un inconnu dans une ruelle sombre !? Alors ne donner pas un travail conséquent à quelqu’un avant d’apprendre à le connaître !

Aussi bête que cela puisse paraître ce dernier conseil est utilisé dans la publicité comme en politique, nous avons tendance à donner notre argent, notre confiance et notre voix à ceux qu’on pense connaître le mieux et c’est ce que l’on appel raconter une histoire. Ou en anglais le « Story Telling ».