【问题标题】:Move through a sequence of variables in Haxe在 Haxe 中浏览一系列变量
【发布时间】:2014-12-22 04:51:52
【问题描述】:

老实说,我不知道这个函数是如何被调用的(而且我确信这是一个简单的事情),也不知道我如何有效地搜索它(我在谷歌上搜索时没有找到它)。

我在 Haxe 中有一组名为

的字符串变量
public static var variable01:String;
public static var variable02:String;
public static var variable03:String;

public static function TextContent() 
{
    variable01 = new String("abc");
    variable02 = new String("def");
    variable03 = new String("ghi");
}   

还有一个显示变量中文本的函数

_message = variable01; 
_Dialogue = new FlxText(60, 400, 100, _message);

当用户单击屏幕时,我希望显示中的变量更改为下一个。有没有办法简单地改变变量的数量?我需要能够为另一个对话更改变量的文本,因为这样就会有另一组具有相同模式的变量(text01、text02、text03 等...)

【问题讨论】:

  • 您的代码中似乎有错字。您从不初始化变量 03,并且两次初始化变量 02。 (这是使用数组的另一个原因。)

标签: string variables haxe haxeflixel


【解决方案1】:

当有“一组变量”时,Array 几乎总是一个很好的用例。 要记住当前显示的变量是什么,我们需要一个额外的整数变量(下面的current)来存储数组索引。

public static var variables:Array<String> = ["abc", "def", "ghi"];
public static var current:Int = 0;

//initialize
_Dialogue = new FlxText(60, 400, 100, variables[current]);


//when user clicks
++current;
if (current >= variables.length) { //we don't have that many variables
    current = 0; //reset it to the first one
}
_Dialogue.text = variables[current];

【讨论】:

  • 或者如果你想让它更短一点:_dialogue.text = variables[current++ % variables.length]
猜你喜欢
  • 1970-01-01
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-25
  • 2016-06-06
  • 2021-03-22
相关资源
最近更新 更多