怎么用java代碼制作游戲 JAVA能不能開發(fā)大型游戲?為什么?
JAVA能不能開發(fā)大型游戲?為什么?網(wǎng)游,非單機(jī)版??蛻舳撕头?wù)器全是純Java版的.畫面流暢程度輕松碾壓盛大的原版,跑半步地圖卷動(dòng)48次,是電影級(jí)的。細(xì)節(jié)差不多說了發(fā)這個(gè)帖子的主要目的是只能說明:用
JAVA能不能開發(fā)大型游戲?為什么?
網(wǎng)游,非單機(jī)版。
客戶端和服務(wù)器全是純Java版的.
畫面流暢程度輕松碾壓盛大的原版,跑半步地圖卷動(dòng)48次,是電影級(jí)的。細(xì)節(jié)差不多說了
發(fā)這個(gè)帖子的主要目的是只能說明:
用Java是可以做任何游戲,Java速度慢什么的也是瞎扯蛋...我這程序早和游資網(wǎng)上N個(gè)C達(dá)人的同類產(chǎn)品都很過了,性能完敗。(所以我就算是C快,也要寫程序的人360優(yōu)化的好才行)
視頻僅僅觀摩了幾分鐘道士能操作。雖說只有我一個(gè)用戶萬分感謝,但是是對(duì)服務(wù)器而言,還壓制了12000個(gè)怪物的智能行為,姑且相信也算很多人在線了。(其實(shí),怪物和用戶肯定不是一樣的的)。
Ps:視頻夠流暢,是我的錄像軟件FPS太低照成的,游戲本身比這個(gè)要強(qiáng)的多.
又不能,有所謂的大型游戲就像大都指端游。前提是是C
這沒有辦法C和java的效率那就有不大差距的。
java什么東西基本都都能旗下,只是因?yàn)閖ava閃避的是不能就你操作內(nèi)存,不能按裝虛擬機(jī),這樣使java在旗下的時(shí)候?qū)е潞芏嗑窒扌?只不過java需要提供了本地方法,可以調(diào)用c的類庫。也讓功能初步進(jìn)階。又由于java對(duì)此垃圾回收機(jī)制是不自動(dòng)的,也讓游戲在流暢性上有比較大的折扣。因?yàn)閖ava不比較適合的新規(guī)模大游戲(如果自己實(shí)現(xiàn)方法垃圾回收等一些機(jī)制),使java能與c而言使。又而且java的初衷就在的界面和桌面游戲上。而在企業(yè)開發(fā)。所以java不適合變更土地性質(zhì)規(guī)模很大游戲。中小規(guī)模網(wǎng)絡(luò)游戲還行。
想用Java做游戲,但是小白,怎么做?
1
設(shè)計(jì)游戲,首先還要設(shè)計(jì)界面。簡(jiǎn)單看下我電腦設(shè)計(jì)的一個(gè)界面。界面兩類左邊的游戲區(qū)與右邊的控制區(qū)。游戲區(qū)乾坤二卦“得分信息”和貪吃蛇的游戲區(qū),右邊控制區(qū)有“就開始”“停一下”“開始”按鈕,等級(jí)你選擇單選框這些游戲排行榜。2
所以我我們需要定義,定義swing組件,并在類初始化時(shí)系統(tǒng)初始化這些組件,直接添加組件。而且后面設(shè)計(jì)游戲的時(shí)候,我們要詳細(xì)知道游戲區(qū)的大小,所以我這里設(shè)置中游戲區(qū)單獨(dú)計(jì)算大小值。一開始想用布局來好些的管理,但作者對(duì)布局也手中掌握不夠,所以就先可以設(shè)置固定大小吧。
3
定義我們的游戲。貪吃蛇游戲反正就是包涵很多細(xì)小網(wǎng)格,后再蛇在網(wǎng)格中移動(dòng)。蛇由一串的網(wǎng)格混編,是為視覺效果,巨蛇用橙色標(biāo)記,食物用白色標(biāo)記,背景白色。如第一張圖片所示。因?yàn)?,我們必須定義二維數(shù)組,能保存網(wǎng)格信息,保存蛇身和食物的位置信息等。重新初始化時(shí),還必須去添加鍵盤事件控制的上左右天翼。
4
食物的位置信息是二維的,所以我我很簡(jiǎn)單符號(hào)表示了一個(gè)類利用需要保存二維信息。
5
隨即就是基于游戲的功能了。就開始,不能正常,停止按鈕再添加事件控制游戲結(jié)束。等級(jí)按鈕符號(hào)表示游戲難度等。
6
又開始游戲后,我們定義一個(gè)定時(shí)器。巨蛇聽從指定你的方向天翼,方向是通過初始化時(shí)再添加的鍵盤事件,鍵盤的上下左右按鈕來壓制。蛇身是后的位置信息,保存到到隊(duì)列中,所以我龍身的移動(dòng)就是隊(duì)首增加一個(gè)位置,隊(duì)尾降低位置,接著然后再繪畫游戲區(qū)就可以了。
在蛇身移動(dòng)時(shí)盡快做一口吞掉食物、撞墻、撞到自己的處理。這是游戲的通常邏輯。
7
結(jié)果,游戲已經(jīng)結(jié)束我們提示框一個(gè)對(duì)話框總是顯示如何確定保存到游戲罰球得分。我們制作了排行榜信息,只保留前十名的游戲罰球得分。是需要定義方法了一個(gè)實(shí)現(xiàn)Comparable接口的游戲得分類,按得分高,時(shí)間最早來排序。
8
游戲結(jié)束時(shí)需要保存得分信息,看有無進(jìn)入到排行榜中。而前的在初始化排行榜組件時(shí)就會(huì)運(yùn)行程序游戲排行榜信息。
是從需要保存和無法讀取排行榜信息,我們也清楚看看文件讀取不能操作,另外集合、排序算法的功能。
9
結(jié)果編譯器啟動(dòng),最后良好素質(zhì)。經(jīng)驗(yàn)也只有寫一個(gè)也差不多的設(shè)計(jì),貪吃蛇游戲功能不好算是也很簡(jiǎn)單的,要注意應(yīng)該是界面的布局,swing編程等。如果沒有有任何疑問,感謝大家留個(gè)言。
不過,學(xué)一門手藝或是經(jīng)訓(xùn)練,我還是最好不要有這個(gè)想法了,不客觀務(wù)實(shí)。
因此,游戲去做之后,還要經(jīng)一系列的游戲認(rèn)證,核審。
在小范圍內(nèi)是可以傳播,但要是沒有的話,就好像不行在大范圍內(nèi)空氣傳播。
如果沒有我的回答對(duì)你有幫助,點(diǎn)個(gè)贊吧再走唄~