2009-05-05 11 views
0

次のコードは、red5から取得したサンプルの組み合わせです。基本的には、ライブストリーム加入者と共有オブジェクトに基づくチャットボックスを組み合わせようとしています。私はフラッシュ開発者ではなく、ここで何が起こっているのかについて非常に限られた理解しか持っていません。これらのvarsはどのように初期化されますか?

// ** AUTO-UI IMPORT STATEMENTS ** 
import org.red5.utils.Connector; 
import org.red5.samples.simplechat.BasicChat; 
// ** END AUTO-UI IMPORT STATEMENTS ** 
import com.neoarchaic.ui.Tooltip; 
import org.red5.net.Stream; 
//import org.red5.utils.Delegate; 
import com.blitzagency.xray.util.XrayLoader; 

class org.red5.samples.livestream.subscriber.Main extends MovieClip { 
// Constants: 
    public static var CLASS_REF = org.red5.samples.livestream.subscriber.Main; 
    public static var LINKAGE_ID:String =  "org.red5.samples.livestream.subscriber.Main"; 
// Public Properties: 
// Private Properties: 
private var stream:Stream; 
private var cam:Camera; 
// UI Elements: 

// ** AUTO-UI ELEMENTS ** 
    private var connector:Connector; 
    private var publish_video:Video; 
    private var chat:BasicChat; 
// ** END AUTO-UI ELEMENTS ** 
    private var uri:String = "rtmpt://localhost/oflaDemo"; 

// Initialization: 
    private function Main() {XrayLoader.loadConnector("xray.swf");} 
    private function onLoad():Void { configUI(); } 

// Public Methods: 
// Semi-Private Methods: 
// Private Methods: 
    private function configUI():Void 
    { 
     // setup the tooltip defaults 
    Tooltip.options = {size:10, font:"_sans", corner:0}; 
    // setup cam 
    cam = Camera.get(); 
    // get notified of connection changes 
    connector.addEventListener("connectionChange", this); 

    // set the uri 
    Connector.red5URI = uri; 

    // initialize the connector 
    connector.configUI(); 
    connector.makeConnection(); 
} 

private function connectionChange(evtObj:Object):Void 
{  

    if(evtObj.connected) 
    { 
     // setup stream 
     // XXX: odd hack needed for flashIDE. 
     var conn = evtObj.connection; 
     var x = new Stream(conn); 
     stream = x; 
     stream.play("red5StreamDemo", -1); 
     publish_video.attachVideo(stream); 
     trace(chat); 
     // register the NetConnection that GlobalObject will need 
     chat.registerConnection(conn); 

     // connect the shared object 
     chat.connectSO(); 
    } 
} 

} 

私はvar chattrace(chat)版画「未定義」としてどこかに初期化されているとは思いません。しかし、var connectorvar publish_videoはステージからインスタンスを収集しているようです。

このサンプルコードには2つのコードが含まれていましたが、うまく機能しましたが、私の追加機能を同じように動作させることはできません。

ステージにBasicChatのインスタンスを追加しました(私はFlash CS4を使用しています)、これまでにさまざまなプロパティ、レイヤー、グループ化を行っていました。

誰も私のvar chatがステージからそのインスタンスを収集していない理由を提案できますか?

答えて

1

BasicChatステージインスタンスのインスタンス名を設定しましたか?それは "チャット"に設定する必要があります。これを設定するには、ステージインスタンスをクリックし、プロパティパネル(最初/上に表示されるフィールド)でインスタンス名フィールドを見つけます。

+0

を1つにまとめました。どうもありがとうございました :) – Cogsy

関連する問題