首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AS3 NetConnection对象必须连接

AS3 NetConnection对象必须连接
EN

Stack Overflow用户
提问于 2015-07-07 11:59:04
回答 1查看 389关注 0票数 0

我是AS3的初学者,并为一个游戏制作了一个原型,我尝试在其中添加一个视频,并遇到了这个问题。

代码语言:javascript
复制
ArgumentError: Error #2126: NetConnection object must be connected.
at flash.net::NetStream/ctor()
at flash.net::NetStream()
at Main()[/Users/admin/Desktop/Prototype 4/Main.as:27]
at runtime::ContentPlayer/loadInitialContent()
at runtime::ContentPlayer/playRawContent()
at runtime::ContentPlayer/playContent()
at runtime::AppRunner/run()
at ADLAppEntry/run()
at global/runtime::ADLEntry()

我在谷歌上搜索过,但仍然不明白问题所在。这是我的密码。

代码语言:javascript
复制
package  {

import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.media.*;
import flash.net.*;

import flash.display.MovieClip;
import flashx.textLayout.events.ModelChange;

public class Main extends Sprite 
{
    public var mc:Sprite = new Sprite();
    public var touch:MovieClip = new Touch();
    public var yellowbox:MovieClip = new Yellow();

    public var purplebox:MovieClip = new Purple();
    public var pinkbox:MovieClip = new Pink();
    public var Next:MovieClip = new NEXT();
    public var myTimer:Timer = new Timer (2000, 1);
    public var vid:Video = new Video(700, 360);

    public var nc:NetConnection = new NetConnection();
    public var ns:NetStream = new NetStream(nc);

    public function Main() 
    {
        // constructor code
        addChild(mc);
        mc.addChild(yellowbox);
        yellowbox.addChild(touch);
        touch.y = 1000;
        touch.x = 50;

        vid.y = 300;
        vid.x = 10;

        yellowbox.addEventListener (MouseEvent.CLICK, onClick);
        myTimer.addEventListener(TimerEvent.TIMER, tick);

        nc.connect(null);
        vid.attachNetStream(ns);

        var listener:Object = new Object();
        listener.onMetaData = function(evt:Object):void {};
        ns.client = listener;

    }

    public function onClick (e:MouseEvent):void
    {
        mc.removeChild(yellowbox);
        mc.addChild(purplebox);
        purplebox.addChild(vid);
        ns.play("rick.mp4");
        myTimer.start();
    }

    function tick(e:TimerEvent):void 
    {
        purplebox.addChild(Next);
        Next.y = 1000;
        Next.x = 330;

    }

}

}

有人能给我解释一下有什么问题吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-07 13:11:37

简单地说,您不能使用未连接的NetStream创建NetConnection

为了避免这个错误,您应该连接您的NetConnection,然后像这样创建您的NetStream

代码语言:javascript
复制
var nc:NetConnection,
    ns:NetStream;

nc = new NetConnection();
trace(nc.connected);    // gives : false
nc.connect(null);
trace(nc.connected)     // gives : true

ns = new NetStream(nc);

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31267981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档