Содержание
- Помогите пожалуйста! Написал в юнити скрипт, а он выдаёт ошибку CS1002. Что делать? Скрипт внизу.
- Assets standard assets utility simpleactivatormenu cs 3 21 error cs1002 expected
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Re: Объявление локальной переменной в методе — error CS1002
- Code fix for CS1002: «; expected» #30238
- Comments
Помогите пожалуйста! Написал в юнити скрипт, а он выдаёт ошибку CS1002. Что делать? Скрипт внизу.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveCam : MonoBehaviour <
public float mouseX;
// Use this for initializating
void Start () <
// Update is called once per frame
void Update () <
mouseX = Input.GetAxis («Mouse X»);
if (mouseX != 0) <
transform.Rotate (0f, mouseX, 0f)
>
>
>
можеш помочь и мне у меня похожая ситуация
using UnityEngine;
using System.Collections;
public class Click : MonoBehaviour
<
public UnityEngine.UI.Text gpc;
public UnityEngine.UI.Text goldDisplay;
public float gold = 0.00f;
public float goldperclick = 1;
void Start()
<
goldperclick = 1;
>
void Update()
<
<
goldDisplay.text = pick + » picks»;
gpc.text = pickperclick + » Picks/Click(PPC)»;
>
public void Clicked()
<
gold += goldperclick;
>
Помогите пожалуйста! Написал в юнити скрипт, а он выдаёт ошибки Что делать?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Hero : MonoBehaviour <
void Start () <
rb = GetComponent ();
>
void Update () <
if (Input.GetKeyDown (KeyCode.Space)) <
pipirka ();
>
void FixedUpdate()`<
rb.velocity = nev Vector2 (Input.GetAxis («Horizontal») * 12f, rb.velocity.y);
>
void pipirka()<
rb.AddForce (transform.up * 14f,ForceMode2D.Impulse);
>
>
Источник
Assets standard assets utility simpleactivatormenu cs 3 21 error cs1002 expected
RefractoR 06 июл 2010, 12:30
public static Color ColourBlink ( Color color1, Color color2, float speed ) <
private float tm += Time. deltaTime ;
return Color. Lerp ( color1, color2, Mathf. PingPong ( tm * speed, 1.0f ) ) ;
Re: Объявление локальной переменной в методе — error CS1002
Zaicheg 06 июл 2010, 12:43
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 12:44
Re: Объявление локальной переменной в методе — error CS1002
DbIMok 06 июл 2010, 13:07
Re: Объявление локальной переменной в методе — error CS1002
gnoblin 06 июл 2010, 13:10
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 13:34
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 13:37
public static Color ColourBlink ( Color color1, Color color2, float speed ) <
private float tm ;
return Color. Lerp ( color1, color2, Mathf. PingPong ( tm * speed, 1.0f ) ) ;
Re: Объявление локальной переменной в методе — error CS1002
DbIMok 06 июл 2010, 14:34
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 17:08
Re: Объявление локальной переменной в методе — error CS1002
Zaicheg 06 июл 2010, 17:17
Re: Объявление локальной переменной в методе — error CS1002
Zaicheg 06 июл 2010, 17:20
Также констукция вида «float tm += Time.deltaTime;» бессмыслена и является ошибкой. Фактически, Вы прибавляете число к значению несуществующей переменной. И даже если компилятор бы переваривал эту конструкцию, то вы бы получали значение, тождественное предложенному Вам » float tm = Time.deltaTime;»
Если я тут что-то криминальное сказал — Дымок поправит, как тру-программист
Re: Объявление локальной переменной в методе — error CS1002
DbIMok 06 июл 2010, 17:29
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 17:41
Re: Объявление локальной переменной в методе — error CS1002
Zaicheg 06 июл 2010, 17:54
Напишит, что Вы хотите получать в переменной tm (и для чего), и мы решим эту проблему.
Если вам нужно каждый кадр прибавлять к tm некое значение Time.deltaTime, то объявляйте (создавайте) переменную вне метода, а в методе уже прибавляйте Time.deltaTime.
Если вы хотите каждый кадр получать в tm значение равное Time.deltaTime, то делайте tm = Time.deltaTime.
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 18:03
Источник
Code fix for CS1002: «; expected» #30238
I’d like a code fix that inserts the semicolon for me.
The text was updated successfully, but these errors were encountered:
The fix should also support CS1003, CS1513, CS1043 and maybe other related compiler errors. See also #23326 and search in that issue for ‘expected’ to find more candidates.
#23326 and search in that issue for ‘expected’ to find more candidates.
Thanks for the link. Is that supposed to be kept as an updated list of compiler diagnostics and issues or code fixes for them? if so, it would be nice for this to exist somewhere in Roslyn where anyone could contribute to that.
That spreadsheet is very nice, but I think it might be a good idea to make a textual form of this or something that people can contribute to.
I went through the excel sheet and this is what I came up with. The fixer can be made to support these error codes:
Error | Error code | Errortext |
---|---|---|
ERR_SemicolonExpected | CS1002 | ; expected |
ERR_CloseParenExpected | CS1026 | ) expected |
ERR_RbraceExpected | CS1513 | > expected |
ERR_LbraceExpected | CS1514 | < expected |
ERR_InExpected | CS1515 | ‘in’ expected |
ERR_ExpectedContextualKeywordOn | CS0743 | Expected contextual keyword ‘on’ |
ERR_ExpectedContextualKeywordEquals | CS0744 | Expected contextual keyword ‘equals’ |
ERR_ExpectedContextualKeywordBy | CS0745 | Expected contextual keyword ‘by’ |
There is also the more general
Error | Error code | Errortext |
---|---|---|
ERR_SyntaxError | CS1003 | Syntax error, ‘<0>‘ expected |
This one has some complications (e.g. the character needs to be transported from the compiler to the fixer via the diagnostic) and needs careful planing (maybe a separate CodeFix).
There are some errors that come up with alternatives:
Error | Error code | Errortext |
---|---|---|
ERR_SemiOrLBraceOrArrowExpected | CS8180 | < or ; or =>expected |
ERR_SemiOrLBraceExpected | CS1043 | < or ; expected |
ERR_ThisOrBaseExpected | CS1018 | Keyword ‘this’ or ‘base’ expected |
ERR_BadVarDecl | CS1528 | Expected ; or = (cannot specify constructor arguments in declaration) |
ERR_InvalidArray | CS0178 | Invalid rank specifier: expected ‘,’ or ‘]’ |
These might be usefull to consider depending on how often they appear. If any of these are supported the CodeFix should be implemented to support alternative fixes (nested CodeActions).
Error | Error code | Errortext |
---|---|---|
ERR_ReturnExpected | CS0161 | ‘<0>‘: not all code paths return a value |
This one could insert a return ; and place the cursor between return and ; but I’m not sure that such a fix would be a good idea.
Error | Error code | Errortext |
---|---|---|
ERR_UnexpectedCharacter | CS1056 | Unexpected character ‘<0>‘ |
This one could offer to delete the unexpected character.
While technically all of this is possible, the team needs to decide whether it is usefull to offer such fixes at all. These errors come up quite often and there is the danger that such fixes would clutter the context menu.
Источник
Объявление локальной переменной в методе — error CS1002
Объявление локальной переменной в методе — error CS1002
Использую отдельный класс для хранения глобальных переменных. В нем есть такой метод:
Используется csharp
public static Color ColourBlink (Color color1, Color color2, float speed) {
private float tm += Time.deltaTime;
return Color.Lerp(color1, color2, Mathf.PingPong(tm * speed, 1.0f));
}
Постоянно получаю ошибку error CS1002: Expecting `;’ и ссылается на ту линию, где регистрирую локальную переменную. Как это объяснить?
- RefractoR
- UNIт
- Сообщения: 50
- Зарегистрирован: 05 ноя 2009, 16:31
- Откуда: Краснодар
-
- ICQ
Re: Объявление локальной переменной в методе — error CS1002
Zaicheg 06 июл 2010, 12:43
Я не особо разбираюсь в этих ваших программированиях, но прибавлять значение к переменной, которой ещё не присвоено значение — это не что-то странное? По-моему, надо private float tm = Time.deltaTime;
-
Zaicheg - Адепт
- Сообщения: 3024
- Зарегистрирован: 19 июн 2009, 15:12
- Откуда: Череповец
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 12:44
Да, до этого я сначала инициализировал переменную, потом прибавлял, но эффект тот же. Ничего не понимаю…
- RefractoR
- UNIт
- Сообщения: 50
- Зарегистрирован: 05 ноя 2009, 16:31
- Откуда: Краснодар
-
- ICQ
Re: Объявление локальной переменной в методе — error CS1002
DbIMok 06 июл 2010, 13:07
float tm = Time.deltaTime;
это то к чему вы стремитесь )
какой эффект вы хотите получить? локальная переменная будет жить только локально, сколько private не пиши. += при объявлении не имеет смысла.
-
DbIMok - Адепт
- Сообщения: 6321
- Зарегистрирован: 31 июл 2009, 14:05
Re: Объявление локальной переменной в методе — error CS1002
gnoblin 06 июл 2010, 13:10
Это объясняется тем, что в строке private float tm += Time.deltaTime;
бред
-
gnoblin - Адепт
- Сообщения: 4633
- Зарегистрирован: 08 окт 2008, 17:23
- Откуда: Минск, Беларусь
- Skype: madkust
-
- Сайт
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 13:34
gnoblin, ну конечно бред, особенно когда посты не читаем. Я же писал, что пробовал инициализировать сначала, а потом прибавлять, но эффект тот же. Мне не нужно присваивать, мне нужно прибавлять, т.к это таймер для работы Mathf.PingPong. Здесь можно просто использовать Time.time, но мне нужно обнулять переменную, т.е инициализировать снова, потому и делаю так.
- RefractoR
- UNIт
- Сообщения: 50
- Зарегистрирован: 05 ноя 2009, 16:31
- Откуда: Краснодар
-
- ICQ
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 13:37
Даже если забыть про назначение функции и сделать так, то ошибка продолжает выводиться. Так понятней?
Используется csharp
public static Color ColourBlink (Color color1, Color color2, float speed) {
private float tm;
return Color.Lerp(color1, color2, Mathf.PingPong(tm * speed, 1.0f));
}
- RefractoR
- UNIт
- Сообщения: 50
- Зарегистрирован: 05 ноя 2009, 16:31
- Откуда: Краснодар
-
- ICQ
Re: Объявление локальной переменной в методе — error CS1002
DbIMok 06 июл 2010, 14:34
что нам должно быть понятней. бред продолжается. бред уже само название темы. что обозначает private? то что переменная доступна только методам класса. все переменные объявленные в функции, доступны только внутри нее.
-
DbIMok - Адепт
- Сообщения: 6321
- Зарегистрирован: 31 июл 2009, 14:05
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 17:08
Ладно, закрывайте тему. Разберусь сам или на другом ресурсе. Всем спасибо
- RefractoR
- UNIт
- Сообщения: 50
- Зарегистрирован: 05 ноя 2009, 16:31
- Откуда: Краснодар
-
- ICQ
Re: Объявление локальной переменной в методе — error CS1002
Zaicheg 06 июл 2010, 17:17
Рефрактор, суть в следующем (если я правильно понял).
Вы объявили переменную внутри метода. Она по определению не может быть доступна где-то вне этого метода.
Значит, модификаторы уровня доступа (в частности, private) при объявлении этой переменной не имеют смысла. Поэтому они рассматриваются компилятором как синтаксические ошибки. В частности, автодополнение не предлагает эти модификаторы в своих вариантах (попробуйте).
Объявляйте свою переменную просто «float tm»
-
Zaicheg - Адепт
- Сообщения: 3024
- Зарегистрирован: 19 июн 2009, 15:12
- Откуда: Череповец
Re: Объявление локальной переменной в методе — error CS1002
Zaicheg 06 июл 2010, 17:20
Также констукция вида «float tm += Time.deltaTime;» бессмыслена и является ошибкой. Фактически, Вы прибавляете число к значению несуществующей переменной. И даже если компилятор бы переваривал эту конструкцию, то вы бы получали значение, тождественное предложенному Вам » float tm = Time.deltaTime;»
Если я тут что-то криминальное сказал — Дымок поправит, как тру-программист
-
Zaicheg - Адепт
- Сообщения: 3024
- Зарегистрирован: 19 июн 2009, 15:12
- Откуда: Череповец
Re: Объявление локальной переменной в методе — error CS1002
DbIMok 06 июл 2010, 17:29
конечно ваша раздраженная реакция на попытки помочь здесь никого не радует. если вы и впредь будете так себя вести, то в лучшем случае ваши вопросы будут игнорироваться. надо быть спокойнее и дружелюбнее, не упорствовать в своих заблуждениях, обвиняя других в непонимании. правильный путь — написать я хочу сделать так-то, как это сделать лучше.
-
DbIMok - Адепт
- Сообщения: 6321
- Зарегистрирован: 31 июл 2009, 14:05
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 17:41
раздражение? извините, конечно, но естественно мне неприятно, когда мои посты называют бредом. При объявлении без значения компилятор ругается на ссылку на несуществующую переменную. А если инициализировать со значением (т.е float tm = 0.0f;), то не происходит изменение переменной, т.к функция вызывается каждый кадр. Я не знаю, как сделать инициализацию переменной (естественно локальной, т.к внутри метода и я знаю что значит private, а использовал не там где надо из-за того, что перепробовал все способы и думал, что в этом проблема)
- RefractoR
- UNIт
- Сообщения: 50
- Зарегистрирован: 05 ноя 2009, 16:31
- Откуда: Краснодар
-
- ICQ
Re: Объявление локальной переменной в методе — error CS1002
Zaicheg 06 июл 2010, 17:54
Напишит, что Вы хотите получать в переменной tm (и для чего), и мы решим эту проблему.
Если вам нужно каждый кадр прибавлять к tm некое значение Time.deltaTime, то объявляйте (создавайте) переменную вне метода, а в методе уже прибавляйте Time.deltaTime.
Если вы хотите каждый кадр получать в tm значение равное Time.deltaTime, то делайте tm = Time.deltaTime.
-
Zaicheg - Адепт
- Сообщения: 3024
- Зарегистрирован: 19 июн 2009, 15:12
- Откуда: Череповец
Re: Объявление локальной переменной в методе — error CS1002
RefractoR 06 июл 2010, 18:03
Создание переменной вне метода будет работать..но мне нужно обнулять этот таймер при первом вызове функции. Мне надо каким-то образом внутри метода прописать инициализацию — часть, которая только единожды будет вызываться. Сделать что-то типа Start в монобехе, но внутри метода
- RefractoR
- UNIт
- Сообщения: 50
- Зарегистрирован: 05 ноя 2009, 16:31
- Откуда: Краснодар
-
- ICQ
Вернуться в Скрипты
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
I went through the excel sheet and this is what I came up with. The fixer can be made to support these error codes:
Error | Error code | Errortext |
---|---|---|
ERR_SemicolonExpected | CS1002 | ; expected |
ERR_CloseParenExpected | CS1026 | ) expected |
ERR_RbraceExpected | CS1513 | } expected |
ERR_LbraceExpected | CS1514 | { expected |
ERR_InExpected | CS1515 | ‘in’ expected |
ERR_ExpectedContextualKeywordOn | CS0743 | Expected contextual keyword ‘on’ |
ERR_ExpectedContextualKeywordEquals | CS0744 | Expected contextual keyword ‘equals’ |
ERR_ExpectedContextualKeywordBy | CS0745 | Expected contextual keyword ‘by’ |
There is also the more general
Error | Error code | Errortext |
---|---|---|
ERR_SyntaxError | CS1003 | Syntax error, ‘{0}’ expected |
This one has some complications (e.g. the character needs to be transported from the compiler to the fixer via the diagnostic) and needs careful planing (maybe a separate CodeFix).
There are some errors that come up with alternatives:
Error | Error code | Errortext |
---|---|---|
ERR_SemiOrLBraceOrArrowExpected | CS8180 | { or ; or => expected |
ERR_SemiOrLBraceExpected | CS1043 | { or ; expected |
ERR_ThisOrBaseExpected | CS1018 | Keyword ‘this’ or ‘base’ expected |
ERR_BadVarDecl | CS1528 | Expected ; or = (cannot specify constructor arguments in declaration) |
ERR_InvalidArray | CS0178 | Invalid rank specifier: expected ‘,’ or ‘]’ |
These might be usefull to consider depending on how often they appear. If any of these are supported the CodeFix should be implemented to support alternative fixes (nested CodeActions).
Error | Error code | Errortext |
---|---|---|
ERR_ReturnExpected | CS0161 | ‘{0}’: not all code paths return a value |
This one could insert a return ;
and place the cursor between return
and ;
but I’m not sure that such a fix would be a good idea.
Error | Error code | Errortext |
---|---|---|
ERR_UnexpectedCharacter | CS1056 | Unexpected character ‘{0}’ |
This one could offer to delete the unexpected character.
While technically all of this is possible, the team needs to decide whether it is usefull to offer such fixes at all. These errors come up quite often and there is the danger that such fixes would clutter the context menu.