我正在尝试在同一个类文件中嵌入多个图像(每个PNG的@:bitmap(...)
手动方式)。
但是,当我来使用PNG时,我不断获得Class not found : assets._NameOfImageClass_
我是否需要先导入同名的类作为* .hx文件,这些文件首先被抛入?
(示例:如果它们都在assets/Assets.hx
中定义,我需要import assets.Assets;
才能使用new ICON_FILE();
或者我是否能够只需使用import assets.ICON_FILE;
?)
我正在使用FlashDevelop,这是以Flash为目标。
(注意:我不想为此使用OpenFL解决方案)
答案 0 :(得分:0)
您只需要行import assets.Assets;
有资产的班级。
package mypack ;
import flash.media.Sound;
@:sound("assets/sound/Hit_Hurt.wav") class Hit_Hurt extends flash.media.Sound { }
@:sound("assets/sound/Jump2.wav") class Jump extends flash.media.Sound { }
@:sound("assets/sound/Laser_Shoot.wav") class Laser_Shoot extends flash.media.Sound { }
class SoundLib
{
private static var _sounds:Array<Sound> = [ new Hit_Hurt(), new Jump(), new Laser_Shoot() ];
public static function play( index:Int ):Void
{
_sounds[ index ].play();
}
}
主要班级。
package ;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.Lib;
import flash.media.Sound;
import mypack.SoundLib;
class Main
{
static function main()
{
var stage = Lib.current.stage;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
var tmp:Sound = new Laser_Shoot();
tmp.play();
}
}