搜尋

首頁  >  問答  >  主體

android - 这种安卓游戏下雨效果是怎么做的?求思路

这种下雨效果是怎么做的?求思路

伊谢尔伦伊谢尔伦2772 天前823

全部回覆(7)我來回復

  • 迷茫

    迷茫2017-04-17 17:52:57

    在Canvas遊戲中,針對這種場景,其實採用的最優化的方案進行的,因為有雨或者沒雨都不是遊戲的關鍵,我們也不是遊戲引擎,所以一般這麼做,從簡單到複雜:

    • 使用其他工具,例如PS、AE,讓美術師繪製一個全螢幕下雨動畫圖片(注意是全螢幕),然後將動畫匯出成11幀的PNG圖片
      使用動畫控件,繪製到當前場景中,一幀一幀的播放即可

    • 使用粒子系統生成,但是粒子比較消耗CPU,除非用在一些關鍵的物件,對於這種錦上添花的效果還真沒意義

    • 針對3D遊戲,如Asphalt等,會專門研發(或購買)水滴引擎,讓水滴有反彈、融合等自然效果,當然,也可以用貼圖,只在螢幕表面下,而非場景內下。

    2D遊戲一般都是方案1

    所以類似題主提到的這種場景,應該是貼圖,一張一張的貼,效率也高,反正雨滴在表現上循環播放也合理。

    回覆
    0
  • PHPz

    PHPz2017-04-17 17:52:57

    如果是有遊戲引擎的話應該是用了粒子吧。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 17:52:57

    用的png做好的局部下雨圖片,然後代碼控制圖片效果,親測

    回覆
    0
  • 迷茫

    迷茫2017-04-17 17:52:57

    粒子效果
    每個雨滴是一個粒子,粒子包含靜態圖片或若干幀的動畫
    每個粒子有自己的坐標和2維速度,以及生命週期
    隨著時間變化更改坐標,動畫幀數,就是下雨效果了

    當然,下到螢幕下面就重新隨機一個座標和速度,從螢幕上方放進來。

    回覆
    0
  • 迷茫

    迷茫2017-04-17 17:52:57

    這裡有雪花的效果,可以研究一下原始碼
    https://github.com/jinatonic/...

    回覆
    0
  • 迷茫

    迷茫2017-04-17 17:52:57

    用svg 做吧。具體請自行百度

    回覆
    0
  • PHPz

    PHPz2017-04-17 17:52:57

    做一個一滴水的落下移動動畫,然後循環整個螢幕的寬高,隨機座標點產生這個動畫

    回覆
    0
  • 取消回覆