Мобильнфе кнопки

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Мобильнфе кнопки

Сообщение NeProUser 28 окт 2018, 17:45

делаю мобильную игру. В данный момент занимаюсь созданием стрельбы. Реализовал таким образом: нажимается кнопка и на оружии переменная типа bool отвечающая за стрельбу принимает значение true, так же и с перезарядкой .
Проблема вот в чём: переменная переключается когда я нажимаю на кнопку НО в когда я её отпускаю в первоначальное состояние не возвращается. Я пробовал сделать это при помощи таймеров - не вышло. Как можно заставить вернуть переменной значение false когда я отпускаю кнопку?
Очередной новичок
Аватара пользователя
NeProUser
UNIт
 
Сообщения: 121
Зарегистрирован: 29 апр 2018, 20:22

Re: Мобильнфе кнопки

Сообщение 1max1 28 окт 2018, 18:10

Хоть бы кусок кода предоставил.
Синтаксис:
Используется csharp
if (Input.GetKeyUp(KeyCodes.R))
{
    reload = false;
}
Последний раз редактировалось 1max1 28 окт 2018, 18:27, всего редактировалось 1 раз.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Мобильнфе кнопки

Сообщение DimaJoke 28 окт 2018, 18:13

именно мобильные?

пробовал сначала на ПК сделать?

типо
Синтаксис:
Используется csharp
if( OnKeyDown(keyKode.Fire)
{
NeedFire = true;
}
if( OnKeyUp(keyKode.Fire)
{
NeedFire = false;
}

 


если работает , то попробуй ассет https://assetstore.unity.com/packages/tools/input-management/simple-input-system-113033 просто где "Input" пиши "SimpleInput" крч там есть доки
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт

Re: Мобильнфе кнопки

Сообщение NeProUser 28 окт 2018, 18:38

Да я пробовал пк и знаю как сделать для пк возникает вопрос только с мобильной кнопкой.
Очередной новичок
Аватара пользователя
NeProUser
UNIт
 
Сообщения: 121
Зарегистрирован: 29 апр 2018, 20:22

Re: Мобильнфе кнопки

Сообщение DimaJoke 28 окт 2018, 18:40

NeProUser писал(а):Да я пробовал пк и знаю как сделать для пк возникает вопрос только с мобильной кнопкой.

так значит на ПК работает... ну скачай ассет и не парься, а если тебе принципиально важно сделать всё самому то Скинь кодом полюбоваться
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт

Re: Мобильнфе кнопки

Сообщение NeProUser 28 окт 2018, 18:45

скрипт оружия (не мой Но мною сильно изменён):
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GunShoot : MonoBehaviour {
       
        public int AmmoCount; //Патронов в обоймах
        public int CurAmmo; //Кол-во патроеов
        public int Ammo; //Кол-во патронов в 1ой обойме
        public int AmmoST;
        public int MinusAmmo;
        public int MaxAmmo;
        public int ForseShoot;
        public AudioClip Fire; // Звук выстрела
        public float ShootSpeed; // Скорострельность
        public float ReloadSpeed; // Скорость Перезарядки
        public AudioClip Reload; // Звук перезарядки
        public float ReloadTimer = 0.0f; // Время перезарядки(НЕ ТРОГАТЬ|НЕ МЕНЯТЬ)
        public float ShootTimer = 0.0f; // Время выстрела(НЕ ТРОГАТЬ|НЕ МЕНЯТЬ
        public Transform bullet; // Патрон
        public GameObject WEAPON;
        public GameObject FireO;
        public GameObject tochka;
        public Text AmmoCountT;
        public Text CurAmmoT;
        public bool isShoot;
        public bool isReload;

        // Use this for initialization
        void Start () {
                MaxAmmo = AmmoCount;
       
        }
       
        // Update is called once per frame
        void Update () {
               

                AmmoCountT.text = "|  " + AmmoCount;
                CurAmmoT.text = "||   " + CurAmmo;
                if (AmmoCount >= AmmoST) {
                        Ammo = AmmoST;
                } else {
                        Ammo = AmmoCount;
                }
                MinusAmmo = Ammo - CurAmmo ;
                if(isShoot == true & CurAmmo>0 &ReloadTimer<=0 &ShootTimer<=0)
{
                        Transform BulletInstance = (Transform) Instantiate(bullet, tochka.transform.position, Quaternion.identity);
                        BulletInstance.GetComponent<Rigidbody>().AddForce(transform.forward * ForseShoot);
  CurAmmo = CurAmmo - 1;
  GetComponent<AudioSource>().PlayOneShot (Fire);
  WEAPON.GetComponent <Animator> ().SetTrigger ("Shoot");
  ShootTimer = ShootSpeed;
                        FireO.SetActive (true);
                         
}
  if(ShootTimer>0)
  {
  ShootTimer -= Time.deltaTime ;

  }
     
                if(isReload == true)
  {
                       
ReloadTimer = ReloadSpeed;
  CurAmmo = Ammo;
                        WEAPON.GetComponent <Animator> ().SetTrigger ("Reload");
                        AmmoCount = AmmoCount - MinusAmmo;
  GetComponent<AudioSource>().PlayOneShot(Reload);
  {
  if(ShootTimer>0)
  {
  ShootTimer -= Time.deltaTime;
  }
  }
  }
   
  if(ReloadTimer>0)
  {
  ReloadTimer -= Time.deltaTime ;
  }
}
}



скрипт кнопки:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class guncontrol : MonoBehaviour {

        public void shoot(GameObject Player){
                Player.GetComponent <GunShoot> ().isShoot = true;
        }
        public void reload(GameObject Player){
                Player.GetComponent <GunShoot> ().isReload = true;
        }
}
Очередной новичок
Аватара пользователя
NeProUser
UNIт
 
Сообщения: 121
Зарегистрирован: 29 апр 2018, 20:22

Re: Мобильнфе кнопки

Сообщение DimaJoke 01 ноя 2018, 21:06

Почему для выстрела используешь булево? Да ещё и Update зас.... Разнести это всё по отдельным ф-ция
А в скрипте кнопок вызывайте ф-цию Fire/Reload и т.п. и т.д.
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 30