android遊戲開發架構libgdx的使用(二)–圖形繪製

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。首先瞭解一下何為texture。按照英文解釋來理解:一個圖片從原始格式解碼並上傳到GPU就被稱為紋理。(說實話我不是很清楚這個的定義哈,求指點)為了繪製texture,常常使用幾何來描述,通過幾何對應的頂點來描述紋理。比如要描述一個矩形,可以通過描述每個頂點來描述矩形。 要繪圖時,首先要綁定紋理,然後傳遞一個幾何描述給OpenGL進行繪製。而繪圖的大小和位置由幾何描述和OpenGL的viewport的設

android遊戲開發架構libgdx的使用(十五)—TWL布局

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。TWL是一個基於OpenGL的圖形化使用者介面庫,它提供了一套非常豐富的視窗小組件,比如標籤,編輯框,表格等等。不同的布局方式配合使用可以建立出非常進階的使用者介面。TWL我原來接觸過,但是覺得設定檔太難寫了,今天逛論壇發現了官方出了Theme編輯器,馬上來試試。官網:http://twl.l33tlabs.org/Editor:http://twl.l33tlabs.org/themer/themer

android遊戲開發架構libgdx的使用(二十)—資源預先載入與AssetManager的使用

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。好久沒有寫libgdx相關的東西了,主要是我不知道改寫些什麼了。最近收到了很多郵件,大多是關於資源載入的,特別是非同步資源載入,還有什麼Loading視窗的實現什麼的,這篇博文就做個大致的回答吧。什麼時候需要資源預先載入資源預先載入的目的很明確,提升使用者體驗。當然就開發人員而言,比較好的預先載入實現方式還可以方便管理。如果遊戲很簡單簡單,資源很少很少,那麼弄資源預先載入就是費事,但是以下幾種情況的話還

Android 使用者介面資料的綁定–Adapter

在開發中,我們經常使用到ListView這個控制項。Android的API也提供了許多建立ListView適配器的捷徑。例如ArrayAdapter、SimpleAdapter和SimpleCursorAdapter等。但你是否發現,如果採用這些系統內建的適配器,對於事件的響應只能局限在一個行單位。假設一行裡面有一個按鈕和一個圖片控制項,它們之間的響應操作是不一樣的。若採用系統內建的適配器,就不能精確到每個控制項的響應事件。這時,我們一般採取自訂配接器來實現這個比較精確地請求。      

Android 網路資料讀取及解析

微博網路資料擷取及解析的樣本OAuth auth = new OAuth();            String url = "http://api.t.sina.com.cn/statuses/friends_timeline.json";            List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();            params.add(new BasicNa

Android HTTP協議(一)

之前在自己公司做的手機OS上開發,最痛苦的就是我們的系統沒有現成的HTTP協議,只有使用開源庫的libCurl進行封裝,在此過程中很好的熟悉了HTTP請求的一些細節,現在想想還是不錯的一個經曆,現在轉到Android上了,對於Google來說,如果連網都處理不好的話,號稱最好的互連網公司就太遜了吧。 使用URLConnection樣本下載html檔案,放到文本控制項中顯示public class AndroidNetActivity extends Activity {        Handl

Android自動匹配電子郵件地址,網址,電話–談Linkify的使用

翻看Android Api,無意看到了Linkify。按照Api的說明,Linkify可以轉化符合匹配規則的文字為可點擊的串連。感覺這個還是有點用處,下面來試一試。1.建立一個項目2.修改樣式檔案為了方便查看效果,添加一個EditText和一個TextView代碼如下:<?xml version="1.0" encoding="utf-8"?> <LinearLayout

android遊戲開發架構libgdx的使用(十二)—TiledMap地圖的使用

提示:本文記錄的是本人的操作流程和心得,各位操作時可能由於版本和其它問題會出現點障礙,請參考本文後面的評論和回複。 雖說可以用Image什麼的當個背景,但是要是做個RPG類的遊戲就有點複雜了。為了追求效率一般可以使用libgdx的SpriteCache,但是如果習慣於TiledMap的話libgdx也是支援的。相關的類是TiledMap,TileAtlas,TileMapRenderer,都在com.badlogic.gdx.graphics.g2d.tiled之中。現在我們從頭來看看Tiled

android遊戲開發架構libgdx的使用(九)—在libgdx中使用Box2d

在遊戲開發中難免會需要類比現實情況,一般常見的就是類比物理世界。比如物體碰撞,車輛前進,物體下落等。也許有人會覺得原來有實現過一些效果沒有看到用什麼物理知識呢。在我看來引入物理引擎並不是必須的,但是這樣可以讓遊戲更逼真。物理引擎的話首選Box2d,但是它是C++寫的,直接用不方便。在Android遊戲開發中使用物理引擎一般有三個比較好的選擇:1.JBox2dBox2d的Java移植版本,速度有點慢。不過對於不熟悉C++的朋友而言這個可以拿來看看原理。2.Havok這個就不多說了,我怎麼沒有用過。

android遊戲開發架構libgdx的使用(八)–相機和觀察點

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。相機也可以成為觀察者,最簡單的例子就是魂鬥羅。玩家操作角色前進,後退,跳躍等,顯示的世界(就是後面的背景)會不停變化。其實就是相機的觀察點(視角)的改變引起的。也許遊戲的世界(背景地圖)很大,比如10240*480,而裝置的解析度是800*480。現在遊戲的角色在地圖的最左側,那麼它的觀察點就是(400,240)。隨著角色的向前移動,觀察點也變化,通常是y值變大。角色後退時y值變小。角色跳躍時,x值變化

android遊戲開發架構libgdx的使用(十三)—TiledMap中的角色和角色移動

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。本文緊跟上文,地址:android遊戲開發架構libgdx的使用(十二)—TiledMap地圖的使用地圖我們建立好了接下來就是主角的出現。其實上文介紹了如何TiledMap和Stage的結合,角色的處理就簡單了。可以繼承Actor類建立主角類,我就偷個懶,用Image代替。編輯我們的TMX檔案,添加一個對象層。在主角要出現的地方加個形狀取名為play1我們的主角是:思路是我們遍曆map中的所有Objec

android遊戲開發架構libgdx的使用(十)—雙舞台

遊戲螢幕最常見的就是一個變化較少的背景加上一系列和使用者互動的角色和組件。為了方便管理你還可以為背景建個Group方便管理。但是有時候寫的時候沒有想到這個問題,或者是背景不是單純的一個圖片什麼的,背景和角色還有一些混合邏輯分布在兩個Stage裡。我重寫太麻煩,想想反正都是SpritBatch繪製出來的,用雙舞台大不了多個網路攝影機。馬上試試還真行。先看看Stage的draw方法:/** Renders the stage */ public void draw () {

android遊戲開發架構libgdx的使用(一)–環境搭建

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。Libgdx是一款支援2D與3D遊戲開發的遊戲類庫,相容大多數微機平台(標準JavaSE實現,能運行在Mac、Linux、Windows等系統)與Android平台(Android1.5以上即可使用,Android2.1以上可滿功率發揮)。logo:地址:http://code.google.com/p/libgdx/首先下載最新的jar,我下載的是libgdx-0.9.2。建立一個Android項目,

Android中使用Ormlite實現持久化(二)–持久化類的詳細配置

上一篇文章簡單的使用了Ormlite一下,但是我覺得Ormlite出色之處就是對於需要欄位,表等等的配置設計的比較好。下面來說說類的配置:如果我們開發的Android應用需要保持使用者資訊,那麼現在建立一個類:UserAccount該類有六個變數: private int id; private String username; private String password; private Date regTime; private String tellphone; private

android遊戲開發架構libgdx的使用(十一)—Skin和UI設定檔的使用

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。libgdx的UI改進很大,原來各種稀奇古怪的問題都已經解決了,而且UI的類型也基本上完全了。推薦大家下載最近的版本使用。UI的使用我覺得唯一複雜的就是各種樣式的制定,比如TextButton:public TextButtonStyle (NinePatch down, NinePatch up, NinePatch checked, float pressedOffsetX, float

android遊戲開發架構libgdx的使用(十六)—使用TexturePacker工具加快開發速度

libgdx絕對是一個相當不錯的遊戲引擎,最近一段時間的學習我感覺收穫很多。但是我一直對於libgdx載入的圖片大小必須是2的次方感到很糾結。如果是一張一般的圖片想在libgdx中使用的話就需要自己去用ps什麼的把映像拉一下,一兩張沒關係,但是數量大了還是有點煩。而且拉大的圖片還需要TextureRegion來切割一下,實在麻煩。仔細看了一下libgdx的tool包,發現早有解決方案了。具體的類是imagepacker,在com.badlogic.gdx.tools.imagepacker包之中

android遊戲開發架構libgdx的使用(四)–舞台和演員

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。我們先看幾個遊戲再來理解何為舞台。請仔細觀察圖片中的元素,有些東西是不能動,有些可以動,有些有特效,有些沒有。有些是按鈕,有些是圖片,但是其實它們都可以統一稱為演員(Actor)。而整個遊戲介面就是我們的舞台。再看一個射擊類遊戲而其中的演員是演員是遊戲設計中常用的一個對象,它接受舞台的統一管理,擁有一些公用的事件,比如觸摸,點擊,但是同時還有自身的響應和屬性。而舞台就是容納演員的場所。它統一管理所有演員

android遊戲開發架構libgdx的使用(五)–舞台和常用UI類

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。常用的UI類包括標籤,按鈕,勾選框,下拉框,圖片,輸入框,列表,滑動面板,滑條,分割面板。它們都在com.badlogic.gdx.scenes.scene2d.ui包中,都屬於Actor,可以方便的納入舞台的管理中。其實仔細看看UI類的實現代碼不難發現其實它們都是大部分繼承自Widget或者Table,如果需要自訂UI可以繼承以上兩個類(它們繼承自Actor),這裡要說明一下libgdx的布局部分使用

android遊戲開發架構libgdx的使用(六)–演員和演出

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。上一篇說到UI,然後之前說到舞台,現在我們可以很輕鬆的構建一齣戲了。因為actor類在繪製是以x,y值為基準,所以我們可以通過控制x,y值變化演員的位置,但是演員的其他效果需要配合Action類進行操作。Action類是一個抽象類別,所有的具體實現都在com.badlogic.gdx.scenes.scene2d.actions包中。而包中的類依功能而言可以分為兩類:控制Action表現Action控制

android遊戲開發架構libgdx的使用(七)–開發架構總觀

本文使用的libgdx是0.92版本,和現在的最新版可能有一些不一樣的地方。全文內容僅供參考。上幾篇文章介紹了libgdx架構的一些基本類的用法,也夾雜著瀏覽了一下部分原始碼,但是如果使用libgdx進實際開發?僅僅瞭解幾個類是不夠的,還需要對架構有具體和宏觀的瞭解。1.應用的生命週期遊戲應該高效和穩定,特別是對於android平台。目前的開發都是面向手機和平板。如果有效管理資源,如何高效的運行都是非常重要的。試想一個製作優美,可玩性高的遊戲運行於你的android手機上卻10秒鐘崩潰一次,運行

總頁數: 2802 1 .... 130 131 132 133 134 .... 2802 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。