TypeError:错误#2007参数类型必须为非null

时间:2014-05-07 14:41:48

标签: actionscript-3 flash smartfoxserver

我有这个问题:

  

TypeError:错误#2007:参数类型必须为非null。在   在Ch05_02()

的flash.events :::EventDispatcher / addEventListener()

当我运行我的flash文档时,Ch05_02作为文件

package {
   import it.gotoandplay.smartfoxserver.SmartFoxClient;
   import it.gotoandplay.smartfoxserver.SFSEvent;
   import it.gotoandplay.smartfoxserver.SFSEvent.onJoinRoom;
   import it.gotoandplay.smartfoxserver.data.Room;
   import it.gotoandplay.smartfoxserver.data.User;
   import flash.display.*;

   public class Ch05_02 extends MovieClip{
      private var _sfs:SmartFoxClient;
      private var _avatarList:Array = new Array();

      public function Ch05_02() {
         _sfs = new SmartFoxClient(true);
         _sfs.addEventListener(SFSEvent.CONNECTION, onConnection);
         _sfs.addEventListener(SFSEvent.ROOM_JOIN, onJoinRoom);
         _sfs.addEventListener(SFSEvent.USER_ENTER_ROOM, onUserEnterRoom);
         _sfs.addEventListener(SFSEvent.USER_EXIT_ROOM, onUserLeaveRoom);
         _sfs.connect("127.0.0.1",9339);
      }

      private function onConnection(e:SFSEvent):void
      {
         var ok:Boolean = e.params.success;
         if (ok){
            _sfs.login("simpleChat","myname","");
         }
      }

      private function onRoomListUpdate(e:SFSEvent):void
      {
         _sfs.autoJoin();
      }
   }
}

1 个答案:

答案 0 :(得分:0)

查看documentation for SmartFox,您的事件名称似乎有误。这就是编译器抱怨type参数为null的原因。 SFSEvent.CONNECTIONSFSEvent.ROOM_JOIN等不存在,因此null

您需要使用正确的事件名称。 SFSEvent.onConnectionSFSEvent.onJoinRoom