enter image description hereI have followed the tutorial on how to make a game of Brackeys from YouTube and I’m stuck on video no. 7 and I can’t figure out how to resolve the problem. Please help.
link to tutorial
The code is at 7:36
using UnityEngine;
using UnityEngine UI;
public class Score : MonoBehaviour
{
public Transform player;
public Text scoreText;
void Update()
{
scoreText.text = player.position.z.ToString("0");
}
}
asked May 12, 2020 at 4:31
4
First, check the second line of your code. using UnityEngine UI;
appears to missing a period between UnityEngine
and UI
. I believe this is the core of your problem and is causing the other two errors to pop up. The line should be using UnityEngine.UI;
.
Regardless, here is an explanation on how to figure out the route of a problem like this.
Please see the following two links for information regarding your two error codes. Remember that these are always available via a quick Google search:
- CS1002: this error signifies that you are missing a semicolon (;). I C#, a semicolon is required at the end of almost all lines. Looking at your code, the missing semicolon is not within this specific code block, so it must be elsewhere in your code. To find it, the easiest method is ton go to the Unity Console Window and double click the error line or look for the script location and line number in the message. Either of these should bring you close to where the missing semicolon is.
- CS0116: This error signifies the a namespace that contains something other than a class, struct, or other namespace. This means that the structure of your code is flawed. Again go to to the error and see if you can find the script that this is contained in. Then review the structure and ensure that there aren’t any areas where a something like a method falls outside of your class (this is common and would mean that you placed a method directly into a namespace, which will result in CS0116.
Hope this helps!
Edit: thinking a minute more on the logic here and it’s 100% the second line. Imagine how the compiler would interpret this. What it really see’s when you miss that period is «two lines»
using UnityEngine
UI;
So it’s looking at this and saying two things:
- You’re missing a semicolon after
using UnityEngine
- You’re to do something in the namespace area before your class that is not allowed
Kinda interesting when you think about why it is telling you that you have both of those errors.
answered May 12, 2020 at 6:22
JeeJee
9691 gold badge7 silver badges26 bronze badges
1
The error is in the second line of your code:
using UnityEngine;
using UnityEngine UI;
Should be changed to:
using UnityEngine;
using UnityEngine.UI;
You need a period to access another Namespace within the UnityEngine Namespace.
answered Jul 22, 2020 at 18:24
Ошибка CS1002 — это синтаксическая ошибка в коде программы, которая возникает при компиляции. Она говорит о том, что компилятор ожидает определенный символ, но вместо него получил другой или ничего не получил.
Причины ошибки CS1002
Такая ошибка может возникать по нескольким причинам:
- Неправильное использование скобок, кавычек или других символов.
- Ошибки в написании ключевых слов, переменных, функций и т. д.
- Неправильный порядок операторов и их аргументов.
Примеры ошибки CS1002
// Ошибка компиляции из-за неправильного использования скобок
Debug.Log("Hello, world!";
// Ошибка компиляции из-за неправильной расстановки операторов
int health = 100 +;
// Ошибка компиляции из-за неправильной записи переменной
int healt = 100;
Как избежать ошибки CS1002
Ошибки CS1002 можно избежать, следуя простым правилам:
- Правильно использовать скобки, кавычки и другие символы.
- Проверять написание ключевых слов, переменных, функций и т. д.
- Соблюдать правильный порядок операторов и их аргументов.
- Тщательно проверять код на наличие ошибок перед компиляцией.
Заключение
Ошибка CS1002 является одной из наиболее распространенных ошибок при написании кода в Unity. Она может быть легко избежана, если следовать правилам написания кода и тщательно проверять свой код на наличие ошибок перед компиляцией. Если ошибка все же произошла, необходимо тщательно проанализировать код и исправить ошибки, чтобы программа компилировалась без ошибок.
Recommended
Speed up your PC today with this easy-to-use download.
Over the past few days, some of our users have reported error cs1002.
g.The compiler encountered an expired semicolon. When using C #, a semicolon is required at the end of each statement. An instruction can be multiple lines.
g.
Recommended
Is your PC running slow? Do you have problems starting up Windows? Don’t despair! ASR Pro is the solution for you. This powerful and easy-to-use tool will diagnose and repair your PC, increasing system performance, optimizing memory, and improving security in the process. So don’t wait — download ASR Pro today!
Attempt to create a new instance of each MortgageData object along the way.
What does the stack overflow error cs1002 mean?
: (- Stack overflow error CS1002 :; Expected – I have a semicolon .: (I am trying to create a new instance of the “MortgageData” object. I keep getting the error CS1002 :: Expected with the class name underlined in red after the original.
instance name of class name = new class name (arg1, arg2, arg3, arg4);
MortgageData is something equal to MortgageData (ID, Principal, Apr, Deadline);
Keep readingError CS1002:. Expected with the class name below, underlined in red after the new one. I am using Visual Studio 2008.
Learn More:
This error usually occurs in C # code where there are fewer semicolons or fewer parentheses on the master page, causing the compiler to crash. Make sure the C # method renders correctly on the page.
I did this because @ code is missing a check mark in the foreground sheet. Add parentheses to solve the problem.
Hello, I just started learning Unity and C #, but I get this error: Assets StandardAssets Characters FirstPersonCharacter Scripts PLAYER.cs (18,27): error CS1002 :; expected
Compilation
Description:An error occurred while collecting a resource required to deliver this request. Review the following error details and modify your main source code accordingly.
How do I fix unity error cs1002 expected?
Compiler Error CS1002: Frequency:; expected
Source error:
|
Source file: c: WINDOWS Microsoft.NET Framework v2.0.50727 Temporary ASP.NET files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.0.cs Line: 1551 Warning
Compiler messages:
Warning: CS0168: variable ‘_tax’ is declared but rarely used
Source error:
c: Inetpub wwwroot Mahall Forms AmountSettlement.aspx.cs |
|
Warning: CS0168: variable is expressed in the form «_nettotal» but never used
Source error:
c: Inetpub wwwroot Mahall Forms AmountSettlement.aspx.cs |
|
How do I fix cs0246 error?
There are two solutions that can cause this error. First — stimprove the namespace name to deal with the existing one. The second option is to fix the custom namespace you created.
Show verbose com outputpiler:
Id = compilerOutputDiv
C: WINDOWS system32> "C: WINDOWS Microsoft.NET Framework v3.5 csc.exe" / t: library / utf8output / R: "C: WINDOWS assembly GAC_MSIL System .IdentityModel 3.0.0.0__b77a5c561934e089 System.IdentityModel.dll "/R:"C:WINDOWSassemblyGAC_MSILSystem.Drawing2.0.0.0__b03f5f7f11d50a3aSystem.Drawing.dll" Build WINDOWS " " WMSSystem .Web.Extensions 3.5.0.0__31bf3856ad364e35 System.Web.Extensions.dll" /R:"C:WINDOWSassemblyGAC_MSILSystem.WorkflowServices3.5.0.0__31bf3856ad364e35System .WorkflowServices Dll "/:": WINDOWS assembly GAC_32 System.EnterpriseServices 2.0.0.0__b03f5f7f11d50a3a System.EnterpriseServices.dll "/R:"C:WINDOWSassemblyGAC_MSILSystem.Data.DataSetSetExtensions .0.0__b77a5c561934e089 System.Data.DataSetExtensions.dll "/R:"C:WINDOWSassemblyGAC_MSILSystem.Xml2.0.0.0__b77a5c561934e089System.Xml.dll" / R: "C: WINDOWS. assembly GAC_MSIL System.Web.Mobile 2.0.0.0__b03f5f7f11d50a3a System.W eb.Mobile.dll "/ R:" C: WINDOWS assembly GAC_MSIL System 2.0.0.0__b77 a5c56 1934e089 System.dll " /R:"C:WINDOWSassemblyGAC_MSILSystem.Xml.Linq 3.5.0.0__b77a5c561934e089 System.Xml.Linq.dll "/ R:" C: WINDOWS Microsoft. NET Framework v2.0.50727 mscorlib.dll "/R:"C:WINDOWSMicrosoft.NETFrameworkv2.0.50727 ASP.NET Temporary Files mahall 61b28278 4470085c App_Web_jphxmu7c.dll" / R: "C: WINDOWS assembly GAC_32 System.Data 2.0.0.0__b77a5c561934e089 System.Data.dll "/ R:" C: WINDOWS assembly GAC_MSIL System.ServiceModel.Web 3.5.0.0__31bf3856ad364e35 System. ServiceModel.Web.dll "/R:"C:WINDOWSassemblyGAC_MSILSystem.ServiceModel3.0.0.0__b77a5c561934e089System.ServiceModel.dll" /R:"C:WINDOWSassemblyGAC_MSILSystem.Coniguration 2.0.0.0__b03f5f7f11d50a3a System.Configuration.dll "/R:"C:WINDOWSassemblyGAC_MSILSystem.Runtime.Serialization3.0.0.0__b77a5c561934e089System.Runtime.Serialization.dll" / R: "C: WINDOWS assembly GAC_MSIL System.Core 3.5.0.0__b77a5c561934e089 System.Core.dll "/ R:" C: WINDOWS assembly GAC_MSIL System.Web.Services 2.0.0.0__b03f5f7f11d50a3ab S ystem.Web .Services.dll "/ R: "C: WINDOWS assembly GAC_32 System.Web 2.0.0.0__b03f5f7f11d50a3a System.Web.dll" /out:"C:WINDOWSMicrosoft.NETFrameworkv2. 0.50727 Temporary ASP.NET files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.dll "/ debug- / optimize + / w: 4 / nowarn: 1659; 1699; 1701 / warnaserror-" C: WINDOWS Microsoft.NET Framework v2.0.50727 ASP.NET Temporary Files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.0.cs "" C: WINDOWS Microsoft.NET Framework v2.0.50727 ASP.NET Temporary Files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.1.cs "" C: WINDOWS Microsoft. NET Framework v2.0.50727 Temporary ASP.NET Files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.2.cs "Microsoft (R) Visual C # 2008 Compiler version 3.5.30729.1for Microsoft (R) .NET Framework version 3.5Copyright (C) Microsoft Corporation. All rights reserved.c: Inetpub wwwroot Mahall Forms AmountSettlement.aspx.cs (22.60): Warning CS0168: flexible '_tax' declared but usedc: Inetpub wwwroot Mahall Forms AmountSettlement.aspx.cs (22,74): Warning CS0168: variable '_nettotal' is probably declared but never usedc: WINDOWS Microsoft.NET Framework v2.0.50727 ASP.NET Temporary Files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.0.cs (1551,17): Error CS1002 :; expectedc: WINDOWS Microsoft.NET Framework v2.0.50727 ASP.NET Temporary Files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.0.cs (1551,17): CS1525 Error: Invalid The range of expression '.'c: WINDOWS Microsoft.NET Framework v2.0.50727 ASP.NET Temporary Files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.0.cs (1551.18): CS1002 Error: - - expectedc: WINDOWS Microsoft.NET Framework v2.0.50727 ASP.NET Temporary Files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.0.cs (1559.17): Error CS1002 :. expectedc: WINDOWS Microsoft.NET Framework v2.0.50727 Temporary ASP.NET Files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.0.cs (1559.17): CS1525 error: gesture concept is invalid '.'c: WINDOWS Microsoft.NET Framework v2.0.50727 ASP.NET Temporary Files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.0.cs (1559.18): error CS1002 :; color = "# c0c0c0" expected
blskv1
I know this is an old post, but thought it might be worth adding this concept. I got this error after adding another javascript function to our own .aspx page. I have checked my code and have checked most of all and I may not have found the problem. This is a pretty straightforward solution. I made a copy my code, useEditing .aspx and .aspx.cs articles and removing the entire page from the draft article. Then I recreated the designed page and pasted my code backwards. This is an important note: I didn’t usually copy <@% Page …%>, I asked Visual Studio to recreate it. think My hidden problem was the signs, but I also can’t be sure.
After correcting this process, the project skipped without errors. I just thought I’d leave this for anyone as annoyed as me.
Good programming!
B.
blskv1
I know there is an old post here, but I thought I should add this information. I got this error after adding a javascript function to my husband and my .aspx page. I have checked and duplicated most of my code and may not be able to find the problem. This can be a pretty simple copy solution from my code for .aspx and .aspx.cs posts and removed the whole page from part of my project. Then I recreated the created page and added support for my code in <@% Page …%>, in particular, I have Visual Studio to emulate this. think My hidden probesThe lema was in the signs, but I still can’t say for sure.
What is error cs1026?
Incomplete statement found. A common cause of this error is the output of a statement instead of an expression from an inline expression in an ASP.NET document. For example, the following is incorrect: copy of ASP.NET (C #).
After this fix, the project worked without errors. I just thought I would throw it to anyone as worried as I am.
Good programming!
B.
Speed up your PC today with this easy-to-use download.
How do I fix error CS0117?
To fix standard error CS0117, remove the links you want to create that are not normally defined in the base classes.
How do I fix cs0246 error?
There are only two solutions to this error. The main reason is to correct the name as well as the namespace to match the pre-existing «why». The second is to fix the custom namespace that was created.
What is error cs1003?
What a mistake you missed; somewhere for your code. However, you obviously do not have it; corn . There is really nothing special to look out for in the future, follow the instructions immediately and try to get this syntax error.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account
Closed
chegor0 opened this issue
Jul 15, 2021
· 2 comments
Labels
area-tutorials
Issues related to getting started tutorials
needs-more-info
Not enough information has been provided. Please share more detail as requested.
Comments
// Unity said that i have a 1002 error when i created
// public void CompleteLevel () and Debug.Log(«LEVEL WON!»);
using UnityEngine;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour {
bool gameHasEnded = false;
public float restartDelay = 1f
public void CompleteLevel ()
{
Debug.Log("LEVEL WON!");
}
public void EndGame ()
{
if (gameHasEnded == false)
{
gameHasEnded = true;
Debug.Log("GAME OVER");
Invoke("Restart", restartDelay);
}
}
void Restart ()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
}
There should be ‘;’ after ‘1f’. the compiler gives you the line (8) and line position (65) where this should go.
Seems like you did not put in whole file so the numbering seems off in example above.
This issue has been automatically closed due to no response from the original author. Please feel free to reopen it if you have more information that can help us investigate the issue further.
Labels
area-tutorials
Issues related to getting started tutorials
needs-more-info
Not enough information has been provided. Please share more detail as requested.
2 participants
Содержание
- Showing error in CS1002 and CS0116 in C# script in Unity Engine
- 2 Answers 2
- Visual Studio keeps saying «error CS1002: ; expected» [closed]
- 3 Answers 3
- Помогите пожалуйста! Написал в юнити скрипт, а он выдаёт ошибку CS1002. Что делать? Скрипт внизу.
- An Easy Way To Fix Error Cs1002
- Recommended
- Recommended
- What does the stack overflow error cs1002 mean?
- Learn More:
- Compilation
- How do I fix unity error cs1002 expected?
- Is there an error cs1002 expected in Unity Forum?
- blskv1
- blskv1
- What is error cs1026?
- How do I fix error CS0117?
- How do I fix cs0246 error?
- What is error cs1003?
- Отображение ошибки в CS1002 и CS0116 в сценарии C # в Unity Engine
- 2 ответа
Showing error in CS1002 and CS0116 in C# script in Unity Engine
enter image description hereI have followed the tutorial on how to make a game of Brackeys from YouTube and I’m stuck on video no. 7 and I can’t figure out how to resolve the problem. Please help.
The code is at 7:36
2 Answers 2
First, check the second line of your code. using UnityEngine UI; appears to missing a period between UnityEngine and UI . I believe this is the core of your problem and is causing the other two errors to pop up. The line should be using UnityEngine.UI; .
Regardless, here is an explanation on how to figure out the route of a problem like this.
Please see the following two links for information regarding your two error codes. Remember that these are always available via a quick Google search:
- CS1002: this error signifies that you are missing a semicolon (;). I C#, a semicolon is required at the end of almost all lines. Looking at your code, the missing semicolon is not within this specific code block, so it must be elsewhere in your code. To find it, the easiest method is ton go to the Unity Console Window and double click the error line or look for the script location and line number in the message. Either of these should bring you close to where the missing semicolon is.
- CS0116: This error signifies the a namespace that contains something other than a class, struct, or other namespace. This means that the structure of your code is flawed. Again go to to the error and see if you can find the script that this is contained in. Then review the structure and ensure that there aren’t any areas where a something like a method falls outside of your class (this is common and would mean that you placed a method directly into a namespace, which will result in CS0116.
Hope this helps!
Edit: thinking a minute more on the logic here and it’s 100% the second line. Imagine how the compiler would interpret this. What it really see’s when you miss that period is «two lines»
So it’s looking at this and saying two things:
- You’re missing a semicolon after using UnityEngine
- You’re to do something in the namespace area before your class that is not allowed
Kinda interesting when you think about why it is telling you that you have both of those errors.
Источник
Visual Studio keeps saying «error CS1002: ; expected» [closed]
This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
Closed 11 months ago .
I am new to coding with C# in unity and am trying to animate an object in unity, but its saying that I need a semicolon but I can’t find where I need one. This is my code:
If you can help me I would be very grateful.
3 Answers 3
In else condition ,
Timereset() doesn’t have ; there should be Timereset();
You seem to be struggling to navigate to an error. I recommend coding in Visual Studio and I think you are doing that already, because you mention «CS1002» which is a VS error. I’ll show you how Visual Studio helps the developer navigate to errors.
In Visual Studio the line number is included in the compiler error message in the «Error List» tab or window of the GUI. A double-clicking on the error message puts my cursor exactly where the error is (line and column).
Additionally, the error is marked with a red squiggly line in the editor window, exactly where the semicolon is expected.
Here is an image indicating the locations of these features. (Of course there are many more irrelevant compiler errors in this example because I simply copied your code without the Unity development environment.)
Источник
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);
>
>
Источник
An Easy Way To Fix Error Cs1002
Table of Contents
Recommended
Over the past few days, some of our users have reported error cs1002.
g.The compiler encountered an expired semicolon. When using C #, a semicolon is required at the end of each statement. An instruction can be multiple lines.
Recommended
Is your PC running slow? Do you have problems starting up Windows? Don’t despair! ASR Pro is the solution for you. This powerful and easy-to-use tool will diagnose and repair your PC, increasing system performance, optimizing memory, and improving security in the process. So don’t wait — download ASR Pro today!
Attempt to create a new instance of each MortgageData object along the way.
What does the stack overflow error cs1002 mean?
: (- Stack overflow error CS1002 :; Expected – I have a semicolon .: (I am trying to create a new instance of the “MortgageData” object. I keep getting the error CS1002 :: Expected with the class name underlined in red after the original.
Keep readingError CS1002:. Expected with the class name below, underlined in red after the new one. I am using Visual Studio 2008.
Learn More:
This error usually occurs in C # code where there are fewer semicolons or fewer parentheses on the master page, causing the compiler to crash. Make sure the C # method renders correctly on the page.
I did this because @ code is missing a check mark in the foreground sheet. Add parentheses to solve the problem.
Hello, I just started learning Unity and C #, but I get this error: Assets StandardAssets Characters FirstPersonCharacter Scripts PLAYER.cs (18,27): error CS1002 :; expected
Compilation
Description:An error occurred while collecting a resource required to deliver this request. Review the following error details and modify your main source code accordingly.
How do I fix unity error cs1002 expected?
Compiler Error CS1002: Frequency:; expected
Is there an error cs1002 expected in Unity Forum?
g.Express your opinion. Do our analysis and let us know. Not open to other answers. Can’t find: and. Max_tallboi loves it Click to view Please use code tags on this page when posting code. NicolasIT likes the idea. Read the error message carefully. semicolon; expected.
Source file: c: WINDOWS Microsoft.NET Framework v2.0.50727 Temporary ASP.NET files mahall 61b28278 4470085c App_Web_amountsettlement.aspx.ba00be51.jfgzpl-k.0.cs Line: 1551 Warning
c: Inetpub wwwroot Mahall Forms AmountSettlement.aspx.cs
blskv1
I know this is an old post, but thought it might be worth adding this concept. I got this error after adding another javascript function to our own .aspx page. I have checked my code and have checked most of all and I may not have found the problem. This is a pretty straightforward solution. I made a copy my code, useEditing .aspx and .aspx.cs articles and removing the entire page from the draft article. Then I recreated the designed page and pasted my code backwards. This is an important note: I didn’t usually copy , I asked Visual Studio to recreate it. think My hidden problem was the signs, but I also can’t be sure.
After correcting this process, the project skipped without errors. I just thought I’d leave this for anyone as annoyed as me.
blskv1
I know there is an old post here, but I thought I should add this information. I got this error after adding a javascript function to my husband and my .aspx page. I have checked and duplicated most of my code and may not be able to find the problem. This can be a pretty simple copy solution from my code for .aspx and .aspx.cs posts and removed the whole page from part of my project. Then I recreated the created page and added support for my code in , in particular, I have Visual Studio to emulate this. think My hidden probesThe lema was in the signs, but I still can’t say for sure.
What is error cs1026?
Incomplete statement found. A common cause of this error is the output of a statement instead of an expression from an inline expression in an ASP.NET document. For example, the following is incorrect: copy of ASP.NET (C #).
After this fix, the project worked without errors. I just thought I would throw it to anyone as worried as I am.
How do I fix error CS0117?
To fix standard error CS0117, remove the links you want to create that are not normally defined in the base classes.
How do I fix cs0246 error?
There are only two solutions to this error. The main reason is to correct the name as well as the namespace to match the pre-existing «why». The second is to fix the custom namespace that was created.
What is error cs1003?
What a mistake you missed; somewhere for your code. However, you obviously do not have it; corn . There is really nothing special to look out for in the future, follow the instructions immediately and try to get this syntax error.
Источник
Отображение ошибки в CS1002 и CS0116 в сценарии C # в Unity Engine
введите описание изображения здесь. Я следил за инструкциями по созданию игры Brackeys из YouTube и я застрял на видео нет. 7 и я не могу понять, как решить проблему. Пожалуйста помоги.
2 ответа
Сначала проверьте вторую строку вашего кода. В using UnityEngine UI; отсутствует точка между UnityEngine и UI . Я считаю, что это суть вашей проблемы и вызывает появление двух других ошибок. Строка должна быть using UnityEngine.UI; .
Тем не менее, вот объяснение того, как определить маршрут такой проблемы .
Пожалуйста, перейдите по следующим двум ссылкам для получения информации о ваших двух кодах ошибок. Помните, что они всегда доступны через быстрый поиск в Google:
- CS1002: эта ошибка означает, что вам не хватает точки с запятой ( ;). В C # точка с запятой требуется в конце почти всех строк. Глядя на ваш код, вы видите, что отсутствующая точка с запятой не находится в этом конкретном блоке кода, поэтому она должна быть в другом месте вашего кода. Чтобы найти его, самый простой способ — это зайти в окно консоли Unity и дважды щелкнуть строку с ошибкой или найти расположение сценария и номер строки в сообщении. Любой из них должен приблизить вас к отсутствующей точке с запятой.
- CS0116: эта ошибка означает пространство имен, которое содержит что-то отличное от класса, структуры или другого пространства имен. Это означает, что структура вашего кода ошибочна. Снова перейдите к ошибке и посмотрите, сможете ли вы найти сценарий, в котором она содержится. Затем просмотрите структуру и убедитесь, что нет никаких областей, где что-то вроде метода выходит за пределы вашего класса (это обычное дело и может означает, что вы поместили метод непосредственно в пространство имен, что приведет к CS0116.
Надеюсь это поможет!
Изменить: подумайте еще немного о логике здесь, и это 100% вторая строка. Представьте, как компилятор это интерпретирует. На самом деле, когда вы пропускаете этот период, вы видите «две строчки».
Итак, он смотрит на это и говорит две вещи:
- После using UnityEngine отсутствует точка с запятой
- Вы должны сделать что-то в области пространства имен перед вашим классом, что запрещено
Довольно интересно, когда вы думаете о том, почему он говорит вам, что у вас есть обе эти ошибки.
Ошибка находится во второй строке вашего кода:
Следует изменить на:
Вам понадобится период для доступа к другому пространству имен в пространстве имен UnityEngine.
Источник
Объявление локальной переменной в методе — 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
Вернуться в Скрипты
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9