我正在尝试用Haxe / OpenFL编写一些跨语言代码,并使用FalshDevelop进行编译。但是一旦我使用基本的Sys.print
函数,我就会收到错误。一个最小的例子如下:
package;
import flash.display.Sprite;
class Graphic extends Sprite {
public function new () {
super ();
}
static function main() { //used in standalone swf project
Sys.print("Hi");
}
}
事实证明,FlashDevelop的默认编译命令类似于:
haxelib run openfl build project.xml flash
,这会在Sys.print
:
Graphic.hx:xx: characters 2-11 : Accessing this field requires a system platform
(php,neko,cpp,etc.)
我的猜测是Sys.print
在闪存目标中不可用,或者闪存不是a system platform
(奇怪)。我想知道是否有办法解决这个问题,并配置FlashDevelop以便编译命令为:
haxelib运行openfl build project.xml neko
由于
答案 0 :(得分:2)
实际上有两个问题。
对于第一个,Sys.print仅在某些平台上可用,因为它在其他平台上没有意义(它会在flash中做什么?),你可能想要的是trace,用于打印东西调试目的。
对于第二个问题,如果您创建了一个看起来像这样的openfl项目,那么flashdevelop顶部会有一个下拉菜单: