版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
android860上完畢水波特效[Android8600AndroidGameResImagic。我只是在學(xué)習(xí)Android的過程中,想到這個特效,然后就在Android效。該程序在模擬器和真機上運行速度都較慢,需要進一步優(yōu)化或使用JNI擴散:當(dāng)你投一塊石頭到水中,你會看到一種以石頭入水點為圓心所形成的一由于擴散的對稱而互相抵消了。折射:由于水波上不同地點的傾斜角度不同,因此我們從觀察點垂直往下看到射,這就是我們能感覺到水波形狀的因素。首先我們要建立兩個與水池圖象同樣大小的數(shù)組buf1[PoolWidth*PoolHeight]和buf2[PoolWidth*PoolHeight](PoolWidth為水池圖象的象素寬度、一時刻,X0點的振幅除了受X0這四個點對X0:X0’=a*(X1+X2+X3+X4)+b*X0(公式a,b為待定系數(shù),X0’為X0X0’+X1’+...+Xn’=X0+X1+...+將每一種點用公式1(4a+b)*X0+(4a+b)*X1+...(4a+b)*Xn=X0+X1++Xn=,4a+b=找出一種最簡解:a1/2、b1。由于1/2能夠用移位運算符“>>”X0’=(X1+X2+X3+X4)/2-好了,有了上面這個近似公式,你就能夠推廣到下面這個普通結(jié)論:已知某一鄰的前、后、左、右四點的波幅的和除以2、再減去該點的波幅。//X0'=(X1+X2+X3+X4)/2-X0//+---- //+|//+|//x1--- //+|//+|//+---- void{intpixels=m_width*(m_height-1);for(inti=m_width;i<pixels;++i){//X0'=(X1+X2+X3+X4)/2-m_buf2[i]=(short)(((m_buf1[i-1]+m_buf1[i+1]+m_buf1[i-m_width]+m_buf1[i+m_width])>>1)-//波能衰減m_buf2[i]-=m_buf2[i]>>}short[]tempm_buf1;m_buf1=m_buf2;m_buf2=temp;}指向兩個頁面內(nèi)存區(qū)的指針src和void{intinti=intlength=m_width*for(inty=1;y<m_height-1;++y){for(intx=0;x<m_width;++x,++i)//offset=width*yoffset+offset=(m_width*(m_buf1[i-m_width]-+m_width]))+(m_buf1[i-1]-m_buf1[i+if(i+offset>0&&i+offset<length){m_bitmap2[i]=m_bitmap1[i+offset];}elsem_bitmap2[i]=}}}}即讓buf[x,y]=-n。通過實驗,n的范疇在(32~128)之間比較//stoneSize//stoneWeightvoiddropStone(intx,inty,intstoneSize,int{if((x+stoneSize)>m_width||(y+stoneSize)>||(x-stoneSize)<0||(y-stoneSize)<0){}intvalue=stoneSize*stoneSize;shortweight=(short)-for(intposx=x-stoneSize;posx<x+stoneSize;++posx){for(intposy=y-stoneSize;posy<y+stoneSize;++posy){if((posx-x)*(posx-x)+(posy-y)*(posy-y)<{m_buf1[m_width*posy+posx]=}}}}加新的算法函數(shù)breasenhamDrop。voiddropStoneLine(intx,inty,intstoneSize,intstoneWeight)if((x+stoneSize)>m_width||(y+stoneSize)>||(x-stoneSize)<0||(y-stoneSize)<0){}for(intposx=x-stoneSize;posx<x+stoneSize;{for(intposy=y-stoneSize;posy<y+stoneSize;{m_buf1[m_width*posy+posx]=-}}}//xs,ys:起始點,xe,ye//size:波源半徑,weightvoidbreasenhamDrop(intxs,intys,intxe,intye,intsize,intweight){intdx=xe-xs;intdy=ye-dx=(dx>=0)?dx:-dy=(dy>=0)?dy:-dy;if(dx==0&&dy==0){dropStoneLine(xs,ys,size,}elseif(dx==0)intyinc=(ye-ys!=0)?1:-1;for(inti=0;i<dy;++i){dropStoneLine(xs,ys,size,weight);ys+=yinc;}}elseif(dy==0)intxinc=(xe-xs!=0)?1:-1;for(inti=0;i<dx;++i){dropStoneLine(xs,ys,size,weight);xs+=xinc;}}elseif(dx>dy)intp=(dy<<1)-dx;intinc1=(dy<<1);intinc2=((dy-dx)<<intxinc=(xe-xs!=0)?1:-intyinc=(ye-ys!=0)?1:-1;for(inti=0;i<dx;++i){dropStoneLine(xs,ys,size,weight);xs+=xinc;if(p<0){p+=inc1;}elseys+=yinc;p+=inc2;}}}elseintp=(dx<<1)-dy;intinc1=(dx<<1);intinc2=((dx-dy)<<intxinc=(xe-xs!=0)?1:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44434-2024空間環(huán)境流星雷達技術(shù)要求
- GB/T 18916.15-2024工業(yè)用水定額第15部分:白酒
- 個體化醫(yī)學(xué)診療行業(yè)營銷策略方案
- 化妝用皮膚調(diào)理霜產(chǎn)品供應(yīng)鏈分析
- 光通信設(shè)備產(chǎn)品供應(yīng)鏈分析
- 嬰兒尿褲產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 蔬菜盤商業(yè)機會挖掘與戰(zhàn)略布局策略研究報告
- 玻璃罐細分市場深度研究報告
- 市政供水處理行業(yè)相關(guān)項目經(jīng)營管理報告
- 醫(yī)用柔性內(nèi)窺鏡產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 初中語文大單元匯報課件1
- MOOC 科技英語寫作-西安電子科技大學(xué) 中國大學(xué)慕課答案
- 24春國家開放大學(xué)《離散數(shù)學(xué)》大作業(yè)參考答案
- 鯊魚知識課件
- 2023-2024年天原杯全國初中學(xué)生化學(xué)競賽復(fù)賽試題(含答案)
- (高清版)TDT 1047-2016 土地整治重大項目實施方案編制規(guī)程
- 自然教育行業(yè)的行業(yè)分析
- 《腫瘤學(xué)概論概論》課件
- 探析機械電子工程行業(yè)現(xiàn)狀分析及未來發(fā)展趨勢
- 機電一體化生涯發(fā)展報告
- 2024年浙江高壓電工證考試題庫app高壓電工復(fù)審模擬考試題庫(全國通用)
評論
0/150
提交評論