精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android游戲引擎libgdx使用教程8:相機(jī)和觀(guān)察點(diǎn)

移動(dòng)開(kāi)發(fā) Android
上一節(jié)中講了libgdx引擎框架總觀(guān),本節(jié)講講相機(jī)和觀(guān)察點(diǎn)。相機(jī)也可以成為觀(guān)察者,最簡(jiǎn)單的例子就是魂斗羅。玩家操作角色前進(jìn),后退,跳躍等,顯示的世界(就是后面的背景)會(huì)不停變化。其實(shí)就是相機(jī)的觀(guān)察點(diǎn)(視角)的改變引起的。

上一節(jié)中講了libgdx引擎框架總觀(guān),本節(jié)講講相機(jī)和觀(guān)察點(diǎn)。

相機(jī)也可以成為觀(guān)察者,最簡(jiǎn)單的例子就是魂斗羅。

[[91329]]

玩家操作角色前進(jìn),后退,跳躍等,顯示的世界(就是后面的背景)會(huì)不停變化。其實(shí)就是相機(jī)的觀(guān)察點(diǎn)(視角)的改變引起的。

也許游戲的世界(背景地圖)很大,比如10240*480,而設(shè)備的分辨率是800*480。現(xiàn)在游戲的角色在地圖的最左側(cè),那么它的觀(guān)察點(diǎn)就是(400,240)。

隨著角色的向前移動(dòng),觀(guān)察點(diǎn)也變化,通常是y值變大。

角色后退時(shí)y值變小。角色跳躍時(shí),x值變化。(其實(shí)地圖可能要稍微高一點(diǎn),比如500,這樣角色的跳躍才會(huì)有效果)。

可以說(shuō)相機(jī)是游戲開(kāi)發(fā)的一個(gè)基本組件。而Libgdx的Stage類(lèi)中就默認(rèn)包含了一個(gè)Camera。

Camera類(lèi)按照功能而言也有很多種,最常用的是OrthographicCamera(正投影相機(jī)),Stage中默認(rèn)Camera的實(shí)現(xiàn)類(lèi)為該類(lèi)。

 OrthographicCamera實(shí)現(xiàn)以下功能:

1. 移動(dòng)和旋轉(zhuǎn)鏡頭

2. 放大和縮小

3. 改變觀(guān)察點(diǎn)(視角)

4. 窗體和世界的點(diǎn)的轉(zhuǎn)化

相機(jī)的***好處就是無(wú)需手動(dòng)操作矩陣就可以移動(dòng)游戲世界,所有的矩陣投影和觀(guān)察點(diǎn)運(yùn)算就是對(duì)開(kāi)發(fā)者隱藏的。

相機(jī)的使用一般配合著mesh。mesh繪制一個(gè)矩形區(qū)域,然后將地圖貼圖在其上。

接下來(lái)的例子將使用一張圖:

Android游戲引擎libgdx使用教程8:相機(jī)和觀(guān)察點(diǎn)

大小2048*2048

代碼如下:

  1. package com.cnblogs.htynkn.listener;     
  2. import com.badlogic.gdx.ApplicationListener;     
  3. import com.badlogic.gdx.Gdx;     
  4. import com.badlogic.gdx.graphics.GL10;     
  5. import com.badlogic.gdx.graphics.Mesh;     
  6. import com.badlogic.gdx.graphics.OrthographicCamera;     
  7. import com.badlogic.gdx.graphics.Texture;     
  8. import com.badlogic.gdx.graphics.VertexAttribute;     
  9. import com.badlogic.gdx.graphics.VertexAttributes;     
  10. import com.badlogic.gdx.graphics.VertexAttributes.Usage;     
  11. import com.badlogic.gdx.math.Rectangle;     
  12. public class FirstGame implements ApplicationListener {     
  13. private OrthographicCamera cam;     
  14. private Texture texture;     
  15. private Mesh mesh;     
  16. private Rectangle glViewport;     
  17. @Override     
  18. public void create() {     
  19. //創(chuàng)建一個(gè)靜態(tài)的,由兩個(gè)三角形構(gòu)成的4個(gè)頂點(diǎn)的矩形     
  20. //矩形分為3*2塊。網(wǎng)格有3個(gè)位置參數(shù)(x,y,z)     
  21. //網(wǎng)格的位置屬性有兩個(gè)值     
  22. mesh = new Mesh(true46new VertexAttribute(     
  23. VertexAttributes.Usage.Position, 3"attr_Position"),     
  24. new VertexAttribute(Usage.TextureCoordinates, 2,     
  25. "attr_texCoords"));     
  26. texture = new Texture(Gdx.files.internal("img/xk.jpg"));     
  27. //設(shè)置對(duì)應(yīng)的邊點(diǎn)     
  28. //以***個(gè)為例-2048f,-2048f,0是位置參數(shù),因?yàn)槭嵌S的,所以Z值為0     
  29. //0,1對(duì)應(yīng)頂點(diǎn)坐標(biāo)     
  30. mesh.setVertices(new float[] { -2048f, -2048f, 001, 2048f, -2048f,     
  31. 011, 2048f, 2048f, 010, -2048f, 2048f, 000 });     
  32. //設(shè)置索引,這個(gè)有點(diǎn)糾結(jié),看文章詳解     
  33. mesh.setIndices(new short[] { 012230 });     
  34. float WIDTH = Gdx.graphics.getWidth();     
  35. float HEIGHT = Gdx.graphics.getHeight();     
  36. cam = new OrthographicCamera(WIDTH, HEIGHT);     
  37. cam.position.set(WIDTH / 2, HEIGHT / 20);     
  38. glViewport = new Rectangle(00, WIDTH, HEIGHT);     
  39. }     
  40. @Override     
  41. public void dispose() {     
  42. }     
  43. @Override     
  44. public void pause() {     
  45. // TODO Auto-generated method stub     
  46. }     
  47. @Override     
  48. public void render() {     
  49. GL10 gl = Gdx.graphics.getGL10();     
  50. // 相機(jī)移動(dòng)     
  51. gl.glClear(GL10.GL_COLOR_BUFFER_BIT);     
  52. gl.glViewport((int) glViewport.x, (int) glViewport.y,     
  53. (int) glViewport.width, (int) glViewport.height);     
  54. cam.update();     
  55. cam.apply(gl);     
  56. // 貼圖     
  57. gl.glActiveTexture(GL10.GL_TEXTURE0);     
  58. gl.glEnable(GL10.GL_TEXTURE_2D);     
  59. texture.bind();     
  60. mesh.render(GL10.GL_TRIANGLES);     
  61. }     
  62. @Override     
  63. public void resize(int width, int height) {     
  64. // TODO Auto-generated method stub     
  65. }     
  66. @Override     
  67. public void resume() {     
  68. // TODO Auto-generated method stub     
  69. }     
  70. }   

注意這一句:

mesh.setIndices(new short[] { 0, 1, 2, 2, 3, 0 });

這是設(shè)置索引,我用一張圖來(lái)說(shuō)明。

Android游戲引擎libgdx使用教程8:相機(jī)和觀(guān)察點(diǎn)

圖片分享:

0,1,2是指右上角的三角形
而2,3,0是左下角的三角形

責(zé)任編輯:閆佳明 來(lái)源: jizhuomi
相關(guān)推薦

2013-12-04 13:30:45

Android游戲引擎libgdx教程

2013-12-06 10:31:14

Android游戲引擎libgdx教程

2013-12-06 09:59:53

Android游戲引擎libgdx教程

2013-12-04 16:28:29

Android游戲引擎libgdx教程

2013-12-04 17:27:10

Android游戲引擎libgdx教程

2013-12-06 10:35:28

Android游戲引擎libgdx教程

2013-12-06 10:22:42

Android游戲引擎libgdx教程

2013-12-04 17:14:57

Android游戲引擎libgdx教程

2013-12-04 16:07:27

Android游戲引擎libgdx教程

2013-12-04 16:21:02

Android游戲引擎libgdx教程

2011-07-18 10:53:09

2011-07-18 11:07:12

iPhone 游戲 引擎

2011-07-18 12:29:10

2011-07-18 11:39:58

iPhone 游戲 引擎

2011-07-18 11:23:29

iPhone 游戲 動(dòng)畫(huà)

2014-06-03 09:35:19

Javalibgdx

2011-12-12 13:58:11

TinyCoiOSAndroid

2014-07-15 10:34:14

Android游戲引擎

2012-04-25 22:52:40

2014-07-17 11:10:19

Android開(kāi)源游戲引擎
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧美日韩国产一二| 456亚洲影院| 少妇丰满尤物大尺度写真| 少妇高潮久久久| 国产精品va| 日韩精品免费在线视频观看| 欧美日韩在线观看不卡| caoporn免费在线视频| 成人午夜免费视频| 国产精品色婷婷视频| 九九热国产精品视频| 九九热线有精品视频99| 91精品国模一区二区三区| 激情深爱综合网| 麻豆tv免费在线观看| 91免费看`日韩一区二区| 国产中文日韩欧美| 青青草免费观看视频| 婷婷丁香综合| 日韩高清免费观看| 国产欧美精品一二三| 欧美中文字幕精在线不卡| 亚洲精品福利视频网站| 色吧亚洲视频| 婷婷综合激情网| 麻豆91在线看| 青青草99啪国产免费| 欧美精品一区二区成人| 色135综合网| 亚洲人成网站色ww在线| 午夜两性免费视频| 涩涩视频网站在线观看| 亚洲男人的天堂在线观看| 亚洲bt天天射| 中文字幕 人妻熟女| 黑人一区二区| 日韩成人中文字幕在线观看| 手机在线观看日韩av| 欧美极度另类| 激情久久av一区av二区av三区| 免费看成人片| 日韩在线视频免费| 国产成人免费av在线| 久久久久久久久久久91| 老熟妇高潮一区二区三区| **欧美日韩在线| 欧美少妇性性性| 国产精品人人妻人人爽人人牛| 在线观看国产原创自拍视频| 91麻豆产精品久久久久久| 国产日韩精品推荐| 欧洲成人一区二区三区| 成人综合在线视频| 国产精品久久久久久久久久直播 | 亚洲天堂2018av| 韩国久久久久久| 一本大道久久a久久综合婷婷| 亚洲欧洲精品一区二区| 免费观看毛片网站| 成人午夜免费电影| 国产一区不卡在线观看| 人妻无码一区二区三区久久99 | 久久久久午夜电影| 久久久精品欧美| 精品无码久久久久成人漫画| 亚洲国产精品成人| 久久99精品国产99久久6尤物| 一道本在线观看| 国产精品羞羞答答在线观看| 亚洲欧美国产高清va在线播| 亚洲最大成人网站| 成人写真视频| 欧美老妇交乱视频| 精品少妇久久久久久888优播| 欧美手机视频| 久久视频中文字幕| 日韩免费成人av| 久久神马影院| 欧美大片免费看| 久久夜靖品2区| 你懂的一区二区| 久久久视频精品| 日韩精品一区不卡| 国产在线精品一区二区不卡了| 国产99久久精品一区二区永久免费| 久久国产在线观看| 亚洲专区一区| 97国产在线观看| 免费av中文字幕| 亚洲尤物在线| 成人h猎奇视频网站| 草逼视频免费看| 精品亚洲自拍| 97久久精品人人做人人爽50路 | 亚州国产精品视频| 丝袜美腿亚洲色图| 亚洲xxxxx性| 亚洲人妻一区二区三区| 国产精品乱人伦中文| 免费一区二区三区| 国产精品实拍| 色综合久久久久综合体| 久久久福利影院| 九九免费精品视频在线观看| 久久大大胆人体| 久久青青草原亚洲av无码麻豆 | 一区二区三区免费在线| 成人三级伦理片| 亚洲欧美日韩不卡一区二区三区| 黄色影院在线播放| 亚洲激情图片一区| 免费看黄色一级大片| 一区二区在线免费播放| 一本色道久久88精品综合| 亚洲av成人无码久久精品| 欧美/亚洲一区| 国产精品久久久久福利| 国产精品久久777777换脸| 国产尤物一区二区在线| 欧美日韩一区二区三| www中文字幕在线观看| 欧美老女人在线| 粉嫩av蜜桃av蜜臀av| 欧美日韩hd| 国产精选久久久久久| 国产男女裸体做爰爽爽| 国产日本欧洲亚洲| 欧美国产激情视频| 成人午夜三级| 欧美大片免费看| 亚洲 欧美 中文字幕| 美女免费视频一区| 日本不卡一区二区三区视频| 国产极品人妖在线观看| 91精品国产全国免费观看| 天天干天天操天天拍| 久久精品人人做人人爽电影蜜月| 国产精品三级在线| 狠狠色伊人亚洲综合网站l| 综合亚洲深深色噜噜狠狠网站| 免费一级淫片aaa片毛片a级| 国产精品一区二区美女视频免费看| 精品va天堂亚洲国产| 亚洲精品久久久久久国| 六月丁香综合在线视频| 亚洲成人网上| 未满十八勿进黄网站一区不卡| 亚洲国产高清福利视频| 国产第一页第二页| 成人做爰69片免费看网站| 国产va亚洲va在线va| 成人免费毛片嘿嘿连载视频…| 欧美一级日韩一级| 成人精品999| 久久精品道一区二区三区| 欧美动漫一区二区| 日韩av中字| 在线看欧美日韩| 在线免费观看毛片| 不卡影院免费观看| 男人操女人免费软件| 久久99成人| 欧美高跟鞋交xxxxhd| 亚洲av无码乱码国产精品| 亚洲国产精品欧美一二99| 欧美肉大捧一进一出免费视频 | 99久久99久久综合| 日本wwww视频| 成人精品天堂一区二区三区| 国产色视频一区| 成人免费视屏| 亚洲高清久久久久久| 美日韩一二三区| 国产女人aaa级久久久级| 亚洲 国产 图片| 韩日精品在线| 日本一区网站| 日本亚州欧洲精品不卡| 隔壁老王国产在线精品| 黄色av网站在线看| 91精品视频网| 免费在线观看a级片| 粉嫩蜜臀av国产精品网站| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 欧美男人的天堂| 91九色综合| 欧美激情视频一区二区三区不卡| 国产人妖一区二区| 国产精品久久久久久福利一牛影视| 久草在在线视频| 色欧美自拍视频| 国产精品一区二区欧美| www.一区| 91国产在线精品| 在线观看麻豆| 日韩电影中文字幕av| 亚洲天堂国产精品| 亚洲大片精品永久免费| 五月天精品在线| 99久久免费精品高清特色大片| 日本中文字幕在线视频观看| 国产成人3p视频免费观看| 3d动漫精品啪啪一区二区三区免费| а√天堂在线官网| 欧美一区二区视频在线观看2020 | 黄色91在线观看| 刘亦菲国产毛片bd| 不卡的av网站| www.成年人| 久久蜜桃精品| 色欲色香天天天综合网www| 成久久久网站| 国产伦一区二区三区色一情| www.26天天久久天堂| 77777少妇光屁股久久一区| av毛片在线| 日韩中文字幕久久| 免费在线视频一级不卡| 亚洲第一天堂无码专区| 国产美女无遮挡永久免费| 在线精品亚洲一区二区不卡| xxxxxx国产| 一区二区三区四区视频精品免费 | 亚洲国产精品一| 亚洲成人资源在线| 国产91在线播放九色| 久久夜色精品国产欧美乱极品| 色国产在线视频| 久久精品人人| 法国空姐在线观看免费| 国产精品主播在线观看| 97中文在线观看| 成人午夜888| 成人在线免费观看视视频| 精品国模一区二区三区| 国产91色在线|| 日本美女一区| 国产精品国产亚洲伊人久久| 乡村艳史在线观看| 97在线看免费观看视频在线观看| p色视频免费在线观看| 亚洲精品日韩久久久| 四虎影视在线观看2413| 欧美精品18+| 一级片视频网站| 午夜视频一区二区| 日本一二三区不卡| 欧美日韩国产一区中文午夜| 日韩成人av毛片| 婷婷久久综合九色综合绿巨人 | 97香蕉超级碰碰久久免费的优势| 1024免费在线视频| 伊人久久久久久久久久久久久| 亚洲av无码国产精品久久不卡| 欧美在线观看视频在线| 国产一级一片免费播放放a| 亚洲一区二区在线视频| 久久久综合久久久| 午夜欧美大尺度福利影院在线看| 欧美美女性生活视频| 国产www视频在线观看| 欧美在线免费观看亚洲| 69xx绿帽三人行| 一区二区三区丝袜| 男女男精品视频网站| 国产精品久久久久久久岛一牛影视| 免费在线观看成年人视频| 国产精品888| 国产人成视频在线观看| 91在线视频在线| 蜜桃av乱码一区二区三区| 国产精品久久久久三级| www.99re7| 性久久久久久久久久久久| 国产精品免费av一区二区| 日本国产一区二区| 一区二区三区播放| 亚洲国产精品一区二区久| 国产三级在线看| 草民午夜欧美限制a级福利片| a天堂中文在线| 久热精品视频在线免费观看| 久久不射影院| 国产999精品视频| 精品一区二区三区四区五区| 成人国产精品一区| 欧美男女视频| 国产欧美日韩视频一区二区三区| 97久久亚洲| 国产精品一区二区a| av中文字幕一区二区| 2022中文字幕| 青青草91视频| 亚洲天堂av网站| 成人av网址在线| 欧美亚洲色综久久精品国产| 亚洲一区二区中文在线| 国产乡下妇女做爰毛片| 亚洲一区在线观看免费观看电影高清 | 欧美日韩视频免费看| 国产不卡一区二区三区在线观看| caoporn成人| 亚洲va韩国va欧美va精四季| 在线观看日韩av电影| 久在线观看视频| 国产伦精一区二区三区| 国产免费一区二区三区网站免费| 国产欧美一区二区三区鸳鸯浴| 精品成人无码一区二区三区| 欧美激情在线一区二区| 国产成人精品亚洲男人的天堂| 欧美午夜精品久久久久久浪潮 | 成人女同在线观看| 高清视频欧美一级| 精品视频在线观看免费观看| 114国产精品久久免费观看| 成人影院在线| 黑人巨茎大战欧美白妇 | 国产精品视频网站在线观看| 一级黄色片网址| 96av麻豆蜜桃一区二区| 黄色录像一级片| 亚洲一区在线视频| 97在线播放免费观看| 亚洲一区www| 成人影院大全| 久久www免费人成精品| 欧美视频一区| 丰满少妇中文字幕| 2014亚洲片线观看视频免费| 久久久久久久九九九九| 日韩欧美成人免费视频| 黄色三级网站在线观看| 欧美巨乳美女视频| 日韩高清一区| 欧美乱偷一区二区三区在线| 亚洲精选成人| 又黄又爽的网站| 亚洲不卡一区二区三区| www日本视频| 欧美区二区三区| 亚洲亚洲一区二区三区| av影院在线播放| 国产成人免费av在线| 免费看黄色的视频| 亚洲精品精品亚洲| www.久久色| 久久久久久午夜| 日韩av不卡一区| 北条麻妃69av| 久久久精品欧美丰满| 久久精品五月天| 深夜福利国产精品| 蜜桃视频在线观看免费视频| 精品国产一区二区三区日日嗨| 国产精品黑丝在线播放 | 国产精品videossex久久发布| 成人性生生活性生交12| 不卡的av电影在线观看| 久久久久久久久久久久久av| 亚洲毛片在线看| 91资源在线观看| 蜜桃视频在线观看成人| 日本欧美在线观看| yy6080午夜| 色天使色偷偷av一区二区 | 精品欧美久久久| 1024在线看片你懂得| 久久久久资源| 亚洲午夜极品| 毛片网站免费观看| 欧美在线一二三| 草莓福利社区在线| 久久国产日韩欧美| 奇米一区二区三区av| 久久精品一区二区三区四区五区| 欧美色图在线观看| 黄色美女网站在线观看| 国产精品一区二区久久| 牛夜精品久久久久久久99黑人| 午夜激情影院在线观看| 亚洲成av人综合在线观看| 国际av在线| 国产精品嫩草视频| 中文字幕一区二区三区欧美日韩| 不卡的在线视频| 中文字幕在线观看一区| 二区三区在线视频| 国产精品爱久久久久久久| 九九视频免费在线观看| 欧美日韩一区在线| 51精品视频| 这里只有精品66| 99久久99久久精品免费看蜜桃| 久久精品视频国产| 亚洲一区二区黄| 香蕉免费一区二区三区在线观看| 黄色一级大片免费| 国产日韩av一区二区| 成人午夜精品福利免费|