AS3 - 未找到类型或不是编译时常量

时间:2014-08-01 22:59:00

标签: actionscript-3 flash

首先,在向我介绍其他帖子之前,我一直在寻找一个好的解决方案,但无法弄明白。是的,我已经搜索过,但它没有帮助我所以我决定在这里发帖,因为这里的人真的很聪明。

所以,我开始为AS3中的游戏做出贡献。由于我不熟悉图形等,我首先使用的是AS3代码而不是Flash加载程序等。我测试了AS3和C#之间的连接(带套接字)。

第一帧AS3:

import flash.net.Socket;
import Composer;

var sock:Socket = new Socket();
sock.connect("127.0.0.1", 30000);
sock.addEventListener(IOErrorEvent.IO_ERROR, loaderIOErrorHandler);
sock.addEventListener(Event.CONNECT, connectHandler);

function loaderIOErrorHandler(errorEvent:IOErrorEvent):void{
    trace("ioErrorHandler: " + errorEvent);
}

function connectHandler(event:Event):void{
    var msg:Composer = new Composer("HELLO_WORLD");
    msg.writeDouble(new Date().milliseconds);
    sock.writeBytes(msg.toMessageFormat());
}

这是Composer.as(在同一个文件夹中):

package  {

    class Composer {

        private var _arr:ByteArray;

        public function Composer(header:String){
            _arr = new ByteArray();
            _arr.writeUTF(header);
        }

        public function writeUTF(utf:String):void{
            _arr.writeUTF(utf);
        }

        public function writeInt(i:int):void{
            _arr.writeInt(i);
        }

        public function writeShort(i:int):void{
            _arr.writeShort(i);
        }

        public function writeFloat(f:Number):void{
            _arr.writeFloat(f);
        }

        public function writeDouble(d:Number):void{
            _arr.writeDouble(d);
        }

        public function writeBoolean(b:Boolean):void{
            _arr.writeBoolean(b);
        }

        public function writeByte(b:int):void{
            _arr.writeByte(b);
        }

        public function toMessageFormat():ByteArray{
            var msg:ByteArray = new ByteArray();
            msg.writeDouble(_arr.length);
            msg.writeBytes(_arr);
            return msg;
        }

    }

}

我总是得到错误:

'未找到类型或不是编译时常量'

感谢您提供帮助。

1 个答案:

答案 0 :(得分:1)

package {之后的Composer.as的最顶部,您必须导入您引用的任何类,否则您将收到此错误。

这是你缺少的东西

package  {
    import flash.utils.ByteArray;
    class Composer {