Мне нужна помощь, чтобы исправить следующий код, чтобы иметь возможность стрелять, когда пуля при касании кнопки огня 1 не работает, когда я использую Unity Remote на своем мобильном телефоне
Шаги
- Назначил скрипт Player Shoot для GameObject
- нажмите на кнопку в сцене, перейдите к инспектору. и добавьте событие OnClick, перетащите игровой объект, на котором есть скрипт, и выберите функцию Fire ().
- использование удаленного приложения unity на мобильном телефоне, когда кнопка огня не работает
Код, который я использую ... как следующий:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class PlayerShoot : MonoBehaviour {
public GameObject Ammo; // the shot
GameObject FiredShot;
public AudioClip bcgMusic;
public List<GameObject> ShotsOnAir;
//public AudioClip sound1; // Use this for initialization
void Start (){
ShotsOnAir = new List<GameObject>();
}
//void Update (){
// Fire ();
//}
public void Fire(){
if (Input.GetButtonDown ("Fire1")){
FiredShot = (GameObject)Instantiate(Ammo,transform.position,transform.rotation);
ShotsOnAir.Add(FiredShot);
AudioSource.PlayClipAtPoint (bcgMusic, transform.position);
}
if(ShotsOnAir != null){
int i=0;
foreach (GameObject GB in ShotsOnAir){
ShotsOnAir[i].transform.position += ShotsOnAir[i].transform.forward * 200 * Time.deltaTime;
i++;
}
}
}
}
0
Sa'ad Qasaymeh
5 Янв 2018 в 03:14
2 ответа
Лучший ответ
Input.GetButton () не работает на мобильных устройствах
Вам необходимо использовать Input.touches
/ Input.GetTouch()
вместо этого
1
Draco18s no longer trusts SE
5 Янв 2018 в 00:17
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class PlayerShoot : MonoBehaviour {
public GameObject Ammo; // the shot
public GameObject FiredShot;
public AudioClip bcgMusic;
public List<GameObject> ShotsOnAir;
//public AudioClip sound1; // Use this for initialization
void Start (){
ShotsOnAir = new List<GameObject>();
}
//void Update (){
// Fire ();
//}
public void Fire(){
//if (Input.touches ("Fire1")){
if (Input.touchCount > 0 ){
FiredShot = (GameObject)Instantiate(Ammo,transform.position,transform.rotation);
ShotsOnAir.Add(FiredShot);
AudioSource.PlayClipAtPoint (bcgMusic, transform.position);
}
if(ShotsOnAir != null){
int i=0;
foreach (GameObject GB in ShotsOnAir){
ShotsOnAir[i].transform.position += ShotsOnAir[i].transform.forward * 10000 * Time.deltaTime;
i++;
}
}
}
}
0
Sa'ad Qasaymeh
5 Янв 2018 в 00:34
Похожие вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.