青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 132  文章 - 51  trackbacks - 0
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(7)

隨筆分類

隨筆檔案

文章分類

文章檔案

cocos2d-x

OGRE

OPenGL

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

我們要做一個(gè)45度游戲地圖中,那么如何判斷鼠標(biāo)點(diǎn)中了哪一個(gè)碎片呢??如圖:
 
也許你想到通過(guò)解兩個(gè)直線方程(點(diǎn)斜式):

 

不過(guò)這是個(gè)笨辦法,那么有更簡(jiǎn)單的辦法嗎?
開(kāi)門見(jiàn)山:
***********************************
N=int(x/TileW - y/TileH)
M=int(x/TileW + y/TileH)

***********************************
N,M是碎片的索引,從0開(kāi)始。
TileW,TileH是碎片的長(zhǎng)寬。
x,y是鼠標(biāo)坐標(biāo),但是注意坐標(biāo)系原點(diǎn)。
以上過(guò)程如下圖演示:
 
那么,是什么原理呢?

我們建立一個(gè)新的坐標(biāo)系。以花體字的u,v為新的基向量。

 
然后把鼠標(biāo)坐標(biāo)(注意原點(diǎn)!)(x,y)轉(zhuǎn)換成基于新的基集t={u,v}的展開(kāi)式:
 


使用的時(shí)候很簡(jiǎn)單
公式是
  1. N=int(x/TileW - y/TileH)
  2. M=int(x/TileW + y/TileH)


------------------------------------------------------------------------------------------------------------
下面說(shuō)的是45度地圖,地圖坐標(biāo)系在頂端的格子計(jì)算方法

關(guān)于45度角地圖中像素坐標(biāo)和地圖坐標(biāo)之間的轉(zhuǎn)換,網(wǎng)上有各種方法,其實(shí)坐標(biāo)轉(zhuǎn)換就是計(jì)算tite寬和tile高在像素坐標(biāo)中的偏移值,本方法是針對(duì) tite塊原點(diǎn)坐標(biāo)在菱形的頂點(diǎn)的位置的坐標(biāo)轉(zhuǎn)換,在45度角地圖中,方塊形狀為菱形,你可以用flash cs工具或其他繪圖工具很快的創(chuàng)建出這種菱形方塊,按以下3個(gè)步驟就可以了:
1、 繪制一個(gè)任意大小的正方形;
2、 把這個(gè)正方形旋轉(zhuǎn)45度;
3、 把旋轉(zhuǎn)的正方形的高度縮放為原來(lái)的50%。
還有一點(diǎn)就是方塊尺寸的問(wèn)題,菱形方塊的寬度是高度的2倍,其次方塊尺寸比例應(yīng)該是2:1。例如64像素X 32像素或100像素 X 50像素等,這樣的尺寸剛好能使方塊在地圖鋪設(shè)的時(shí)候很好地排列在屏幕上。
至于坐標(biāo)間的轉(zhuǎn)換其實(shí)大家看圖就好理解了:


圖中是一個(gè)以紅色(0,0)位置為原點(diǎn),紅點(diǎn)每向地圖坐標(biāo)系M軸上移動(dòng)一個(gè)單位,原點(diǎn)相對(duì)像素坐標(biāo)系X中的偏移值為:方塊寬度/2
菱形方塊寬 var tileW :Number;
菱形方塊高 var tileH :Number;
地圖的行數(shù) var row :int;
地圖的列數(shù) var col :int;
紅色原點(diǎn)坐標(biāo)(像素坐標(biāo)系) var originP : Point;
那么紅色的原點(diǎn)坐標(biāo)在地圖坐標(biāo)系中的位置為:
originP.x = row * tileW /2;
originP.y = 0;
原點(diǎn)坐標(biāo)出來(lái)了,那么其它點(diǎn)的坐標(biāo)呢?
思路是先求出在地圖坐標(biāo)系下(M方向或N方向)每移動(dòng)一個(gè)單位的像素坐標(biāo)系X軸和像素坐標(biāo)系Y軸的像素偏移值。
如紅色原點(diǎn)移動(dòng)到黑色點(diǎn)的位置:
M在像素坐標(biāo)系X軸的偏移像素 = tileW /2;(向右偏移)
M在像素坐標(biāo)系Y軸的偏移像素 = tileH /2; (向下偏移)
N在像素坐標(biāo)系X軸的偏移像素 = - tileW /2;(向左偏移)
N在像素坐標(biāo)系Y軸的偏移像素 = tileH /2; (向下偏移)
假如有個(gè)地圖坐標(biāo)點(diǎn)(M,N),那么它對(duì)應(yīng)的像素坐標(biāo)系的點(diǎn)為var p:Point
p.x = 原點(diǎn)坐標(biāo)X + M在像素坐標(biāo)系X軸的偏移像素 × M + N在像素坐標(biāo)系X軸的偏移像素 × N = originP.x + tileW /2 × M + (-tileW/2) × N = originP.x + (M – N) × tileW/2;
p.y = 原點(diǎn)坐標(biāo)Y + M在像素坐標(biāo)系Y軸的偏移像素 × M + N在像素坐標(biāo)系Y軸的偏移像素 × N = originP.y + tileH/2 × M + tileH/2 × N = originP.y + (M + N) × tileH/2;

原文地址:http://blog.sina.com.cn/s/blog_6807f539010103ce.html

posted on 2012-07-20 08:12 風(fēng)輕云淡 閱讀(7125) 評(píng)論(0)  編輯 收藏 引用 所屬分類: cocos2d
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产农村妇女毛片精品久久莱园子 | 国产精品综合av一区二区国产馆| 欧美一区二区国产| 亚洲国产一区在线| 久久精品官网| 久久精选视频| 美日韩丰满少妇在线观看| 久久婷婷蜜乳一本欲蜜臀| 久久久久久久久久看片| 欧美影片第一页| 免费黄网站欧美| 亚洲乱码一区二区| 亚洲欧美成人| 久久大逼视频| 欧美激情中文字幕一区二区| 欧美激情精品久久久久久黑人 | 亚洲欧美视频在线观看| 99精品99久久久久久宅男| 亚洲一区二区动漫| 久久视频国产精品免费视频在线| 牛牛国产精品| 国产精品主播| 亚洲三级免费电影| 亚洲第一视频| 久久精品日产第一区二区| 亚洲国产成人在线| 久久精品免费看| 国产精品视频第一区| 亚洲精品资源| 毛片精品免费在线观看| 性高湖久久久久久久久| 欧美日韩精品免费看| 久久国产精品亚洲va麻豆| 国产精品毛片a∨一区二区三区| 欧美性生交xxxxx久久久| 亚洲韩国日本中文字幕| 久久综合色播五月| 久久精品国产综合| 国产一区二区三区久久精品| 性欧美xxxx大乳国产app| 日韩亚洲成人av在线| 欧美日韩亚洲一区三区| 一区二区三区蜜桃网| 亚洲视频在线观看免费| 国产精品国产三级国产普通话蜜臀| 亚洲精品美女久久久久| 亚洲日本一区二区三区| 欧美日韩精品欧美日韩精品| 在线一区欧美| 香蕉久久久久久久av网站| 国产一区二区日韩精品欧美精品| 欧美日韩精品伦理作品在线免费观看| 亚洲精品美女免费| 亚洲国产精品久久精品怡红院| 免费看亚洲片| 亚洲综合色丁香婷婷六月图片| 99精品欧美一区二区三区综合在线 | 黄色成人在线免费| 亚洲国产导航| 国产精品美女久久久久久2018| 久久久久久一区二区| 欧美精品18| 欧美影院在线| 欧美日韩精品免费在线观看视频| 久久综合狠狠| 国产日韩综合| 一区二区精品在线观看| 亚洲国产精品第一区二区三区| 亚洲一区二区黄色| 亚洲一级二级| 国产精品福利久久久| 91久久精品国产91久久性色| 在线精品在线| 欧美1区视频| 欧美国产日韩在线| 在线成人免费观看| 久久免费黄色| 亚洲第一在线| 一区二区国产精品| 国产精品毛片va一区二区三区 | 亚洲午夜影视影院在线观看| 狂野欧美激情性xxxx| 可以看av的网站久久看| 尤物yw午夜国产精品视频| 一区二区三区精品久久久| 欧美激情精品久久久久久久变态| 欧美freesex交免费视频| 亚洲美女视频| 国产欧美一区二区三区沐欲 | 99视频精品全部免费在线| 一本色道久久综合亚洲精品按摩 | 久久影院亚洲| 亚洲日韩欧美视频一区| 欧美福利视频| 午夜国产精品影院在线观看| 欧美国产综合视频| 性伦欧美刺激片在线观看| 一区二区三区在线视频观看| 欧美日韩1区2区3区| 久久国产精品99精品国产| 亚洲精品男同| 欧美国产日韩免费| 久久久久国产精品厨房| 亚洲色图综合久久| 亚洲国产成人精品久久| 国产精品亚洲一区| 欧美日韩第一区| 女人香蕉久久**毛片精品| 久久国产福利| 欧美资源在线| 久久久www| 午夜在线观看免费一区| 99精品视频免费| 亚洲视频精选在线| 日韩亚洲在线| 亚洲先锋成人| 一本色道久久综合亚洲二区三区| 亚洲高清视频在线| 亚洲国产日本| 99视频在线精品国自产拍免费观看| 狠狠狠色丁香婷婷综合激情| 国内一区二区在线视频观看| 一区二区三区中文在线观看| 国产专区精品视频| 国语自产精品视频在线看| 国内精品久久久久久久97牛牛| 国产欧美一区二区三区另类精品| 国产亚洲欧洲997久久综合| 国产亚洲精品美女| 亚洲国产日韩欧美一区二区三区| 伊人婷婷欧美激情| 亚洲精品免费在线| 亚洲免费中文| 欧美成人资源网| 亚洲在线视频网站| 久久久综合香蕉尹人综合网| 欧美高清hd18日本| 国产裸体写真av一区二区| 91久久国产精品91久久性色| 亚洲欧美福利一区二区| 老牛国产精品一区的观看方式| 亚洲人成网站在线观看播放| 欧美伊人久久久久久久久影院| 欧美丰满高潮xxxx喷水动漫| 国产精品欧美日韩| 一区二区日本视频| 亚洲国产成人av好男人在线观看| 亚洲欧美日韩一区在线| 欧美日韩国产色站一区二区三区| 狠狠久久婷婷| 久久综合中文| 久久本道综合色狠狠五月| 国产精品电影观看| 亚洲五月婷婷| 亚洲高清在线播放| 欧美—级a级欧美特级ar全黄| 亚洲国产成人tv| 亚洲精品久久久久久久久| 亚洲区在线播放| 久久综合九色欧美综合狠狠| 国内精品伊人久久久久av影院| 欧美一区二区三区四区高清| 亚洲男人天堂2024| 国产亚洲一级| 亚洲国产成人一区| 国产精品a久久久久久| 在线天堂一区av电影| 亚洲欧美视频在线观看视频| 国产精品手机视频| 免费亚洲婷婷| 欧美性天天影院| 免费不卡在线视频| 欧美久久在线| 久久免费观看视频| 欧美日韩亚洲另类| 久久久蜜桃精品| 欧美日韩免费观看中文| 久久成人综合网| 欧美另类变人与禽xxxxx| 亚洲免费影视第一页| 久久综合99re88久久爱| 亚洲午夜高清视频| 久久青草欧美一区二区三区| 亚洲午夜电影| 欧美日韩国产色站一区二区三区| 六月婷婷久久| 国语自产在线不卡| 亚洲一区在线观看免费观看电影高清 | 欧美一区二区三区日韩视频| 欧美激情综合色综合啪啪| 欧美成人dvd在线视频| 国产欧美日韩在线播放| 99在线观看免费视频精品观看| 亚洲国产欧洲综合997久久| 欧美一区日本一区韩国一区| 亚洲欧美日韩精品久久奇米色影视| 欧美精品一区二区精品网| 欧美国产一区在线| 亚洲精品免费在线播放| 欧美日韩另类视频|