版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
android860上完毕水波特效[Android8600AndroidGameResImagic。我只是在学习Android的过程中,想到这个特效,然后就在Android效。该程序在模拟器和真机上运行速度都较慢,需要进一步优化或使用JNI扩散:当你投一块石头到水中,你会看到一种以石头入水点为圆心所形成的一由于扩散的对称而互相抵消了。折射:由于水波上不同地点的倾斜角度不同,因此我们从观察点垂直往下看到射,这就是我们能感觉到水波形状的因素。首先我们要建立两个与水池图象同样大小的数组buf1[PoolWidth*PoolHeight]和buf2[PoolWidth*PoolHeight](PoolWidth为水池图象的象素宽度、一时刻,X0点的振幅除了受X0这四个点对X0:X0’=a*(X1+X2+X3+X4)+b*X0(公式a,b为待定系数,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-好了,有了上面这个近似公式,你就能够推广到下面这个普通结论:已知某一邻的前、后、左、右四点的波幅的和除以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;}指向两个页面内存区的指针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]=}}}}加新的算法函数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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度健康养生中心加盟管理合同4篇
- 2025年度美甲店美容护肤项目合作合同4篇
- 二零二五年度特种耐火材料采购及技术服务合同4篇
- 2025版农产品电商平台客户服务外包合同4篇
- 二零二五年度民政局离婚协议书模板版权授权协议4篇
- 二零二五年度智能机器人研发与应用股权质押担保合同
- 二零二五年度恋爱双方子女抚养权及探望权合同2篇
- 2025年度抹灰工程施工材料采购合同范本4篇
- 2025年度农场农业产业链金融服务合同-@-1
- 二零二五年度高标准大棚建设与农产品加工合作合同2篇
- 2024公路沥青路面结构内部状况三维探地雷达快速检测规程
- 浙江省台州市2021-2022学年高一上学期期末质量评估政治试题 含解析
- 2024年高考真题-地理(河北卷) 含答案
- 中国高血压防治指南(2024年修订版)解读课件
- 2024年浙江省中考科学试卷
- 2024风力发电叶片维保作业技术规范
- 《思想道德与法治》课程教学大纲
- 2024光储充一体化系统解决方案
- 2024年全国高考新课标卷物理真题(含答案)
- 处理后事授权委托书
- 食材配送服务方案投标方案(技术方案)
评论
0/150
提交评论