次のコードは、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 chat
がtrace(chat)
版画「未定義」としてどこかに初期化されているとは思いません。しかし、var connector
とvar publish_video
はステージからインスタンスを収集しているようです。
このサンプルコードには2つのコードが含まれていましたが、うまく機能しましたが、私の追加機能を同じように動作させることはできません。
ステージにBasicChatのインスタンスを追加しました(私はFlash CS4を使用しています)、これまでにさまざまなプロパティ、レイヤー、グループ化を行っていました。
誰も私のvar chat
がステージからそのインスタンスを収集していない理由を提案できますか?
を1つにまとめました。どうもありがとうございました :) – Cogsy