2009-05-05 6 views
0

Le code suivant est une combinaison d'échantillons extraits de red5. Fondamentalement, j'essaie de combiner un abonné de flux en direct avec une boîte de discussion basée sur des objets partagés. Je ne suis pas un développeur flash et j'ai une compréhension très limitée de ce qui se passe ici.Comment ces vars sont-ils initialisés?

// ** 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(); 
    } 
} 

} 

Je ne pense pas que var chat est en cours d'initialisation ne importe où trace(chat) imprime « undefined ». Cependant var connector et var publish_video semblent recueillir leurs instances de la scène.

Cet exemple de code inclus ces deux et a bien fonctionné, mais je ne peux pas faire mes ajouts se comportent de la même manière.

J'ai ajouté une instance de BasicChat à la scène (j'utilise Flash CS4) et j'ai passé de nombreuses heures à jouer avec ses différentes propriétés, couches et groupes, mais en vain.

Quelqu'un peut-il suggérer pourquoi mon var chat ne collecte pas son instance de la scène?

Répondre

1

Avez-vous défini le nom d'instance de votre instance de scène BasicChat? Il devrait être réglé sur "chat". Pour le définir, cliquez sur l'occurrence de l'étape et trouvez le champ du nom d'occurrence dans le panneau Propriétés (premier/premier champ visible).

+0

obtenu en un. Merci beaucoup :) – Cogsy

Questions connexes