Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 用于Haxe的Adobe Flash符号库的等价物是什么?_Actionscript 3_Flash_Haxe_Haxeflixel - Fatal编程技术网

Actionscript 3 用于Haxe的Adobe Flash符号库的等价物是什么?

Actionscript 3 用于Haxe的Adobe Flash符号库的等价物是什么?,actionscript-3,flash,haxe,haxeflixel,Actionscript 3,Flash,Haxe,Haxeflixel,在得知Flash的消亡后,我正试图过渡到HaxeFlixel,但我不完全确定如何在两者之间建立我的理解。我目前正在Mac上使用Visual Studio代码 在Flash(现在为CC设置动画)中,您有一个充满符号的库: 可以单击鼠标右键并编辑这些符号,例如设置基类: 我的项目文件夹中有所有的.as基类,每个基类都控制符号。当我在VSC中时,我可以创建.hx文件,并且我有一个专用于包含所有游戏位图的图像的文件夹。从那里,我不知道如何重新创建我的游戏。在Haxe中编码时,我可以将基类分配给哪个符

在得知Flash的消亡后,我正试图过渡到HaxeFlixel,但我不完全确定如何在两者之间建立我的理解。我目前正在Mac上使用Visual Studio代码

在Flash(现在为CC设置动画)中,您有一个充满符号的库:

可以单击鼠标右键并编辑这些符号,例如设置基类:


我的项目文件夹中有所有的.as基类,每个基类都控制符号。当我在VSC中时,我可以创建.hx文件,并且我有一个专用于包含所有游戏位图的图像的文件夹。从那里,我不知道如何重新创建我的游戏。在Haxe中编码时,我可以将基类分配给哪个符号库?

您可以使用在Haxe库OpenFL的动画中创建的资源。这里是如何做到这一点的概述:

您也可以阅读官方指南:

在OpenFL中没有您从Flash中知道的库。如果您寻找“本机”OpenFL资产处理,请查看OpenFL.Assets类。它提供了加载和解析多种资产文件格式的函数

如果您的HaxeFlixel项目需要一个类,该类允许您扩展精灵的基本功能,那么您可以扩展FlxSprite并将图形/精灵工作表加载到构造函数中:

class Block extends FlxSprite{
  public function new(){
    super();
    loadGraphic("assets/images/block.png", false, 64, 64);
  }
}
您不想扩展,只想将位图/精灵表加载到FlxSprite中?差别不大:

var block = new FlxSprite();
block.loadGraphic("assets/images/block.png");
add(block);
另见:

  • (太棒了!)

您还可以使用提供从swf文件加载资产功能的swflib。是的,尝试以Flash ide中的方式加载资产可能不是最好的方法。我宁愿尝试按照Haxe中的预期方式来做。我首先要做的是教程游戏,但是既然不能让库对象以基类为目标,那么为敌人创建单独的类有意义吗?在我的flash游戏中,事情变得相当复杂,所以我希望我可以在Haxe中重新创建它,而不会有太多麻烦。我不知道为什么人们会认为Flash用户会喜欢迁移到Haxe。很难说在不了解项目的情况下创建单独的类是否有意义。如果只使用类名实例化精灵,则第二个HaxeFlixel选项将起作用。从Flash代码创建Haxe项目需要一些时间,但通常是可行的。尽管OpenFL与Flash有很多相似之处,但在切换平台/语言时,你会发现它们之间的差异,这不是很有意义吗?如果你的游戏中有50个不同的敌人,你可以从一个扩展GameObject的敌人类文件开始,然后你可以进一步分解它。游戏对象>>敌人>>飞行技能。从那里,您可以为任何飞行的敌人将链接名称设置为flyingemy,该类将控制他们。如果你想让他们做别的事情,那就多分解一下。对于复杂的老板敌人,我有专门的整个类文件。游戏对象>>敌人>>龙老板。这很有效,很容易编辑,直到现在我才意识到这对人们来说是多么陌生。你仍然可以做到这一点,只是没有实体组件系统那么灵活:–组件–系统。这取决于您的需求和偏好。