百威黑客马拉松实记
Unity官方和百威舉行的黑客馬拉松,10月9日17:00-11日19:00
在百威黑客馬拉松,基于XKTV的設備二次開發,團隊項目多人打地鼠游戲;
IDpatch 收集,票選出自己支持的ideal。現場組隊,我的團隊有李卓(ideal 提出者),潘晉,沈晨驥,(2人同事),蔣先利(潘晉前同事)。
想法豐富階段,利用百威的XKTVTable,做多人打地鼠,微信接入,出現地雷,點擊到的人喝酒,抱著百威的瓶蓋出現,要點擊2次。點擊完,翻盤效果,點一下出現人的頭像。
?[四號項目,打地鼠游戲]這是一個打地鼠游戲。多人游戲并能夠促進玩家互動,地鼠數目和出現頻率與玩家數相關。在游戲過程中,一個個不同的地鼠不時冒出。有的抱著玩家的微信頭像,被擊中后對應的玩家會被扣分。?有的抱著炸彈冒出,被擊中后會提示飲酒懲罰。頭頂著百威瓶蓋的地鼠需要擊中兩次才計分,要打到地鼠,那就打開百威的瓶蓋吧。規則簡單,上手快。快節奏,能夠迅速結束一場并開始下一場游戲,一局1分鐘左右,頭像被擊中次數多者喝酒。?
分工大致如下,(分工不是定死的,當然鼓勵大家討論、合作)
李卓:定義具體游戲規則細節,研究百威的SDK,和百威的桌面整合,添加桌面按鈕,進入游戲等。
朱濤:研究SDK,側重于用戶微信接入,采集頭像等;
潘總:設計地鼠的冒出(冒出的速度,停留的時間等),設計?hide-show-transient?狀態機等
蔣總:設計UI
Tony:設計擊中后的事件(包括計分、動畫等),以及如何結束。
目前的開發計劃:
》地鼠洞:?3x5?=?15個
》打中頭頂著炸彈的地鼠暫停游戲,播放魔鬼嘲笑聲音,打中的人喝酒!
(打的過程中可能太亂,看不清誰打的可以大家全部喝酒,這樣酒水消費量更大)
有時間的話做以下功能:
》陣營戰
》難度選擇,或者自動升級難度,越玩越快,加快冒出速度,縮短停留時間?
我遇到的問題,Texture轉sprite。
transform.FindChild("root/head").GetComponent<Image>().sprite = Sprite.Create(item.headTexture, new Rect(0, 0, item.headTexture.width, item.headTexture.height), Vector2.zero); <pre name="code" class="csharp"><span style="font-family:Arial, Helvetica, sans-serif;">XKTV的應用是一個很大的wind7系統,跑的Unity應用程序,而我們開發的游戲是基于unity的二次開發。</span> <span style="font-family:Arial, Helvetica, sans-serif;"> </span> <span style="font-family:Arial, Helvetica, sans-serif;">游戲展示截圖</span>XKTV是一塊支持多點觸控的設備,同時支持40個點。可同時支持多個應用一起使用,只要應用設成窗體的。
設備如下圖,請忽略本人
XKTV的sdk的熟悉花了很久。
用monobase 替換原來的MonoBehaviour。
百威XKTVTable技術負責人,仿造NGUI,寫了個TableTools.AddChild(game,obj);
Resourcesload改為MyApplication.instance.LoadResources。
我個人認為,這是這樣開發的,一個是系統Camera,一個是APPRootCamera。在Approot下添加simpleWindow,然后再在上面添加相應的加班,繼承至Window,再在simpleWindow上添加root,用來控制窗體的,縮放,移動,拖拽。
總的就是先添加prefab,在prefab上AddComponent<ScriptName>();再在prefab上添加子prefab再添加,script;
這樣開發感覺挺麻煩,通常我們開發都script直接掛在prefab上。XKTV是為了未來方便維護,把perfab和script分離,通過LoadResources的方法(相關于Resourcesload)
重新寫了方向DoAwake(),Dostart(),DoUpdate()等替換了Awake(),Start(),Update()等方法;
在設計進行代碼耦合,一個完整的系統,模塊與模塊之間,盡可能的使其獨立存在。也就是說,讓每個模塊,盡可能的獨立完成某個特定的子功能。模塊與模塊之間的接口,盡量的少而簡單。
在這個實際項目中,獲得微信用戶數據,獲得最終的排名,以及展示最終得分。PlayerInfoList,是添加到SimpleWindoow對象上的,root是節點,root有腳本控制窗體的操作,放大縮小,拖拽,旋轉的操作。Ranking其實空物體,也可以添加一個空的GameObject,添加上Ranking.cs腳本,Ranking使用Rank的Prefab生成每個得分。如下圖。
開發時間54小時,完成度接近90%,在微信接入這塊,沒辦法做測試。權限問題。
通宵了一個晚上了,11日早中飯沒吃。到評審結果,才感覺餓和累。這段經歷很有意思。有些機會還想參加類似的活動。
晚上一起吃的晚飯,最終大獎被一個團隊獲得,3250的獨輪車,我們獲得二等獎調酒器,價值3百多。
附上報道http://mp.weixin.qq.com/s?__biz=MjM5NDAzOTQwMA==&mid=218959627&idx=1&sn=9350721a71c941914b61b9df70ec43d0&scene=2&srcid=1016KJMJNH6zVv34mCz4JAoi&from=timeline&isappinstalled=0#rd
總結
- 上一篇: 百威系统数据库服务器,百威9000V6数
- 下一篇: 小学计算机课flash的教案,小学六年级