0

我正在尝试遵循本教程

http://tv.adobe.com/watch/starting-with-starling/starting-with-starling-welcome-screen/

当我尝试创建 Assets.as 类(大约 7 分钟开始)时,FB 无法识别某些关键字。特别是字典、纹理和位图。听到密码...

   private static var gameTextures:Dictionary = new Dictionary();   
   public static function getTexture(name:String):Texture
   {
   if (gameTextures[name] == undefined)
   {
   var bitmap:Bitmap = new Assets[name]();
   gameTextures[name] = Texture.fromBitmap(bitmap);
   }
   return gameTextures[name];

到目前为止,我一直密切关注本教程系列,但我仍然遇到这些错误。

未找到对字典类型的可能未定义方法的调用或不是编译时常量:纹理、字典和位图访问可能未定义的属性:纹理

我将不胜感激任何可以解决此问题的帮助,谢谢。

4

1 回答 1

1

我想你忘了导入命名类。在您可以使用框架中的类之前,您必须将其导入到您的类中:

package 
{
    import flash.display.Bitmap;
    import flash.display3D.textures.Texture;
    import flash.utils.Dictionary;

    public class Assets
    {
        private static var gameTextures:Dictionary = new Dictionary();   

        public static function getTexture(name:String):Texture
        {
            if (gameTextures[name] == undefined)
            {
                var bitmap:Bitmap = new Assets[name]();
                gameTextures[name] = Texture.fromBitMap(bitmap);
            }
            return gameTextures[name];
        }
    }
}

此外,在 Flash Builder 中,您可以键入CTRL + SHIFT + O(CMD + SHIFT + O在 Mac OS 上) 以清除导入。这将添加任何必需的导入语句,并在发生冲突时询问您(例如与纹理)。它还将删除任何不必要的导入。

在代码中键入类的名称时,您可以按CTRL + SPACE自动完成。所选类的导入也会自动进行。

于 2013-03-18T03:12:10.760 回答