J'ai un bug que je n'arrive pas à élucider.
En effet lorsque je clique sur le cube, il apparaît bien le pentamino L, mais si je laisse le bouton enfoncé (sans le relâcher) , le pentamino fait un zoom avan jusqu'à prendre tout l'écran, puis redevient petit pour rezoomer vers l'avant en boucle.
Voici une vidéo pour mieux comprendre.
https://youtu.be/IOMeZDQLCnw
J'ai éssayé le code suivant:
Code : Tout sélectionner
if (hit.point.z <= 1.6f)
{
pent.transform.localScale = new Vector3(1.6f, 1.6f, 1.6f);
pent.transform.position = hit.point; // Mettre à jour la position du cube
}
Code : Tout sélectionner
public class clicCube : MonoBehaviour
{
public GameObject cube; // Référence au cube à rendre transparent
public GameObject pent; // Référence au pentaminio à déplacer
private bool isDragging = false;
private void OnMouseDown()
{
if (pent != null)
{
isDragging = true;
}
else
{
Debug.LogWarning("Aucun cube assigné !");
}
cube.GetComponent<Renderer>().enabled = false;
//pent.transform.localScale = new Vector3(1.6f, 1.6f, 1.6f);
}
private void Update()
{
if (isDragging && pent != null)
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out RaycastHit hit))
{
if (hit.point.z <= 1.6f)
{
pent.transform.localScale = new Vector3(1.6f, 1.6f, 1.6f);
pent.transform.position = hit.point; // Mettre à jour la position du cube
}
if ((hit.transform.gameObject.name == "cubeU") || (hit.transform.gameObject.name == "cubeL"))
if (cube != null)
{
cube.SetActive(false); // Désactiver le cube cible
}
}
}
}
private void OnMouseUp()
{
isDragging = false;
}
}
Merci pour votre aide,
A+