Domanda

I have this code in my MXML project, I want to get dynamic Stream connection for different and dynamic usernames.

private var inStream:NetStream;

private function listenStream(user:String):void
            {

                this["inStream"+user] = new NetStream(connection);
                this["inStream"+user].play(user);

            }

private function closeStream(user:String):void
        {

                //clear stream listener
                this["inStream"+user].close();


        }

But this code is not worked, How can i build dynamic object names in ActionScript3?

Thanks alot

È stato utile?

Soluzione

Try Dictionary

import flash.utils.Dictionary

private var streamDict:Dictionary = new Dictionary();

private function listenStream(user:String):void
{
      var key:String = getKey(user);

      var lastStream:NetStream = streamDict[key] as NetStream;

      if (lastStream)
      {
          //close the last stream or do sth else
      }
      else
      {
         streamDict[key] = new NetStream(connection);
         streamDict[key].play(user);
      }

 }

 private function closeStream(user:String):void
 {
      var key:String = getKey(user);

      //clear stream listener
      var stream:NetStream = streamDict[key] as NetStream ;

      if (stream)
      {
          stream.close();
      }

      //delete the stream
      streamDict[key] = null;
      delete streamDict[key];
 }

 private function getKey(user:String):String
 {
      return  "inStream" + user;
 }
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top