C# 如何逐步使用函数
很抱歉这个奇怪的标题,我只是不知道如何命名这个问题 所以我有这样一个函数C# 如何逐步使用函数,c#,unity3d,C#,Unity3d,很抱歉这个奇怪的标题,我只是不知道如何命名这个问题 所以我有这样一个函数say() 我需要用它好几次。大概是这样的: say("test text 1"); say("test text 2"); say("test text 3"); ... if(Input.GetKeyDown(KeyCode.Space)) { ... } int count = 0; 我需要通过单击空格按钮来更改文本。当然,我需要使用这样的东西: say("test text 1"); say("test
say()
我需要用它好几次。大概是这样的:
say("test text 1");
say("test text 2");
say("test text 3");
...
if(Input.GetKeyDown(KeyCode.Space)) {
...
}
int count = 0;
我需要通过单击空格按钮来更改文本。当然,我需要使用这样的东西:
say("test text 1");
say("test text 2");
say("test text 3");
...
if(Input.GetKeyDown(KeyCode.Space)) {
...
}
int count = 0;
但我不明白如何一步一步地显示文本。例如,如果我点击空格键一次,就会看到“测试文本1”。下一次点击应该会显示“测试文本2”等
我怎样才能意识到这一点?提前感谢。定义一个类字段,如下所示:
say("test text 1");
say("test text 2");
say("test text 3");
...
if(Input.GetKeyDown(KeyCode.Space)) {
...
}
int count = 0;
现在每次空间被击中时:
if(Input.GetKeyDown(KeyCode.Space)) {
say("test text " + count);
count = count + 1;
}
定义一个类字段,如下所示:
say("test text 1");
say("test text 2");
say("test text 3");
...
if(Input.GetKeyDown(KeyCode.Space)) {
...
}
int count = 0;
现在每次空间被击中时:
if(Input.GetKeyDown(KeyCode.Space)) {
say("test text " + count);
count = count + 1;
}
根据您的需要,您可以将不同的文本存储在一个文件夹中,甚至可以这样做 列表示例 队列示例 然后
if(Input.GetKeyDown(KeyCode.Space))
{
// retrieves the first entry in the queue and at the same time
// removes it from the queue
if(texts.Count > 0) say(texts.Dequeue());
}
简易计数器 如果它真的只是有一个不同的int值,那么是的,只需使用一个字段
private int index;
if(Input.GetKeyDown(KeyCode.Space))
{
// uses string interpolation to replace {0} by the value of index
say($"test text {0}", index);
// increase index by one
index++;
}
根据您的需要,您可以将不同的文本存储在一个文件夹中,甚至可以这样做 列表示例 队列示例 然后
if(Input.GetKeyDown(KeyCode.Space))
{
// retrieves the first entry in the queue and at the same time
// removes it from the queue
if(texts.Count > 0) say(texts.Dequeue());
}
简易计数器 如果它真的只是有一个不同的int值,那么是的,只需使用一个字段
private int index;
if(Input.GetKeyDown(KeyCode.Space))
{
// uses string interpolation to replace {0} by the value of index
say($"test text {0}", index);
// increase index by one
index++;
}
此代码:
if(Input.GetKeyDown(KeyCode.Space)) {
...
}
仅适用于Unity,在Visual Studio中,您必须为要执行此操作的任何对象创建一个事件,例如,如果每次按空格键时都要调用一个void,则很容易:(下图)
在Propities窗口中,按bolt图标,然后双击要创建的事件(示例):TextChanged、LocationChanged、MouseMove等
我将在文本框对象上使用KeyDown
现在,在您的代码中,应该生成这个空
在这个空白处,我写下了代码,它看起来是这样的:
(将int n=1放在空隙之前)
现在,每次按下或保持按下空格键时,文本框将填充“测试文本”,并且每次的值将增加1。此代码:
if(Input.GetKeyDown(KeyCode.Space)) {
...
}
仅适用于Unity,在Visual Studio中,您必须为要执行此操作的任何对象创建一个事件,例如,如果每次按空格键时都要调用一个void,则很容易:(下图)
在Propities窗口中,按bolt图标,然后双击要创建的事件(示例):TextChanged、LocationChanged、MouseMove等
我将在文本框对象上使用KeyDown
现在,在您的代码中,应该生成这个空
在这个空白处,我写下了代码,它看起来是这样的:
(将int n=1放在空隙之前)
现在,每次按下或保持按下空格键时,文本框将填充“test text”(测试文本),并且每次的值都将增加1。使用a或偶数如何?使用a或偶数如何?“golobal变量”应为“class field”(类字段)。同时使用$-字符串插值,否则我也会使用此策略,加上费尔多的评论。(也是count++)由于这个问题非常基本,我认为
count++
和$-string插值可能会让他感到困惑,“golobal变量”应该是“class field”。还要使用$-string插值,否则我也会采用这个策略,并添加了Fildor的注释。(也是count++)由于这个问题非常基本,我想count++
和$-字符串插值可能会把他搞糊涂