国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種游戲中的地圖繪制方法

      文檔序號(hào):6559296閱讀:290來源:國(guó)知局
      專利名稱:一種游戲中的地圖繪制方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及圖像顯示技術(shù)領(lǐng)域,尤其是一種游戲中的地圖繪制方法。
      背景技術(shù)
      隨著游戲的不斷升級(jí),人們對(duì)游戲畫面的要求也越來越高。游戲過程是一個(gè)按時(shí)間為周期的循環(huán),稱為游戲循環(huán),每個(gè)游戲循環(huán)中,進(jìn)行一次游戲邏輯運(yùn)算及游戲畫面的繪制。游戲畫面一般由靜態(tài)畫面和動(dòng)態(tài)畫面構(gòu)成。靜態(tài)畫面指游戲的背景地圖,一個(gè)游戲通常有一張世界地圖,以象素為單位設(shè)定坐標(biāo)。為了節(jié)省存儲(chǔ)資源以及地圖部分的重復(fù)利用,將世界地圖劃分為大小相同的正方形,稱為地表圖素塊,世界地圖還可以根據(jù)游戲邏輯需要進(jìn)一步劃分為關(guān)卡地圖,例如玩家闖關(guān)成功,則進(jìn)入到另一關(guān),加載新的關(guān)卡地圖,或者世界地圖按游戲邏輯劃分為華南地區(qū)、華北地區(qū)等,玩家每到一個(gè)地區(qū),則加載新的地區(qū)地圖,若包含關(guān)卡地圖,則以關(guān)卡地圖為單位,對(duì)每個(gè)關(guān)卡地圖進(jìn)行分塊劃分。具體做法以世界地圖或關(guān)卡地圖的原點(diǎn)(一般以世界地圖或關(guān)卡地圖的左上頂點(diǎn)為地圖原點(diǎn))為起始點(diǎn)順序進(jìn)行劃分,并為每個(gè)地表圖素塊設(shè)置一個(gè)唯一編號(hào)。在每一個(gè)游戲循環(huán)中,對(duì)地圖進(jìn)行繪制時(shí),獲取當(dāng)前玩家所在位置的世界坐標(biāo),再依據(jù)屏幕的大小,計(jì)算出當(dāng)前屏幕中地圖的起始點(diǎn)的世界坐標(biāo)(即左上角頂點(diǎn)的世界坐標(biāo)),依據(jù)當(dāng)前屏幕中地圖起始點(diǎn)的世界坐標(biāo)以及屏幕大小,獲取當(dāng)前屏幕中所有的地表圖素塊,并一一進(jìn)行繪制,從而完成背景地圖的繪制,每個(gè)游戲循環(huán)中,都用同樣的方法繪制背景地圖。其中,世界地圖,指游戲中的地圖;世界坐標(biāo),指世界地圖中每個(gè)象素點(diǎn)的坐標(biāo),起始點(diǎn)是世界地圖的左上角;當(dāng)前地圖,指以玩家當(dāng)前的位置以及屏幕大小所決定的地圖范圍,為了獲取比較好的感觀效果,除了地圖邊界與屏幕邊界重合的情況,一般會(huì)將玩家始終置于屏幕的中心。動(dòng)態(tài)畫面,指游戲中所有的玩家及游戲中設(shè)置的角色,其狀態(tài)會(huì)隨游戲邏輯實(shí)時(shí)變化。動(dòng)態(tài)畫面由一系列連續(xù)的圖片構(gòu)成,每張圖片稱為一個(gè)幀,幀數(shù)越多,表現(xiàn)出來的動(dòng)作越平滑,每個(gè)游戲循環(huán)中,繪制完靜態(tài)畫面后,再依據(jù)邏輯運(yùn)算的結(jié)果對(duì)動(dòng)態(tài)畫面進(jìn)行繪制,繪制時(shí)只繪制動(dòng)態(tài)畫面的一幀。
      以上可以看出,每個(gè)游戲循環(huán)中都需要計(jì)算并獲取當(dāng)前屏幕中所有的地表圖素塊,即使上一個(gè)游戲循環(huán)與下一個(gè)游戲循環(huán)中的地圖完全相同或僅僅有幾個(gè)地表圖素塊不同,每個(gè)游戲循環(huán)中大量的計(jì)算,對(duì)于運(yùn)行游戲的硬件要求高。
      在手機(jī)網(wǎng)絡(luò)游戲中,由于手機(jī)的處理速度低,內(nèi)存小,在實(shí)現(xiàn)畫面復(fù)雜的游戲時(shí),用上述方法繪制地圖需要花較長(zhǎng)的時(shí)間,會(huì)導(dǎo)致在一個(gè)游戲循環(huán)內(nèi),無法完成所有的邏輯運(yùn)算以及游戲畫面的顯示,就進(jìn)入下一次游戲循環(huán),使得游戲畫面看起來有跳格,動(dòng)畫遲延的現(xiàn)象。

      發(fā)明內(nèi)容
      本發(fā)明要解決的技術(shù)問題是提供一種游戲中的地圖繪制方法,能夠減少游戲地圖的繪制時(shí)間,保證游戲的流暢性、美觀性和可玩性。
      為解決上述技術(shù)問題,本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的(1)保存上一游戲循環(huán)的地像數(shù)據(jù);(2)獲取下一游戲循環(huán)與上一游戲循環(huán)中地圖的縱橫向象素差;(3)將保存的上一游戲循環(huán)的地像數(shù)據(jù)取出,根據(jù)象素差進(jìn)行繪制。
      (4)根據(jù)象素差,繪制所保存圖像數(shù)據(jù)中未顯示的部分。
      其中,所述步驟(1)之前進(jìn)一步包括(0)第一次繪制游戲循環(huán)地圖時(shí),順序繪制地表圖素塊。
      其中,所述步驟(0)之前進(jìn)一步包括1)將世界地圖劃分成地表圖素塊;2)從世界地圖的起始點(diǎn)開始為每個(gè)地表圖素塊設(shè)置一個(gè)唯一編號(hào)。
      其中,所述步驟1)進(jìn)一步包括11)將世界地圖劃分為關(guān)卡地圖;12)以關(guān)卡地圖左上角頂點(diǎn)為起始點(diǎn)劃分成地表圖素塊。
      其中,所述步驟(0)包括(01)獲取玩家所在位置的世界坐標(biāo);(02)根據(jù)獲取的世界坐標(biāo)計(jì)算該游戲循環(huán)地圖頂點(diǎn)的世界坐標(biāo);(03)根據(jù)計(jì)算出的頂點(diǎn)坐標(biāo)世界坐標(biāo)獲取相應(yīng)的地表圖素塊;(04)以左上角的頂點(diǎn)為起始點(diǎn)順序繪制地表圖素塊。
      其中,所述步驟(2)包括(21)獲取上一游戲循環(huán)玩家所在位置的世界坐標(biāo);(22)獲取下一游戲循環(huán)玩家所在位置的世界坐標(biāo);(23)根據(jù)上一游戲循環(huán)玩家橫向世界坐標(biāo)與下一游戲循環(huán)玩家橫向世界坐標(biāo)的差值得出下一游戲循環(huán)與上一游戲循環(huán)中地圖的橫向象素差;(24)根據(jù)上一游戲循環(huán)玩家縱向世界坐標(biāo)與下一游戲循環(huán)玩家縱向世界坐標(biāo)的差值得出下一游戲循環(huán)與上一游戲循環(huán)中地圖的縱向象素差。
      其中,所述步驟(3)進(jìn)一步包括計(jì)算該地圖在屏幕中的繪制點(diǎn)的世界坐標(biāo),并在屏幕中顯示上下游戲循環(huán)地像數(shù)據(jù)相同的部分。
      其中,所述步驟(4)包括(41)獲取圖像數(shù)據(jù)中未顯示部分的地表圖素塊;(42)獲取每個(gè)地表圖素塊的起始點(diǎn)坐標(biāo);(43)根據(jù)每個(gè)地表圖素塊對(duì)應(yīng)的起始點(diǎn)坐標(biāo)分別繪制游戲循環(huán)地圖。
      其中,所述步驟(4)進(jìn)一步包括(41)刪除緩沖區(qū)中保存的上一游戲循環(huán)中的地像數(shù)據(jù);(42)將下一游戲循環(huán)中所顯示的地像數(shù)據(jù)保存到內(nèi)存中。
      其中,對(duì)所述的游戲循環(huán)地圖進(jìn)行周期繪制。
      以上技術(shù)方案可以看出,在上一游戲循環(huán)中繪制完地圖時(shí),保存了該地像數(shù)據(jù),下一游戲循環(huán)時(shí),從內(nèi)存中獲取所保存的上一游戲循環(huán)中的地像數(shù)據(jù),根據(jù)上下游戲循環(huán)中地圖象素差,直接對(duì)上一游戲循環(huán)地圖進(jìn)行繪制,然后再以地表圖素塊為單位繪制所保存圖像中沒有繪制的部分,這樣就避免了重新以地表圖素塊為單位繪制上下游戲循環(huán)地圖相同的部分。因此,減少了繪制地圖時(shí)的邏輯運(yùn)算,節(jié)省了時(shí)間,縮短了繪制游戲地圖的循環(huán)周期,實(shí)現(xiàn)在不犧牲畫面質(zhì)量的情況下,保證游戲的流暢性、美觀性和可玩性。


      圖1為本發(fā)明實(shí)施例的流程圖;圖2為本發(fā)明的世界地圖;圖3為本發(fā)明上一游戲循環(huán)所顯示的地圖;圖4為本發(fā)明當(dāng)前游戲循環(huán)所顯示的地圖;圖5為本發(fā)明上一游戲循環(huán)與當(dāng)前游戲循環(huán)比較所得到的地圖。
      具體實(shí)施例方式
      本發(fā)明為一種游戲中的地圖繪制方法,為使本發(fā)明的目的、技術(shù)方案、及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步進(jìn)行詳細(xì)說明。
      首先,對(duì)本發(fā)明所提供的方法進(jìn)行總體描述本發(fā)明所提供的方法包括步驟步驟(1)第一次繪制背景地圖時(shí),依據(jù)玩家位置的世界坐標(biāo)、屏幕大小計(jì)算出當(dāng)前地圖起始點(diǎn)的世界坐標(biāo),獲取當(dāng)前屏幕中相應(yīng)的地表圖素塊,順序繪制;步驟(2)將上一游戲循環(huán)的當(dāng)前地圖作為圖像數(shù)據(jù)保存在內(nèi)存中;步驟(3)獲取玩家在下一循環(huán)中的世界坐標(biāo),計(jì)算出與上一游戲循環(huán)中世界坐標(biāo)的縱橫向的象素差;步驟(4)下一游戲循環(huán)時(shí),將保存的上一游戲循環(huán)的地像數(shù)據(jù)取出,根據(jù)象素差,計(jì)算出該地圖在屏幕中的繪制點(diǎn)的世界坐標(biāo),進(jìn)行繪制;
      步驟(5)根據(jù)象素差,獲取所保存的圖像中沒有顯示的地表圖素塊,進(jìn)行繪制。
      計(jì)算過程假設(shè)世界地圖為500×500,劃分為20*20的地表圖素塊,則該世界地圖有25*25個(gè)地表圖素塊,按橫向排列為地表圖素塊設(shè)置編號(hào),分別為1,2,3.....625,編號(hào)1的地表圖素塊的四個(gè)頂點(diǎn)坐標(biāo)為(0,0),(20,0),(0,20),(20,20);編號(hào)2的地表圖素塊的四個(gè)頂點(diǎn)坐標(biāo)為(20,0),(40,0),(0,20),(40,40);依此類推,編號(hào)為625的地表圖素塊的四個(gè)頂點(diǎn)坐標(biāo)為(480,480),(480,500),(500,480),(500,500)假設(shè)屏幕大小為100×100象素,屏幕的四個(gè)頂點(diǎn)的屏幕坐標(biāo)是(0,0),(100,0),(0,100),(100,100)假設(shè)當(dāng)前玩家的世界坐標(biāo)為(60,80),玩家位置位于屏幕中心。
      第一次繪制該地圖時(shí),通過以下計(jì)算,進(jìn)行繪制當(dāng)前地圖的四個(gè)頂點(diǎn)坐標(biāo)為(x0,y0),(x1,y0),(x0,y1),(x1,y1),根據(jù)公式(x0+x1)/2=60,x0+x1=100,(y0+y1)/2=80,y0+y1=100,可以計(jì)算出當(dāng)前地圖4個(gè)頂點(diǎn)的世界坐標(biāo)分別為(10,30),(110,30),(10,130),(110,130),其中(10,30)為屏幕(0,0)點(diǎn)的世界坐標(biāo),也是當(dāng)前地圖起始點(diǎn)的世界坐標(biāo)。
      根據(jù)該起始點(diǎn)坐標(biāo)(10,30),可獲知該點(diǎn)坐標(biāo)位于第一列,第二行的地表圖素塊中。由于屏幕大小為100×100,可獲知當(dāng)前地圖四個(gè)頂點(diǎn)的坐標(biāo)為(10,30),(110,30),(10,130),(110,130),應(yīng)繪制的地表圖素塊為第1列至第6列,第2行至第7行獲取該圖素塊,進(jìn)行繪制時(shí),將第1列,第2行的地表圖素塊的(10,30)點(diǎn)繪制在屏幕的(0,0)點(diǎn)上。即繪制的地表圖素塊共為36個(gè),繪制的地圖實(shí)際大小為120×120,玩家通過屏幕看到的地圖大小是100*100。將顯示的100×100地圖的圖像數(shù)據(jù)保存在內(nèi)存中,該地圖以P表示,其對(duì)應(yīng)的四個(gè)頂點(diǎn)坐標(biāo),即當(dāng)前地圖坐標(biāo)是(10,30),(110,30),(10,130),(110,130)。
      下一游戲循環(huán)時(shí),若玩家位置橫向移動(dòng)了+15個(gè)象素,即玩家坐標(biāo)為(75,80),由于象素差小于地表圖素塊的大小,因此,當(dāng)前地圖對(duì)應(yīng)的地表圖素塊仍是第1列至第6列,第2行至第7行的地表圖素塊,保存的圖像P中覆蓋了當(dāng)前地圖中點(diǎn)(25,30)和點(diǎn)(110,130)構(gòu)成的面積,此面積即為上一游戲循環(huán)與下一游戲循環(huán)地圖的相同部分,上下游戲循環(huán)地圖不同部分為第6列中6個(gè)地表圖素塊偏移+15個(gè)象素后的部分,再繪制這部分地圖時(shí)是以地表圖素塊為單位進(jìn)行繪制的,因此需要重新繪制第6列中的6個(gè)地表圖素塊,繪制時(shí),取出內(nèi)存中保存的上一游戲循環(huán)中的地圖的圖像數(shù)據(jù)P,進(jìn)行繪制,將該圖像的(25,30)點(diǎn)繪制在屏幕的(0,0)點(diǎn)上,繪制完該圖像后,重新繪制第6列中的6個(gè)地表圖素塊,每個(gè)地表圖素塊的繪制起始點(diǎn),分別為圖像P上的世界坐標(biāo)為(100,30),(100,50),(100,70),(100,90),(100,110),(100,130)的6個(gè)點(diǎn)。繪制完成后,將當(dāng)前地圖保存到內(nèi)存中,該地圖以P1表示,其對(duì)應(yīng)的四個(gè)頂點(diǎn)坐標(biāo)是(25,30),(125,30),(25,130),(125,130)。
      下面參照附圖進(jìn)行詳細(xì)說明參見圖1,實(shí)現(xiàn)本發(fā)明的具體流程如下步驟101判斷當(dāng)前游戲循環(huán)中的世界地圖或關(guān)卡地圖是否是第一次繪制,若是,則進(jìn)行步驟102,否則,進(jìn)行步驟104;步驟102依據(jù)玩家位置的世界坐標(biāo)、屏幕大小計(jì)算出當(dāng)前地圖四個(gè)頂點(diǎn)的世界坐標(biāo),獲取相應(yīng)的地表圖素塊,并順序進(jìn)行繪制;步驟103將當(dāng)前地圖作為圖像數(shù)據(jù)保存在緩沖區(qū)中;步驟104從緩沖區(qū)中取出保存的上一游戲循環(huán)中的地像數(shù)據(jù),根據(jù)象素差,計(jì)算出該地圖在屏幕中的繪制點(diǎn)的世界坐標(biāo),進(jìn)行繪制;步驟105獲取玩家當(dāng)前位置的世界坐標(biāo),計(jì)算與上一游戲循環(huán)中玩家位置的象素差;步驟106根據(jù)象素差,獲取所保存的圖像中沒有顯示的地圖部分所對(duì)應(yīng)的地表圖素塊,順序進(jìn)行繪制;
      步驟107刪除緩沖區(qū)中所保存的上一游戲循環(huán)中的地像數(shù)據(jù),將下一游戲循環(huán)中所顯示的地像數(shù)據(jù)保存到內(nèi)存中。
      其中,進(jìn)行本流程之前還需如下步驟,具體包括(a)將世界地圖劃分成地表圖素塊;(b)為每個(gè)地表圖素塊設(shè)置一個(gè)唯一編號(hào);其中,步驟(a)中,若世界地圖進(jìn)一步劃分為關(guān)卡地圖,則以關(guān)卡地圖為單位,對(duì)每個(gè)關(guān)卡地圖進(jìn)行劃分。
      下面結(jié)合本發(fā)明的游戲循環(huán)界面,進(jìn)一步進(jìn)行詳細(xì)說明參見圖2,將世界地圖劃分成大小相等,形狀為正方形的地表圖素塊,然后以世界地圖的左上角作為起始點(diǎn)對(duì)每個(gè)地表圖素塊設(shè)置一個(gè)編號(hào),在本發(fā)明中將世界地圖分為大小相等,形狀為正方形的20個(gè)地表圖素塊,從左上角開始用1至20的數(shù)字對(duì)這20個(gè)地表圖素塊順序編號(hào)。
      在第一次繪制背景地圖時(shí),依據(jù)當(dāng)前玩家的坐標(biāo)位置,計(jì)算出當(dāng)前地圖起始點(diǎn)在世界地圖中的世界坐標(biāo),根據(jù)世界坐標(biāo),可順序繪制該世界坐標(biāo)開始的地表圖素塊。
      參見圖3,為本發(fā)明的上一游戲循環(huán)所顯示的地圖,上一游戲循環(huán)所顯示的地圖用A區(qū)表示,包括編號(hào)分別為1、2、3、5、6、7、9、10、11的地表圖素塊,其中,標(biāo)號(hào)為6的地表圖素塊表示當(dāng)前玩家所在的位置。
      標(biāo)號(hào)為1、2、3、5、6、7、9、10、11的地表圖素塊所在的地圖,即標(biāo)號(hào)為6的地表圖素塊為中心,手機(jī)屏幕所能顯示的地圖作為當(dāng)前地圖;將A區(qū)表示的地圖保存到緩沖區(qū)。
      將A區(qū)保存到緩沖區(qū)的目的是為了在下一游戲循環(huán)時(shí)避免在每個(gè)游戲循環(huán)中繪制背景時(shí),減少背景中的地表圖素塊的重復(fù)繪制,由于玩家游戲過程中,不論是行走,跑動(dòng),還是靜止?fàn)顟B(tài),其所在的上一游戲循環(huán)所顯示的地圖與當(dāng)前游戲循環(huán)所顯示的地圖的差別不會(huì)太大,例如如果玩家處于靜止?fàn)顟B(tài),則地圖不發(fā)生變化,若要重新繪制所有地表圖素塊,則會(huì)占用有限資源;若玩家處于行走或跑動(dòng)狀態(tài),玩家所在的位置,一般情況下只是在原有位置基礎(chǔ)上,移動(dòng)有限的象素,地圖的變化,只是幾個(gè)象素位置的變化,大部分的地表圖素塊,在下一游戲循環(huán)時(shí)仍需重新繪制。
      參見圖4,為下一游戲循環(huán)所顯示的地圖,下一游戲循環(huán)所顯示的地圖用B區(qū)表示,包括標(biāo)號(hào)為2、3、4、6、7、8、10、11、12的地表圖素塊,其中,標(biāo)號(hào)為7的地表圖素塊表示當(dāng)前玩家所在的位置。
      當(dāng)前游戲循環(huán)所顯示的地圖的繪制包括以下步驟步驟(1)依據(jù)當(dāng)前玩家所在的位置,計(jì)算出與上一游戲循環(huán)中玩家位置的象素差;步驟(2)從緩沖區(qū)中取出上一游戲循環(huán)所表示的地圖,根據(jù)象素差,計(jì)算出該地圖在屏幕中的繪制坐標(biāo),進(jìn)行繪制;步驟(3)根據(jù)像素差,繪制圖像中沒有顯示的地圖部分所對(duì)應(yīng)的地表圖素塊,即標(biāo)號(hào)分別為4、8、12的地表圖素塊;至此,完成了當(dāng)前游戲循環(huán)所顯示的地圖的繪制,最后顯示在屏幕中的當(dāng)前地圖用B區(qū)表示,包括標(biāo)號(hào)分別為2、3、4、6、7、8、10、11、12的地表圖素塊,在此之后還應(yīng)包括步驟(4)將B區(qū)表示的地圖保存到緩沖區(qū)中。
      在繪制當(dāng)前地圖時(shí),利用了上一游戲循環(huán)所保存的地像數(shù)據(jù),即A區(qū),根據(jù)上一游戲循環(huán)玩家所在的位置即標(biāo)號(hào)為6的地表圖素塊,與當(dāng)前游戲循環(huán)玩家所在的位置即標(biāo)號(hào)為7的地表圖素塊,可看出當(dāng)前游戲循環(huán)玩家所在的位置只是在上一游戲循環(huán)玩家所在位置的基礎(chǔ)上,移動(dòng)有限的象素,因此,地圖的變化,只是幾個(gè)象素位置的變化,在繪制當(dāng)前游戲循環(huán)地圖的過程中,就避免了重復(fù)繪制標(biāo)號(hào)分別為2、3、6、7、10、11的地表圖素塊,只需繪制變化的部分,即標(biāo)號(hào)分別為4、8、12的地表圖素塊。
      參見圖5,為本發(fā)明上一游戲循環(huán)與下一游戲循環(huán)比較所得的地圖。
      其中,I區(qū)表示上一游戲循環(huán)與下一游戲循環(huán)不同的部分,II區(qū)表示上一游戲循環(huán)與下一游戲循環(huán)相同的部分,在繪制地圖時(shí),先將A區(qū)保存在緩沖區(qū)中,在繪制B區(qū)時(shí)將A區(qū)從緩沖區(qū)中取出,根據(jù)玩家位置在上下游戲循環(huán)中的橫縱向象素差,計(jì)算出A區(qū)在屏幕中的繪制坐標(biāo),進(jìn)行A區(qū)的繪制,然后再繪制B區(qū)中A區(qū)所沒有顯示的部分,即標(biāo)號(hào)分別為4、8、12地表圖素塊,這時(shí)在手機(jī)內(nèi)存中有I區(qū)、II區(qū)和標(biāo)號(hào)分別為4、8、12地表圖素塊,但是由于手機(jī)的屏幕有限,玩家所能看到的地圖為II區(qū)和標(biāo)號(hào)分別為4、8、12地表圖素塊。
      繪制一個(gè)游戲地圖時(shí),將繪制好的當(dāng)前游戲循環(huán)所顯示的地圖保存到緩沖區(qū),是為了下一游戲循環(huán)繪制游戲地圖時(shí),減少游戲地圖中相同部分地圖重新以地表圖素塊為單位進(jìn)行繪制,本實(shí)施例中,上下游戲循環(huán)中游戲地圖相同的部分為II區(qū),在繪制時(shí),只需以地表圖素塊為單位繪制上一游戲循環(huán)中沒有顯示的部分地圖,即標(biāo)號(hào)分別為4、8、12的地表圖素塊。
      以上對(duì)本發(fā)明所提供的一種游戲中的地圖繪制方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
      及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
      權(quán)利要求
      1.一種游戲中的地圖繪制方法,其特征在于,包括步驟(1)保存上一游戲循環(huán)的地像數(shù)據(jù);(2)獲取下一游戲循環(huán)與上一游戲循環(huán)中地圖的縱橫向象素差;(3)將保存的上一游戲循環(huán)的地像數(shù)據(jù)取出,根據(jù)象素差進(jìn)行繪制;(4)根據(jù)象素差,繪制所保存圖像數(shù)據(jù)中未顯示的部分。
      2.根據(jù)權(quán)利要求1所述的游戲中的地圖繪制方法,其特征在于,所述步驟(1)之前進(jìn)一步包括(0)第一次繪制游戲循環(huán)地圖時(shí),順序繪制地表圖素塊。
      3.根據(jù)權(quán)利要求2所述的游戲中的地圖繪制方法,其特征在于,所述步驟(0)之前進(jìn)一步包括1)將世界地圖劃分成地表圖素塊;2)從世界地圖的起始點(diǎn)開始為每個(gè)地表圖素塊設(shè)置一個(gè)唯一編號(hào)。
      4.根據(jù)權(quán)利要求3所述的游戲中的地圖繪制方法,其特征在于,所述步驟1)進(jìn)一步包括11)將世界地圖劃分為關(guān)卡地圖;12)以關(guān)卡地圖左上角頂點(diǎn)為起始點(diǎn)劃分成地表圖素塊。
      5.根據(jù)權(quán)利要求2所述的游戲中的地圖繪制方法,其特征在于,所述步驟(0)包括(01)獲取玩家所在位置的世界坐標(biāo);(02)根據(jù)獲取的世界坐標(biāo)計(jì)算該游戲循環(huán)地圖頂點(diǎn)的世界坐標(biāo);(03)根據(jù)計(jì)算出的頂點(diǎn)坐標(biāo)世界坐標(biāo)獲取相應(yīng)的地表圖素塊;(04)以左上角的頂點(diǎn)為起始點(diǎn)順序繪制地表圖素塊。
      6.根據(jù)權(quán)利要求1所述的游戲中的地圖繪制方法,其特征在于,所述步驟(2)包括(21)獲取上一游戲循環(huán)玩家所在位置的世界坐標(biāo);(22)獲取下一游戲循環(huán)玩家所在位置的世界坐標(biāo);(23)根據(jù)上一游戲循環(huán)玩家橫向世界坐標(biāo)與下一游戲循環(huán)玩家橫向世界坐標(biāo)的差值得出下一游戲循環(huán)與上一游戲循環(huán)中地圖的橫向象素差;(24)根據(jù)上一游戲循環(huán)玩家縱向世界坐標(biāo)與下一游戲循環(huán)玩家縱向世界坐標(biāo)的差值得出下一游戲循環(huán)與上一游戲循環(huán)中地圖的縱向象素差。
      7.根據(jù)權(quán)利要求1所述的游戲中的地圖繪制方法,其特征在于,所述步驟(3)進(jìn)一步包括計(jì)算該地圖在屏幕中的繪制點(diǎn)的世界坐標(biāo),并在屏幕中顯示上下游戲循環(huán)地像數(shù)據(jù)相同的部分。
      8.根據(jù)權(quán)利要求1所述的游戲中的地圖繪制方法,其特征在于,所述步驟(4)包括(41)獲取圖像數(shù)據(jù)中未顯示部分的地表圖素塊;(42)獲取每個(gè)地表圖素塊的起始點(diǎn)坐標(biāo);(43)根據(jù)每個(gè)地表圖素塊對(duì)應(yīng)的起始點(diǎn)坐標(biāo)分別繪制游戲循環(huán)地圖。
      9.根據(jù)權(quán)利要求1所述的游戲中的地圖繪制方法,其特征在于,所述步驟(4)進(jìn)一步包括(41)刪除緩沖區(qū)中保存的上一游戲循環(huán)中的地像數(shù)據(jù);(42)將下一游戲循環(huán)中所顯示的地像數(shù)據(jù)保存到內(nèi)存中。
      10.根據(jù)權(quán)利要求1所述的游戲中的地圖繪制方法,其特征在于,對(duì)所述的游戲循環(huán)地圖進(jìn)行周期繪制。
      全文摘要
      本發(fā)明屬于圖像顯示技術(shù),提供了一種游戲中的地圖繪制方法,該方法具體為判斷當(dāng)前游戲中的地圖是否是第一次繪制,如果是,獲取地表圖素塊,順序繪制,否則,保存上一游戲循環(huán)的地像數(shù)據(jù),在下一游戲循環(huán)時(shí),計(jì)算下一游戲循環(huán)與上一游戲循環(huán)中地圖的縱橫向象素差,并將保存的上一游戲循環(huán)的地像數(shù)據(jù)取出,根據(jù)象素差進(jìn)行繪制,然后以地表圖素塊為單位繪制所保存圖像數(shù)據(jù)中未顯示的部分。利用本發(fā)明,避免了重新以地表圖素塊為單位繪制上下游戲循環(huán)地圖相同的部分,減少了繪制地圖時(shí)的邏輯運(yùn)算,節(jié)省了時(shí)間,縮短了繪制游戲地圖的循環(huán)周期,實(shí)現(xiàn)在不犧牲畫面質(zhì)量的情況下,保證游戲的流暢性、美觀性和可玩性。
      文檔編號(hào)G06F19/00GK1885296SQ200610089679
      公開日2006年12月27日 申請(qǐng)日期2006年7月11日 優(yōu)先權(quán)日2006年7月11日
      發(fā)明者張寶暉 申請(qǐng)人:北京金山軟件有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1