एक खिलाड़ी है, जिसे बटन क्लिक करने पर लक्ष्य वस्तु की ओर बढ़ना चाहिए।

अब मैं फंक्शन Shoot() पर अपने बटन में जस्ट ऑनक्लिक का उपयोग कर रहा हूं; और यह तब चलता है जब targetMenu.help == 2 , लेकिन वस्तु प्रति सेकंड एक फ्रेम जाती है और मुझे इसे कुछ बार क्लिक करने की आवश्यकता होती है ताकि यह लक्ष्य तक पहुंच जाए।

दूसरी ओर अगर मैं अपडेट में Shoot(); डालता हूं, तो यह सुचारू रूप से चलता है लेकिन इससे पहले कि मैं बटन क्लिक करूं क्योंकि targetMenu.help == 2 पहले से ही।

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class moveTowards : MonoBehaviour
{
    float speed = 5.0f;
    public Transform target;

    public void Update()
    {

    }

    public void Shoot()
    {
        if (targetMenu.help == 2)
        {
            transform.LookAt(target);

            transform.position += transform.forward * speed * Time.deltaTime;
            Debug.Log(targetMenu.help);
        }

        if (targetMenu.help == 4)
        {
            transform.LookAt(target);

            transform.position += transform.forward * speed * Time.deltaTime;

            targetMenu.help = 5;

            Debug.Log(targetMenu.help);
        }
    }
}
-1
Arek Marcjanik 10 सितंबर 2020, 12:19

1 उत्तर

सबसे बढ़िया उत्तर

आपको कोरआउटिन का उपयोग करने और वहां से अपना कोड चलाने या अपडेट को सशर्त बनाने की आवश्यकता है।

सशर्त अद्यतन के लिए स्निपेट

bool isButtonPressed = false;
public void Update()
{
    if(isButtonPressed)
       Shoot();
}

public void PressedButton()
{
     isButtonPressed = true;
}
1
Tomasz Juszczak 10 सितंबर 2020, 12:28