probleme de build avec input.touch et nouveau input system

Toutes les questions sur le développement Mobile, y compris la partie script.
siriusraine
Messages : 34
Inscription : 01 Mars 2017 21:53

probleme de build avec input.touch et nouveau input system

Message par siriusraine » 11 Jan 2022 19:10

Bonjour

J'ai un soucis lors du build de mon projet. Le code qui suit marche bien en Mode Editor avec remote mais lorsque je build je nai plus de detection des touchs

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using UnityEngine.InputSystem;
using PlayFab;
using PlayFab.ClientModels;
using TMPro;
using Newtonsoft.Json;
using UnityEngine.EventSystems;

public class gameManangerScript : MonoBehaviour
{
    public GameObject Perso;
    private Rigidbody persoRigidBody;
    private PlayerInput playerInput;
    private PlayerController playerController;

    public bool dejaUneCible;
    public GameObject tuileCiblee;

    GameObject[] cameraContainer;

    public TMP_Text retour;



    private void Awake()
    {
        persoRigidBody = Perso.GetComponent<Rigidbody>();
        playerInput = Perso.GetComponent<PlayerInput>();

        playerController = new PlayerController();
        playerController.deplacement.Enable();
        cameraContainer = GameObject.FindGameObjectsWithTag("cameraControlerGO");
        retour.text = "debut";
    }


    // Update is called once per frame
    void FixedUpdate()
    {
        


        #region deplacement // ceci marche bien 
        Vector2 inputVector = playerController.deplacement.move.ReadValue<Vector2>();
        float speed = 8f;
        persoRigidBody.AddForce(new Vector3(inputVector.x, 0, inputVector.y) * speed, ForceMode.Force);

        
        
        #endregion

        #region selection tuile // TODO le block raycast par UI 

        for (int i = 0; i< Input.touchCount; i++ )  // ceci ne marche pas 
        {
            retour.text = "ca touche l'ecran " ;
            RaycastHit hit;
            Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position);
            if (Physics.Raycast(ray,out hit) )
            {
                Debug.Log(hit.collider.name);
                if (hit.collider.tag == "Tuiles")
                {
                    retour.text = "ca touche " + hit.collider.name;
                    if (hit.collider.GetComponent<tuilemanager>().retournable && !dejaUneCible)
                    {
                        tuileCiblee = hit.collider.gameObject;
                        tuileCiblee.GetComponent<tuilemanager>().target = true;
                        tuileCiblee.GetComponent<tuilemanager>().enRotation = true;
                        dejaUneCible = true;
                        if (hit.collider.GetComponent<tuilemanager>().occupee)
                        {
                            Perso.GetComponent<persoControlerScript>().enRotation = true;
                            cameraContainer[0].GetComponent<cameraManagerScript>().enRotation = true;
                        }
                    }
                }
                if (hit.collider.tag != "Tuiles" && tuileCiblee.GetComponent<tuilemanager>().enRotation == false )
                {
                    tuileCiblee.GetComponent<tuilemanager>().target = false;
                    tuileCiblee = null;
                    dejaUneCible = false;
                }
            }
            else if ( tuileCiblee != null && tuileCiblee.GetComponent<tuilemanager>().enRotation == false)
            {
                tuileCiblee.GetComponent<tuilemanager>().target = false;
                tuileCiblee = null;
                dejaUneCible = false;
            }
            
        }
        if (Input.touchCount == 0 && tuileCiblee != null && tuileCiblee.GetComponent<tuilemanager>().enRotation == false)
        {
            tuileCiblee.GetComponent<tuilemanager>().target = false;
            tuileCiblee = null;
            dejaUneCible = false;
        }
        


        #endregion

    }
}
je sais que le code est un peu long mais je ne voulais pas enlever quoique ce soit pour vous montrer l'integrité au cas ou le probleme viens d'ailleurs

merci d'avance

Bilu
Messages : 91
Inscription : 20 Nov 2019 09:24

Re: probleme de build avec input.touch et nouveau input system

Message par Bilu » 03 Fév 2022 22:30

Bonsoir,

J'avoue ne pas avoir regardé ton code entièrement mais j'ai eu le même problème recement.
Est-ce que tu as bien bien un "event system" dans ton "hierarchy" ? Personnellement, mon soucis venait de là

Répondre

Revenir vers « Développement plateformes mobile Iphone et Android »