【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】【v2.x OGE-example 第一節(jié)】 繪制實(shí)體_第1頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】【v2.x OGE-example 第一節(jié)】 繪制實(shí)體_第2頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】【v2.x OGE-example 第一節(jié)】 繪制實(shí)體_第3頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】【v2.x OGE-example 第一節(jié)】 繪制實(shí)體_第4頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】【v2.x OGE-example 第一節(jié)】 繪制實(shí)體_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論