1 Создание стрельбы

using UnityEngine;
using System.Collections;

public class Shooting : MonoBehaviour {
	
	public Transform bullet;			//Префаб патрона
	public int BulletForce = 5000;		//Скорость патрона
	public int CurAmmoCount = 10;		//Текущее кол-во патронов
	public AudioClip Fire;				//Аудиоклип воспроизводящийся во время стрельбы
	public AudioClip Reload;			//Аудиоклип воспроизводящийся во время перезарядки
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () 
	{
		if(Input.GetMouseButtonDown(0)&CurAmmoCount>0)								//Если нажата ЛКМ и кол-во патронов больше 0
		{
			Transform BulletInstance = (Transform) Instantiate(bullet, GameObject.Find("BulletSpawnPoint").transform.position, Quaternion.identity); //Генерится префаб патрона в координатах объекта "BulletSpawnPoint" 
			BulletInstance.rigidbody.AddForce(transform.forward * BulletForce);		//Сгенерированый патрон отправляется вперед со скоростью "BulletForce"
			CurAmmoCount = CurAmmoCount - 1;										//-1 патрон
			audio.PlayOneShot(Fire);												//проигрываем звук выстрела
		}
		if(Input.GetButtonDown("Reload Weapon"))									//Если нажата кнопка Reload Weapon
		{
			CurAmmoCount = 10;														//Число патронов = 10
			audio.PlayOneShot(Reload);												//проигрываем звук перезарядки
		}
	}
}

Комментарии к этому посту

  • 7MaZaHaKa7
    22.10.2013 at 17:22

    Твои уроки лучшие!
    Спасибо 🙂


  • 08.11.2013 at 00:32

    Вроде понял. Но понял больше то что еще учить и учить 🙁


  • keyzzy
    14.11.2013 at 01:55

    У меня небольшой вопрос

    когда задаю направление полета пули AddForce(transform.forward пуля летит вверх.. У вас нет предположения почему это может быть?


  • Глеб
    27.11.2013 at 15:54

    Все норм)


  • BREJNEV
    28.11.2013 at 16:44

    А где скачать звуки стрельбы? Или скажите откуда они взяты? Именно эти звуки…


  • Виталий
    14.12.2013 at 15:24

    У меня почему то не получается.Я нажимаю ЛКМ а патрон не летит а падает вниз.


  • DEX
    12.01.2014 at 21:59

    У меня не проигрывается звук, не подскажешь в чём проблема?


  • beerka
    04.02.2014 at 19:37

    Я всё правильно сделал как ты показывал . Но даже после того когда ты исправил transform всё равно ничего не работает.((( чё мне сделать????


  • Вова
    13.02.2014 at 15:16

    Почему то пули летят не прямо, а в бок. Как это исправить?


  • sasha
    12.04.2014 at 08:25

    beerka тебе надо в конце ставит точку с запятой и всё будет хорошо


  • Роман
    16.04.2014 at 10:21

    keyzzy, у меня была подобная проблема, пуля летела влево, перекинь скрипт на BulletSpawnPoint и крути эту точку, как тебе надо.
    А вобще, если не жалко, можно оружие крутить, но у меня была текстура АК, т.е. просто так не покрутишь.


  • 23.05.2014 at 19:27

    all compiler errors have to be fixed before you can enter play mode
    вот это пишет помогииии


  • Zorro2121
    23.06.2014 at 17:56

    У меня проблемка: скачал скрипт все названия звуков поменял на те котрые у меня, но почему-то пули находятся на одном и том же месте, а из музыки проигрывается только перезарядка


  • Саня-ПРО
    24.08.2014 at 23:49

    Использовать физические пули — плохая затея. Есть же Raycast-ы. Иначе будут пролеты сквозь объекты на слабом железе.


  • Zaber
    11.11.2014 at 18:00

    Если пуля не летит прямо, то сам куб (ствол) вытягиваете в сторону полета пули, разворачиваете персону и прикрепляете к ней исправленный ствол


  • cjartem
    17.07.2015 at 15:15

    у меня не вешается скрипт


  • Viktor
    27.01.2016 at 14:46

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


  • Jokerrr
    27.01.2016 at 14:52

    Жди на канале в течении недели, перепишу урок.


  • Viktor
    27.01.2016 at 15:56

    Спасибо !!!


  • Zombie_KNT
    27.02.2016 at 18:06

    рабочий скрипт на Uniti 5
    using UnityEngine;
    using System.Collections;

    public class Shooting : MonoBehaviour {

    public Transform bullet;
    public int BulletForce = 5000;
    public int CurAmmoCount = 10;
    public AudioClip AudioFire;
    public AudioClip AudioReloadWeapon;

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
    if (Input.GetMouseButtonDown (0) && CurAmmoCount > 0) {
    Transform BulletInstance = (Transform) Instantiate (bullet, GameObject.Find («BulletSpawnPoint»).transform.position, Quaternion.identity);
    Rigidbody bb = BulletInstance.GetComponent();
    bb.AddForce (transform.forward * BulletForce);
    CurAmmoCount—;
    GetComponent().PlayOneShot (AudioFire);
    }
    if (Input.GetButtonDown («ReloadKey»)) {
    CurAmmoCount = 10;
    GetComponent().PlayOneShot (AudioReloadWeapon);
    }
    }
    }


  • Viktor
    15.03.2016 at 13:13

    Вопрос к Zombie_KNT : В последней строке скрипта — GetComponent().PlayOneShot (AudioReloadWeapon); слова — GetComponent воспринимает как ошибку и требует исправления. Как исправить ?



Оставить комментарий