首页 璞玉游戏攻略 正文

雨季安卓手机版怎么安装?详细教程包你看会!

今天就跟大家伙儿聊聊我最近瞎折腾的一个小玩意儿——就管它叫“雨季安卓”。主要是最近这雨下得是没完没了,人都快发霉了。闲着也是闲着,不如捣鼓点于是就有了这个实践。 起因和想法 事情是这样的,一连好几天,窗外都是灰蒙蒙的,雨点子噼里啪打在玻璃上,搞得人心情也跟着潮乎乎的。我就在想,能不能在手机上也模拟个下雨的景儿,给自己换个心情,或者...

今天就跟大家伙儿聊聊我最近瞎折腾的一个小玩意儿——就管它叫“雨季安卓”。主要是最近这雨下得是没完没了,人都快发霉了。闲着也是闲着,不如捣鼓点于是就有了这个实践。

起因和想法

事情是这样的,一连好几天,窗外都是灰蒙蒙的,雨点子噼里啪打在玻璃上,搞得人心情也跟着潮乎乎的。我就在想,能不能在手机上也模拟个下雨的景儿,给自己换个心情,或者说,干脆就让这雨下得更“彻底”一点,弄个能播放下雨声的背景啥的。主要还是手痒,想找个由头写点代码。

动手开干:界面的初步构想

我琢磨着怎么让这个“雨”在手机屏幕上动起来。最先想到的是,找一堆雨滴的透明小图片,然后让它们随机往下掉。 但转念一想,这图片多了,管理起来麻烦,而且性能估计也够呛,万一卡顿了,那“雨季”就变成“卡季”了,体验不

我决定自己画!安卓里头不是有个叫Canvas的东西嘛可以直接在上面画图。我就想,用它画一些简单的小竖线或者小斜线来代表雨滴,这样控制起来方便,性能应该也还行。

绘制雨滴并让它动起来

小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

说干就干。我先在屏幕上随便画了几条短线,瞅着还行。接下来的关键就是怎么让这些短线“掉”下来。 我的法子比较笨,就是搞个定时器,每隔一小段时间(比如几十毫秒),就把所有雨滴的纵坐标往下挪一点。如果哪个雨滴跑出屏幕下边了,就让它从屏幕上边重新冒出来,这样就能形成一个循环下落的效果了。

为了让雨看起来更自然点,我还加了点小心思:

  • 雨滴的初始位置是随机的,这样就不会排着队往下掉了。
  • 雨滴下落的速度也稍微随机了一下,有的快有的慢,显得更有层次。
  • 雨滴的长度和粗细也稍微带点随机,模拟真实雨滴大小不一的感觉。

捣鼓了半天,看着屏幕上稀稀拉拉往下掉的小线条,还真有点那意思了!

加上雨声才有灵魂

光有画面,没有声音,那这雨就少了灵魂。我从网上找了段下雨的音频,那种哗的白噪音,听着还挺舒服。 然后就是在App里把它播放出来。安卓里头有专门处理音频播放的类,叫MediaPlayer啥的,用起来倒也还算顺手。我把它设置成循环播放,这样只要App开着,雨声就不会停。

我把声音播放直接放在主线程里操作了,结果有时候界面会卡一下,体验不后来查了查,才知道这种耗时的操作最好还是放子线程里去干,免得把主线程给堵住了。改了之后,果然流畅多了。

增加点小交互

后来我又寻思,能不能让用户自己控制一下雨的大小?比如想要毛毛细雨,或者倾盆大雨。于是我加了个拖动条(SeekBar)。 用户拖动它,我就根据拖动条的值去改变屏幕上雨滴的数量,或者改变雨滴下落的速度。比如说,拖到最左边就是小雨,雨滴稀疏点,速度慢点;拖到最右边就是大雨,雨滴密集点,速度快点。

我还尝试把雨声的音量也跟这个拖动条关联起来,雨大的时候声音也大,雨小的时候声音也跟着小。这个实现起来也简单,就是控制MediaPlayer的音量就行。

最终效果和一些小坑

弄出来的成品,挺简单的,就是一个能模拟下雨动画、播放下雨声音的小App。但是看着手机屏幕上那些自己画出来、动起来的“雨滴”,听着那哗的背景声,心里头还是有点小小的成就感的。尤其是在真下雨的时候,打开这个App,感觉整个世界都“雨”起来了,挺有意思。

整个过程下来,也踩了不少坑。比如一开始雨滴动画的刷新逻辑没写导致有时候会闪烁或者卡顿,后来优化了绘制方式才解决。还有就是不同尺寸屏幕的适配问题,一开始在我的手机上看着正换个屏幕大小不一样的模拟器,雨滴就显得不成比例了,后来又调整了计算雨滴位置和大小的逻辑,让它能根据屏幕密度和尺寸自适应一下。

这回“雨季安卓”的瞎折腾,虽然没啥高深的技术,但也算是把一些基础的东西又过了一遍,动手动脑,还是挺有收获的。分享给大家,就当是个实践的小记录!