2012-12-21 32 views
1

我在Flash CS6中創建了一個使用netconnection和netgroup的應用程序。我正在嘗試構建一個簡單的2人多人遊戲。當兩個玩家連接時,我想在swf的一個實例中隱藏一個動畫片段,但不是另一個。這是如何完成的?AS3如何控制對等實例swf中的動畫片段?

這是一款基於回合的遊戲,所以當玩家1輪到他時,玩家2一定不能點擊按鈕(所以我想隱藏它),反之亦然。

+0

如果您使用的是網絡連接 - 您爲什麼不在應用程序中放置邏輯以允許根據顯示/隱藏對象的顯示/隱藏對象。一個簡單的布爾值就足夠了。當玩家移動時,將呼叫發送給其他玩家並告訴他們輪到他們,並且在他們移動之前不更新屏幕 – Gone3d

+0

這就是我想要做的。我的問題是,當我隱藏一個動畫片段時,它會隱藏在兩個播放器窗口中。即使我不發佈任何內容。 –

+0

您可能需要在此處顯示一些代碼。 – Gone3d

回答

0

我認爲它現在正在工作。在移動函數中,我添加了ok_mc.visible = false,它隱藏了「local」實例中的mc和netstatus事件中的put ok_mc.visible = true。像這樣

function drop(e:MouseEvent):void { 
this.stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveMe); 
// Save the current movieclip position 
var obj:Object = {}; 
obj.x = mc.x ; 
obj.y = mc.y ; 
obj.activePlayer=players[aktiv-1] 
ok_mc.visible=false; 

// Set the peerID to a group address suitable for use with the sendToNearest() method. 
obj.sender = group.convertPeerIDToGroupAddress(nc.nearID); 
obj.id = new Date().time; 
// Sends a message to all members of a group. 
group.post(obj); 
} 

function netStatus(event:NetStatusEvent):void{ 
switch(event.info.code){ 
    case "NetGroup.Posting.Notify": 

     mc.x = event.info.message.x; 
     mc.y = event.info.message.y; 
     ok_mc.visible=true; 
    break; 
} 
} 

它似乎工作。現在我只需要在初始階段就明確指出它。有沒有一種方法來統計組員和/或通過他們循環?

相關問題