Пятница, 27 Декабря 2024, 03:01

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Проблемы с классами UNITY C#
IkekyДата: Суббота, 07 Апреля 2018, 06:04 | Сообщение # 1
был не раз
Сейчас нет на сайте
скинул код говорит ошибка в 76 строчке , 10 букве : "Class, struct, or interface method must have a return type".

------------------
Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerShoot : MonoBehaviour
{
[Header("Rifle")]
public Rigidbody bullet;
public AudioClip[] RifleAudios;
public Gun[] guns = new Gun[2];
public class Gun{
public string name;
public bool enabled = false;
public GameObject obj;
public GameObject dulo;
public Animator anime;
public int ammo;
public int magazin;
public float Mouse_Sens = 5;
public int ammoempty;
public int minrange;
public int maxrange;
public int Damage;
public float firerate;
public float timefire;
public float dist;
public AudioClip[] audio;
public float timer;
public void Fire(int Irecoilright, int Irecoildown, Transform ICamera, Rigidbody Iobjbul, int _damage, Vector3 p_tr)
{
timer = 0f;
Quaternion bulrotX = Quaternion.AngleAxis(1, Vector3.up + new Vector3(0, Irecoilright, 0));
Quaternion bulrotY = Quaternion.AngleAxis(1, Vector3.right + new Vector3(0, Irecoildown, 0));
Rigidbody bullet = Instantiate(Iobjbul, dulo.GetComponent<Transform>().position, ICamera.rotation * bulrotY * bulrotX);
bullet.AddForce(bullet.GetComponent<Transform>().forward * 7000f);
bullet.GetComponent<BulletChecker>().Damage = _damage;
bullet.GetComponent<BulletChecker>().p_tr = p_tr;
ammo--;
}
public void SoundReload()
{
if (enabled)
{
obj.GetComponent<AudioSource>().clip = audio[0];
obj.GetComponent<AudioSource>().Play();
}
}
public void Reload(){
if (enabled)
{
if (ammo != ammoempty && magazin != 0)
{
if ((magazin / ammoempty).ToString("0") != "0")
{
magazin -= ammoempty - ammo;
ammo += ammoempty - ammo;
SoundReload();
}
else if ((magazin / ammoempty).ToString("0") == "0" && ammo + magazin <= ammoempty)
{
ammo += magazin;
magazin = 0;
SoundReload();

}
else
{
ammo += magazin;
magazin -= magazin;
SoundReload();
}
}
}
}
}
public Gun(string aname, bool _enabled, int aammo, int amagazin, float asense, Animator aanime, GameObject aobj, GameObject adulo, int aammoempty, float afirerate, int adamage, float adist,AudioClip[] _audio)
{
audio = _audio;
name = aname;
aammo = aammo;
enabled = _enabled;
magazin = amagazin;
Mouse_Sens = asense;
anime = aanime;
dulo = adulo;
obj = aobj;
ammoempty = aammoempty;
firerate = afirerate;
Damage = adamage;
dist = adist;
}
public Gun()
{

}
};
Transform Camera;
void Awake () {
Camera = gameObject.transform.GetChild(0).GetComponent<Transform>();
guns[0] = new Gun(RifleAudios,"Rifle", true, 8, 30, 5f, s_anime, s_obj, s_dulo, 8, 0.8f, 70, 5f);
}

void Update (){
foreach(Gun gun in guns)
{
if (gun.enabled)
{
gun.timer += Time.deltaTime;
if (Input.GetButton("Fire1") && gun.timer >= gun.firerate && Time.timeScale != 0)
{
Shoot();
}
}
}
}
}


Сообщение отредактировал Ikeky - Суббота, 07 Апреля 2018, 08:14
vados4266Дата: Суббота, 07 Апреля 2018, 07:10 | Сообщение # 2
частый гость
Сейчас нет на сайте
Используй тег для кода, невозможно читать.
Конструктор находится вне класса Gun, вот ему и кажется что это метод который не возвращает значение.
Вынеси класс в отделый файл, будет проще.


Сообщение отредактировал vados4266 - Суббота, 07 Апреля 2018, 07:16
drcrackДата: Суббота, 07 Апреля 2018, 08:25 | Сообщение # 3
старожил
Сейчас нет на сайте
Цитата
Используй тег для кода, невозможно читать.

Он добавил тег, не помогло :D

Цитата
Проще прочитать код

Нет, не проще, сам читай свой код без единого таба
seamanДата: Суббота, 07 Апреля 2018, 08:33 | Сообщение # 4
старожил
Сейчас нет на сайте
Лишняя скобка в предыдущей строке. Внимательней!!!
ЗЫ: а код действительно невозможно читать.
ЗЗЫ: если сначала тега не было форум уберет все табы. Чтоб было нормально нужно не просто добавить тег, а по новой вставить весь код.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг