我正在学习使用Haxe语言的HaxeFlixel教程.现在我对Haxe没有任何经验,但是我决定勇敢地学习这个教程,因为我有Java和Haxe的经验,因为一种语言似乎与Java非常相似.
到目前为止,情况进展顺利.但是,我遇到了这段代码,我有几个问题:
class FSM
{
public var activeState:Void->Void;
public function new(?InitState:Void->Void):Void
{
activeState = InitState;
}
public function update():Void
{
if (activeState != null)
activeState();
}
}
Run Code Online (Sandbox Code Playgroud)
现在我明白这是一个被调用的类,FSM
并且有一个名为的变量activeState
.
这是我的问题:
是什么类型的activeState
?我会理解是否有类似activeState:Void
但->
完成的内容是什么?它被用作指针吗?它是一个指向另一个void变量的void指针吗?
什么是?
前InitState:Void->Void
意味着什么?
在if语句之后,activeState
使用括号将其称为函数.但是,它activeState
是一个变量而不是一个函数.那么if语句究竟做了什么呢?
还有一个问题:
public var playerPos(default, null):FlxPoint;
Run Code Online (Sandbox Code Playgroud)
我的理解playerPos
是实例FlxPoint
类,但到底是什么的default
和null
做的?