Страница 1 из 1

Как реализовать?

СообщениеДобавлено: 24 ноя 2017, 01:41
GvillXqz
Есть код :
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class (name) : MonoBehaviour
{
    public FadeOut FadeOut;
    public ShakingEffect ShakingEffect;
    public float timetoEarthquake = 10f;
    public float distance = 1f;
    public GameObject FadeCanvas;
    public GameObject EarthPlanet;
    public GameObject EarthPlanetInfected;
    public AudioSource AudioSource;
    public AudioClip Earthquake;
    public bool EarthquakeOn = false;

    void Start()
    {
    }

    void Update()
    {

        if (Input.GetKeyDown(KeyCode.E))
        {
            Ray ray = new Ray(transform.position, transform.forward);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit, distance))
            {
                if (hit.collider.CompareTag("Earth"))
                {
                    if (timetoEarthquake <= 0)
                    {
                        EarthquakeOn = true;
                        FadeCanvas.SetActive(true);
                        var FadeOut = gameObject.GetComponent<FadeOut>();
                        FadeOut.enabled = true;
                        AudioSource.PlayOneShot(Earthquake, 1F);
                        var Shake = ShakingEffect.Shake = true;
                        EarthPlanet.SetActive(false);
                        EarthPlanetInfected.SetActive(true);
                    }
                }
            }
        }
    }

Как сделать так,чтобы timetoEarthquake -= Time.deltaTime вычислялся не одноразово по KeyCode.E и хиту по коллайдеру,а пока не будет <= 0

Re: Как реализовать?

СообщениеДобавлено: 24 ноя 2017, 01:51
Pollux
Ввести bool переменную, выставить её true после нажатия кнопки, добавить её проверку в оператор if вместе с Input.GetKeyDown(KeyCode.E) через логический оператор ИЛИ, затем в else условия timetoEarthquake <= 0 обратно возвращать в false

Re: Как реализовать?

СообщениеДобавлено: 24 ноя 2017, 12:38
Woolf
За такие названия тем, надо удалять без комментариев.

Re: Как реализовать?

СообщениеДобавлено: 24 ноя 2017, 18:34
Paul Siberdt
Всем привет, в последнее время совершенно отбился от форума, зато а у меня появилась новая любимая иконка и подходящее настроение...

Изображение

Топикстартеру советую навести в теме марафет. :)

Re: Как реализовать?

СообщениеДобавлено: 24 ноя 2017, 18:39
Cr0c
Paul Siberdt писал(а):Всем привет, в последнее время совершенно отбился от форума, зато а у меня появилась новая любимая иконка и подходящее настроение...

Изображение


Лабиринт отражений, про плюсомёт писал(а):Ствол дёргается, и в сторону торговца со свистом летит алый, светящийся, крестообразный предмет. Прибалт пытается пригнуться, но это бесполезно. Модераторы не промахиваются. На рубашке торговца расплывается огненный крест, или, как принято говорить, «плюс». Три таких плюса — и вход в клуб «Анекдоты» будет для него закрыт навсегда.