Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/21: Рейтинг темы: голосов - 21, средняя оценка - 4.86
0 / -1 / 0
Регистрация: 08.03.2017
Сообщений: 159

Редактирование кода C#

08.09.2017, 15:40. Показов 4466. Ответов 14

Студворк — интернет-сервис помощи студентам
Помогите редактировать код. Надо подкорректировать Random. А также, при добавлении скрипта на объект в юнити(привязка к объекту), выходит ошибка PLEASE FIX COMPILE ERRORS BEFORE CREATING NEW SCRIPT COMPONENTS, как её решить?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System;
 
public class GameScript : MonoBehaviour {
 
    
    public int ScoreBoss1 = 999;
    public int ScoreBoss2 = 99999;
    public int ScoreBoss3 = 99999999;
    public int ScoreBoss4 = 999999999;
 
    public GameObject Boss1;
    public GameObject Boss2;
    public GameObject Boss3;
    public GameObject Boss4;
 
    public GameObject Boss1Btn;
    public GameObject Boss2Btn;
    public GameObject Boss3Btn;
    public GameObject Boss4Btn;
 
    public Text ScoreTextBoss1;
    public Text ScoreTextBoss2;
    public Text ScoreTextBoss3;
    public Text ScoreTextBoss4;
 
    public GameObject MoneyIcon;
 
    public void IconMoneyDown ()
    {
        int Rand = System.Random.Range (-300, 300);
        Instantiate (MoneyIcon, MoneyIcon.transform.position = new Vector3(0, Rand, 0)) as GameObject;
    }
 
    void Update ()
    {
        ScoreTextBoss1.text = ScoreBoss1.ToString() + "HP";
        ScoreTextBoss2.text = ScoreBoss2.ToString() + "HP";
        ScoreTextBoss3.text = ScoreBoss3.ToString() + "HP";
        ScoreTextBoss4.text = ScoreBoss4.ToString() + "HP";
    }
    // Update is called once per frame
    public void ScoreMinusBoss1 (){
        ScoreBoss1 -= 1;
        if (ScoreBoss1 == 0) DestoryBoss1();
    }
 
    public void ScoreMinusBoss2 ()
    {
        ScoreBoss2 -= 1;
        if (ScoreBoss2 == 0) DestoryBoss2();
    }
 
    public void ScoreMinusBoss3 ()
    {
        ScoreBoss3 -= 1;
        if (ScoreBoss3 == 0) DestoryBoss3();
    }
 
    public void ScoreMinusBoss4 ()
    {
        ScoreBoss4 -= 1;
        if (ScoreBoss4 == 0) DestoryBoss4();
    }
 
    public void SelectBoss1 ()
    {
        ScoreTextBoss1.enabled = true;
        ScoreTextBoss2.enabled = false;
        ScoreTextBoss3.enabled = false;
        ScoreTextBoss4.enabled = false;
        Boss1.SetActive(true);
        Boss2.SetActive(false);
        Boss3.SetActive(false);
        Boss4.SetActive(false);
    }
 
    public void SelectBoss2 ()
    {
        ScoreTextBoss1.enabled = false;
        ScoreTextBoss2.enabled = true;
        ScoreTextBoss3.enabled = false;
        ScoreTextBoss4.enabled = false;
        Boss1.SetActive(false);
        Boss2.SetActive(true);
        Boss3.SetActive(false);
        Boss4.SetActive(false);
    }
 
    public void SelectBoss3 ()
    {
        ScoreTextBoss1.enabled = false;
        ScoreTextBoss2.enabled = false;
        ScoreTextBoss3.enabled = true;
        ScoreTextBoss4.enabled = false;
        Boss1.SetActive(false);
        Boss2.SetActive(false);
        Boss3.SetActive(true);
        Boss4.SetActive(false);
    }
 
    public void SelectBoss4 ()
    {
        ScoreTextBoss1.enabled = false;
        ScoreTextBoss2.enabled = false;
        ScoreTextBoss3.enabled = false;
        ScoreTextBoss4.enabled = true;
        Boss1.SetActive(false);
        Boss2.SetActive(false);
        Boss3.SetActive(false);
        Boss4.SetActive(true);
    }
 
    public void DestoryBoss1 ()
    {
        DestoryBoss1();
    }
 
    public void DestoryBoss2 ()
    {
        DestoryBoss2();
    }
 
    public void DestoryBoss3 ()
    {
        DestoryBoss3();
    }
 
    public void DestoryBoss4 ()
    {
        DestoryBoss4 ();
    } 
 
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.09.2017, 15:40
Ответы с готовыми решениями:

Редактирование кода
Есть код генерации сочетаний из n по m.Но в этом коде n - это числа (1,2, и т.д) m(число) .Но мне нужно n-символы(типа а б в)Вот пытаюсь...

Редактирование кода
Есть код программы: /* Задача: Характеристикой столбца матрицы назовем сумму его отрицательных элементов, имеющих нечетные...

Редактирование кода
Здравствуйте, нужна ваша помощь, есть код, где можно добавить текст по нажатию кнопки, но я не знаю как добавить кнопку, которая будет...

14
 Аватар для Prog_maker
459 / 403 / 153
Регистрация: 23.01.2011
Сообщений: 1,054
08.09.2017, 20:37
Я честно говоря ваш непонятный код не в первой теме вижу ))).скиньте ваш проект и объясните толком что вы хотите вообще сделать? Я думаю ваш код можно реально упростить используя массивы.
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
08.09.2017, 20:42
Disaine, Это что еще за хрень?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public void DestoryBoss1 ()
    {
        DestoryBoss1();
    }
 
    public void DestoryBoss2 ()
    {
        DestoryBoss2();
    }
 
    public void DestoryBoss3 ()
    {
        DestoryBoss3();
    }
 
    public void DestoryBoss4 ()
    {
        DestoryBoss4 ();
    }
0
 Аватар для wmysterio
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
08.09.2017, 20:54
Проблема не с Random, а с кодом.
C#
1
Instantiate (MoneyIcon, MoneyIcon.transform.position = new Vector3(0, Rand, 0)) as GameObject;
Подозрительный код. Попробуйте так что ли:
C#
1
2
var obj = GameObject.Instantiate<GameObject>( MoneyIcon );
obj.transform.position = new Vector3(0, Rand, 0);
И за это:
C#
1
2
3
4
    public void DestoryBoss1 ()
    {
        DestoryBoss1();
    }
надо бить по рукам Бесконечная ресурсия получится. Приложение зависнет, если вызвать методы с префиксом "DestoryBoss".
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
08.09.2017, 21:55
wmysterio, я ему уже говорил про рекурсию ))) но проблема всё равно в рандоме )))
0
0 / -1 / 0
Регистрация: 08.03.2017
Сообщений: 159
09.09.2017, 00:01  [ТС]
Спасибо. А как исправить "Ресурсию"? И что это такое вообще? Бесконечный цикл?

Добавлено через 1 минуту
Цитата Сообщение от Prog_maker Посмотреть сообщение
Я честно говоря ваш непонятный код не в первой теме вижу ))).скиньте ваш проект и объясните толком что вы хотите вообще сделать? Я думаю ваш код можно реально упростить используя массивы.
Я уже делал похожее, но меня послали. Сказали идти и учить язык. А вот что я не понимаю, спросил у вас. Может я какой-то ошибки не заметил, либо вообще не знаю о таком.
0
 Аватар для wmysterio
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
09.09.2017, 08:49
Цитата Сообщение от Disaine Посмотреть сообщение
И что это такое вообще?
Если говорить кратко, то это когда функция вызывает сама себя. Если в ней нет условия выхода, то она начинает вызываться бесконечно.
Цитата Сообщение от Disaine Посмотреть сообщение
А как исправить "Ресурсию"?
В даном случае так:
C#
1
2
3
4
public void DestoryBoss1 ()
    {
        //DestoryBoss1(); заменить на логику удаления, типа GameObject.Destroy( какой-то объект );
    }
Цитата Сообщение от Disaine Посмотреть сообщение
Сказали идти и учить язык
Нужно знать хотябы основы: понятия литерала, переменной и константы; понятие методов ( функций ); понятие типа; знать как работают условия и циклы; далее большой раздел про ООП; изучение основных алгоритмов; и последнее - умение создавать собственные алгоритмы. Если хотя бы одно из этого Вам не известно, то тогда Вам действительно лучше подучить язык прежде, чем садиться за разработку приложений. Вы просто не сможете нормально написать программу, а попытка скопировать код рано или поздно приведёт к ошибкам и без этих знаний ничего не останется, как обращаться на форумы И под "подучить" я подразумиваю не зазубрить термины, а когда тыкнув в какой-то участок кода Вы уже знали, что это переменная, это метод а это класс и т.п.
0
0 / -1 / 0
Регистрация: 08.03.2017
Сообщений: 159
09.09.2017, 14:48  [ТС]
Цитата Сообщение от Disaine Посмотреть сообщение
выходит ошибка PLEASE FIX COMPILE ERRORS BEFORE CREATING NEW SCRIPT COMPONENTS, как её решить?
А что на счет этого?
0
 Аватар для wmysterio
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
09.09.2017, 17:43
Цитата Сообщение от Disaine Посмотреть сообщение
А что на счет этого?
Говорит полно синтаксических ошибок. Другими словами тыкаете код туда, куда не нужно. В 4-ом посте я показал где одна из них.
0
0 / -1 / 0
Регистрация: 08.03.2017
Сообщений: 159
10.09.2017, 15:33  [ТС]
Цитата Сообщение от wmysterio Посмотреть сообщение
var obj = GameObject.Instantiate<GameObject>( MoneyIcon );
obj.transform.position = new Vector3(0, Rand, 0);
wmysterio, Я изменил на
C#
1
2
3
int Rand = System.Random.Range(-300, 300);
        var obj = GameObject.Instantiate<GameObject>(MoneyIcon);
        obj.transform.position = new Vector3(0, Rand, 0);
Теперь выходит ошибка
Ошибка CS0117 "Random" не содержит определение для "Range"
В чем может быть проблема? Как это исправить?

Добавлено через 15 секунд
Цитата Сообщение от wmysterio Посмотреть сообщение
var obj = GameObject.Instantiate<GameObject>( MoneyIcon );
obj.transform.position = new Vector3(0, Rand, 0);
Я изменил на
C#
1
2
3
int Rand = System.Random.Range(-300, 300);
        var obj = GameObject.Instantiate<GameObject>(MoneyIcon);
        obj.transform.position = new Vector3(0, Rand, 0);
Теперь выходит ошибка
Ошибка CS0117 "Random" не содержит определение для "Range"
В чем может быть проблема? Как это исправить?
0
 Аватар для wmysterio
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
10.09.2017, 15:44
Лучший ответ Сообщение было отмечено Disaine как решение

Решение

Цитата Сообщение от Disaine Посмотреть сообщение
В чем может быть проблема?
Чёрным по белому написано:
не содержит определение для "Range"
Другими словами: нет метода "Range" у класса "System.Random". Попробуйте написать:
C#
1
int Rand = UnityEngine.Random.Range(-300, 300);
0
0 / -1 / 0
Регистрация: 08.03.2017
Сообщений: 159
10.09.2017, 15:57  [ТС]
Да, заработало, спасибо!
0
0 / -1 / 0
Регистрация: 08.03.2017
Сообщений: 159
11.09.2017, 15:58  [ТС]
Простите за беспокойство ещё раз. Как мне добавить предмету массу? Надо, чтобы у объекта была масса. Это случаем не в префаб надо?
C#
1
2
3
int Rand = UnityEngine.Random.Range(-300, 300);
        var obj = GameObject.Instantiate<GameObject>(MoneyIcon);
        obj.transform.position = new Vector3(0, Rand, 0);
Добавлено через 15 секунд
Простите за беспокойство ещё раз. Как мне добавить предмету массу? Надо, чтобы у объекта была масса. Это случаем не в префаб надо?
C#
1
2
3
int Rand = UnityEngine.Random.Range(-300, 300);
        var obj = GameObject.Instantiate<GameObject>(MoneyIcon);
        obj.transform.position = new Vector3(0, Rand, 0);
0
Каждому свое
 Аватар для Bretbas
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
11.09.2017, 16:09
Disaine, физическую массу? За это отвечает встроенный компонент RigidBody
0
0 / -1 / 0
Регистрация: 08.03.2017
Сообщений: 159
11.09.2017, 16:24  [ТС]
Что-то не получается! Вот код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void Start()
    {
        IconMoneyDown();
    }
 
    public void IconMoneyDown ()
    {
        for (int i = 0; i < 9999; i++)
        {
            int Rand = UnityEngine.Random.Range(-300, 300);
            var obj = GameObject.Instantiate<GameObject>(MoneyIcon);
            obj.transform.position = new Vector3(0, Rand, 0);
        }
        
    }
Внизу будет картинка с Unity.
Я хотел сделать так, чтобы этот объект появлялся рандомно и падал вниз по y, желательно, чтобы он крутился в воздухе, то это не важно. Почему объект не спавнится и не падает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.09.2017, 16:24
Помогаю со студенческими работами здесь

Редактирование кода
У меня есть код Visual Basic: Private Sub CommandButton1_Click() Open &quot;C:\Курсовая\matr.txt&quot; For Input As #1 Open...

Редактирование кода
Для задания мне необходимо : • Подготовить демонстрацию изменения на стороне клиента кода страницы (кода, ответственного за проверку...

Редактирование кода
Добрый день. Необходимо переделать код: 1)size по условию должен задаваться пользователем в консоли 2)Двоичное число должно...

Редактирование кода
В общем такая проблема. Код написан в visual studio, а мне надо чтобы он работал в Dev-C без предупреждений/ошибок. Помогите с...

Редактирование кода
Добрый вечер господа и дамы) Мне нужно немного подредактировать мою программу, использую для этого HIEW. Вот в чём вопрос: я могу с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru