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