本文是解釋鷹大的多人聯網例項example1思路,由於自己理解的問題,不足地方請斧正。。。
------------------------------------------華麗的分割線--------------------------------------------
主線流程
1. awake 【設計遊戲視窗 獲取玩家名字】
function awake()
}
2. ongui 【判斷是否顯示聊天視窗建立聊天視窗處理回車[獲取輸入焦點]】
function ongui ()
gui.skin = skin;
//當前處理的事件如果是按鍵按下 並且按下的按鍵是回車鍵 並且未有輸入值【沒輸入時按回車鍵】
if (event.current.type == eventtype.keydown && event.current.character == "\n" && inputfield.length <= 0)
else
guilayout.endhorizontal();
//下邊的範圍 3畫素空隙【不加沒有滾動條顯示】
guilayout.space(3);
}// end the scrollview we began above.
guilayout.endscrollview ();
//如果輸入值後按下空格鍵
if (event.current.type == eventtype.keydown && event.current.character == "\n" && inputfield.length > 0)
//為輸入控制項命名
gui.setnextcontrolname("chat input field");
inputfield = guilayout.textfield(inputfield);
//滑鼠左鍵按下時
if(input.getkeydown("mouse 0"))
}}
4. 傳出對話 【消除換行將對話加入到對話表初始化會話資訊】
function hitenter(msg : string)
連線(connect):
1. 客戶端onconnectedtoserver()
l 標識顯示對話方塊
l 通知伺服器將此客戶端資訊傳入玩家列表
function onconnectedtoserver()
2. 伺服器onserverinitialized()
l 標識顯示對話方塊
l 直接將伺服器資訊存入玩家列表[當伺服器也作為乙個玩家存在]
l 通知顯示伺服器加入對話【系統通知】
function onserverinitialized()
伺服器onplayerconnected(player: networkplayer)
l 傳遞顯示加入玩家加入遊戲的資訊【系統通知】
function onplayerconnected(player: networkplayer)
掉線(disconnect)
1. 客戶端ondisconnectedfromserver()
l 標記隱藏對話方塊
function ondisconnectedfromserver()
2. 伺服器onplayerdisconnected(player: networkplayer)
l 傳遞顯示玩家掉線的資訊【系統通知】
l 在玩家列表刪除掉線玩家資訊[依賴networkplayer獲取具體玩家資訊]
function onplayerdisconnected(player: networkplayer)
封裝函式
1. rpc函式
l 通知伺服器將客戶端的資訊傳入玩家列表【將傳入的資訊加入玩家列表通知顯示該玩家加入對話】
@rpc
//sent by newly connected clients, recieved by server
//伺服器獲得客戶端傳輸的玩家資訊,並廣播
function tellserverourname(name : string, info : networkmessageinfo)
l 將對話加入到對話表
@rpc
//將滾動條y軸數值設定極大,使得每次輸入後螢幕上都顯示最後一次輸入的內容
scrollposition.y = 1000000;
}
2. 普通函式
l 依賴networkplayer獲取具體玩家資訊【逐條從玩家列表取出資訊比對】
function getplayernode(networkplayer : networkplayer)
} debug.logerror("getplayernode: requested a playernode of non-existing player!");
return null;
}
l 標識顯示對話方塊【標識顯示對話方塊輸入值、對話列表初始化】
function showchatwindow ()
l 標識隱藏對話方塊【標識隱藏對話方塊輸入值、對話列表初始化】
function closechatwindow ()
l 遊戲資訊的通知【系統通知】
//輸出遊戲資訊【**登入等等】伺服器的通知
function addgamechatmessage(str : string)
}
Unity3D簡單工具
在場景檢視中導航根據使用的滑鼠的不同,有很多不同的方式可以在場景檢視中導航。使用三鍵滑鼠按住 option按鈕並拖動滑鼠左鍵可以使用旋轉模式 orbit mode 按住 option按鈕並拖動滑鼠中鍵可以使用拖動模式 drag mode 按住 option按鈕並拖動滑鼠右鍵可以使用縮放模式 zoom...
Unity3D開發(九) Unity3d流光效果
遊戲開 壇 hello game 遊戲開發群 201276069 之前曾經注意過material 中紋理的屬性都有 tiling 和offset 但沒有深究過其用途,今天才知道竟然可以利用 offset做uv 動畫,從而完成各種有趣的動畫,比如流光效果!流過效果即通常一條高光光在物體上劃過,模擬高光...
unity3d 相機Camera簡單介紹
一 檢視面板 二 面板介紹 1 ckearflags 空白旗子,把空白的地方顯示 skybox 天空盒子 solider color 純色顯示 depth 只看深度高低 顯示物體 空白不管 黑色 don t clear 只顯示物體,其他都不顯示 具體有待補充 2 background 設定純色的背景...