Come vengono inizializzati questi var?
-
05-07-2019 - |
Domanda
Il seguente codice è una combinazione di campioni presi da red5. Fondamentalmente sto cercando di combinare un abbonato live stream con una finestra di chat basata su oggetti condivisi. Non sono uno sviluppatore flash e ho una comprensione molto limitata di ciò che sta succedendo qui.
// ** 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();
}
}
}
Non credo che var chat
sia inizializzato da nessuna parte mentre trace (chat)
stampa 'undefined'. Tuttavia var connettore
e var publishing_video
sembrano raccogliere le loro istanze dallo stage.
Questo codice di esempio includeva quei due e funzionava bene, ma non riesco a far comportare le mie aggiunte allo stesso modo.
Ho aggiunto un'istanza di BasicChat allo stage (sto usando Flash CS4) e ho passato molte ore a giocare con le sue varie proprietà, livelli e raggruppamenti, ma senza risultati.
Qualcuno può suggerire perché la mia var chat
non sta raccogliendo la sua istanza dallo stage?
Soluzione
Hai impostato il nome dell'istanza dell'istanza dello stage BasicChat? Dovrebbe essere impostato su " chat " ;. Per impostarlo, fai clic sull'istanza dello stage e trova il campo del nome dell'istanza nel pannello Proprietà (primo / primo campo visibile).