版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】【v2.xOGE-example第一節(jié)】繪制實(shí)體
前言:
OGE即
OGEngine,是由橙子游戲開(kāi)發(fā)的基于Java支持跨平臺(tái)的開(kāi)源游戲引,從12年4月項(xiàng)目成立至今已經(jīng)有2年多的發(fā)展歷程。在此期間基于OGEngine開(kāi)發(fā)的項(xiàng)目已經(jīng)有很多成功投放市場(chǎng)。從正式開(kāi)源開(kāi)始,好多開(kāi)發(fā)者開(kāi)始加入OGEngine的行列,同時(shí)在官網(wǎng)、論壇、Q群、看到有好多的問(wèn)題,大部分是一些新手的問(wèn)題,經(jīng)常會(huì)被重復(fù)的提問(wèn)。有些是之前用過(guò)AndEngine的,對(duì)OGEngine的使用會(huì)有些出入,開(kāi)發(fā)時(shí)不是很順手。為此今天開(kāi)始寫(xiě)一個(gè)OGE-Example;大家在學(xué)習(xí)OGEengine時(shí)可參考這些例子,應(yīng)該會(huì)更容易上手些。
正文:
首先,先講解一下這個(gè)OGE-example的思路框架,這些案例都會(huì)放到一個(gè)項(xiàng)目里,用list顯示,會(huì)分兩級(jí)菜單,從最簡(jiǎn)單開(kāi)始,后續(xù)會(huì)隨著引擎的發(fā)展在加入一些例子,也都會(huì)放在這個(gè)項(xiàng)目里邊,方便大家學(xué)習(xí)和使用。一、導(dǎo)入OGE-example注意事項(xiàng):1.先學(xué)習(xí)想要運(yùn)行平臺(tái)下的環(huán)境搭建android搭建:/forum.php?mod=viewthread&tid=629&extra=page%3D1,或ios搭建:/forum.php?mod=viewthread&tid=631&extra=page%3D1;2.OGE-example項(xiàng)目現(xiàn)支持兩個(gè)平臺(tái)運(yùn)行(android和ios),這些案例會(huì)用到一些圖片和字體,需要把這些資源加載到對(duì)應(yīng)的啟動(dòng)器里邊(android和ios啟動(dòng)器);放在Android啟動(dòng)器下:
放在IOS啟動(dòng)器下:
OGE-example
項(xiàng)目結(jié)構(gòu):
第一章第一節(jié):實(shí)體的繪制
線條Line:Line(float
pX1,
float
pY1,
float
pX2,
float
pY2,
float
pLineWidth,
VertexBufferObjectManager
pVertexBufferObjectManager)pX1,pY1線條起點(diǎn)位置pX2,pY1線條終點(diǎn)位置pLineWidth:線條寬度setColor(float
pRed,
float
pGreen,
float
pBlue)線條顏色
pRed紅色pGreen綠色pBlue藍(lán)色顏色值最小是0最大是1,平時(shí)輸入具體的顏色值可以這樣輸入
setColor(204/255,4/255,201/255)VertexBufferObjectManager頂點(diǎn)緩存對(duì)象管理
/**
*
畫(huà)出100條直線,位置、顏色隨機(jī)
*/private
void
drawingLine()
{final
long
RANDOM_SEED
=
1234567890;//隨機(jī)數(shù)種子final
Random
random
=
new
Random(RANDOM_SEED);for
(int
i
=
0;
i
<
100;
i++)
{final
float
x1
=
random.nextFloat()
*
300;//線x起點(diǎn)
隨機(jī)0-300final
float
x2
=
random.nextFloat()
*
300;//線x終點(diǎn)
隨機(jī)0-300final
float
y1
=
random.nextFloat()
*
480;//線y起點(diǎn)
隨機(jī)0-480final
float
y2
=
random.nextFloat()
*
480;//線y終點(diǎn)
隨機(jī)0-480final
float
lineWidth
=
random.nextFloat()
*
5;//線的寬度
隨機(jī)0-5
final
Line
line
=
new
Line(x1,
y1,
x2,
y2,
lineWidth,getVertexBufferObjectManager());//畫(huà)線
line.setColor(random.nextFloat(),
random.nextFloat(),random.nextFloat());//設(shè)置顏色值
范圍0-1
this.attachChild(line);//加入本場(chǎng)景
實(shí)體只有加入場(chǎng)景后才會(huì)被繪制和更新?tīng)顟B(tài)}矩形:Rectangle(float
pX,
float
pY,
float
pWidth,
float
pHeight,
VertexBufferObjectManager
pVertexBufferObjectManager)
pX,
pY
矩形位置
pWidth,pHeight
矩形寬高VertexBufferObjectManager
頂點(diǎn)緩存對(duì)象管理
/**
*
畫(huà)出4個(gè)矩形
*/private
void
drawingRectangle()
{//
紅色矩形Rectangle
rectangle0
=
new
Rectangle(300,
120,
100,
100,getVertexBufferObjectManager());//繪制矩形,位置x300,位置y120,寬100,高100rectangle0.setColor(1,
0,
0);//設(shè)置為紅色
紅Red:1
即255/255this.attachChild(rectangle0);//加入本場(chǎng)景
實(shí)體只有加入場(chǎng)景后才會(huì)被繪制和更新?tīng)顟B(tài)//
綠色矩形Rectangle
rectangle1
=
new
Rectangle(400,
120,
100,
100,getVertexBufferObjectManager());//繪制矩形,位置x400,位置y120,寬100,高100rectangle1.setColor(0,
1,
0);//設(shè)置為綠色
綠Green:1this.attachChild(rectangle1);//加入本場(chǎng)景
實(shí)體只有加入場(chǎng)景后才會(huì)被繪制和更新?tīng)顟B(tài)//
藍(lán)色矩形Rectangle
rectangle2
=
new
Rectangle(300,
220,
100,
100,getVertexBufferObjectManager());//繪制矩形,位置x300,位置y220,寬100,高100rectangle2.setColor(0,
0,
1);//設(shè)置為藍(lán)色
藍(lán)Blue:1this.attachChild(rectangle2);//加入本場(chǎng)景
實(shí)體只有加入場(chǎng)景后才會(huì)被繪制和更新?tīng)顟B(tài)//
***矩形Rectangle
rectangle3
=
new
Rectangle(400,
220,
100,
100,getVertexBufferObjectManager());//繪制矩形,位置x400,位置y220,寬100,高100rectangle3.setColor(1,
1,
0);//設(shè)置為紅色
紅Red:1,綠色
綠Green:1
相加后為***this.attachChild(rectangle3);//加入本場(chǎng)景
實(shí)體只有加入場(chǎng)景后才會(huì)被繪制和更新?tīng)顟B(tài)}圖片精靈AnimatedSprite(float
pX,
float
pY,
String
pTextureRegionName,
VertexBufferObjectManager
pVertexBufferObjectManager)pX,
pY,精靈位置pTextureRegionName
圖片名稱/**
*
畫(huà)圖片精靈
*/private
void
drawingPic()
{//
畫(huà)一個(gè)精靈AnimatedSprite
pea
=
new
AnimatedSprite(600,
30,
Regions.PEA,getVertexBufferObjectManager());//繪制一個(gè)圖片精靈
位置x
600
,位置y
30,
圖片名稱引用Regions.PEAthis.attachChild(pea);//加入本場(chǎng)景
實(shí)體只有加入場(chǎng)景后才會(huì)被繪制和更新?tīng)顟B(tài)
}
動(dòng)畫(huà)畫(huà)精靈AnimatedSprite(float
pX,
float
pY,
String
pTextureRegionName,
VertexBufferObjectManager
pVertexBufferObjectManager)pX,
pY,精靈位置pTextureRegionName
圖片名稱animate(long
pFrameDurationEach)動(dòng)畫(huà)精靈的幀速
/**
*
畫(huà)飛機(jī)精靈
*/private
void
drawingPlane()
{//
畫(huà)一個(gè)動(dòng)畫(huà)精靈
AnimatedSprite
plane
=
new
AnimatedSprite(610,
140,
Regions.PLANE,getVertexBufferObjectManager());//繪制動(dòng)畫(huà)精靈,
位置x
610
,位置y
140,
圖片名稱引用Regions.PLANEthis.attachChild(plane);//加入本場(chǎng)景
實(shí)體只有加入場(chǎng)景后才會(huì)被繪制和更新?tīng)顟B(tài)//
播放幀速
,
每幀的持續(xù)時(shí)間
,
以毫秒為單位計(jì)算plane.animate(180);plane.setIgnoreTouch(false);//設(shè)置阻止觸摸為false}Entity:attachChild(IEntity
pEntity);attachChild加入一個(gè)實(shí)體detachChild(IEntity
pEntity);detachChild刪除一個(gè)實(shí)體
/**
*
精靈刪除
*/private
void
removingSprite()
{ButtonSprite
btnSprite
=
new
ButtonSprite(610,
200,
Regions.BACK_BTN,getVertexBufferObjectManager());//繪制一個(gè)按鈕精靈
位置x
610
,位置y
200,
圖片名稱引用Regions.BACK_BTNthis.attachChild(btnSprite);//加入本場(chǎng)景
實(shí)體只有加入場(chǎng)景后才會(huì)被繪制和更新?tīng)顟B(tài)btnSprite.setOnClickListener(new
OnClickListener()
{//注冊(cè)按鍵監(jiān)聽(tīng)@Overridepublic
void
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《新編事業(yè)單位會(huì)計(jì)操作實(shí)務(wù)》教案
- 【管理課件】某公司中層管理人員述職報(bào)告
- 二零二五年度美容院品牌形象設(shè)計(jì)及使用權(quán)授權(quán)合同4篇
- 2024起重設(shè)備采購(gòu)合同樣本:附帶起重機(jī)吊裝作業(yè)安全管理協(xié)議3篇
- 女性乳腺健康的保護(hù)方法
- 2025年度新能源產(chǎn)品代銷合同范本3篇
- 2024年08月中國(guó)光大銀行南通分行投行團(tuán)隊(duì)負(fù)責(zé)人招聘筆試歷年參考題庫(kù)附帶答案詳解
- 2024年07月中國(guó)人民銀行分支機(jī)構(gòu)和部分所屬單位人員錄用招考筆試南京考點(diǎn)考生須知筆試歷年參考題庫(kù)附帶答案詳解
- 2025年醫(yī)療病床配件項(xiàng)目投資可行性研究分析報(bào)告
- 加油站的區(qū)域布局
- 局部放電測(cè)試儀校準(zhǔn)規(guī)范 第1部分:超聲波法局部放電測(cè)試儀
- 旅游文本翻譯策略之轉(zhuǎn)換法-正反譯
- 工作頁(yè)(計(jì)算機(jī)組裝與維護(hù)-家用電腦組裝)
- 租賃車輛退車協(xié)議
- 醫(yī)療護(hù)理技術(shù)操作規(guī)程規(guī)定
- 分裂癥的非藥物治療
- 盤(pán)式制動(dòng)器中英文對(duì)照外文翻譯文獻(xiàn)
- 留置導(dǎo)尿管常見(jiàn)并發(fā)癥預(yù)防及處理
- 社會(huì)系統(tǒng)研究方法的重要原則
- 重癥醫(yī)學(xué)科健康宣教手冊(cè)
- 四年級(jí)少先隊(duì)活動(dòng)課教案(完整版)
評(píng)論
0/150
提交評(píng)論