Phaser3 雪花效果

2022-02-23 23:35:20 字數 1116 閱讀 3944

最近想要模仿寫雪人兄弟得遊戲,其中開場想要用雪花效果。自己琢磨了半天,又去找了一些文章參考,最後實現效果如下:

這是最終得實現效果,一開始參照了phaser3官方的demo,找了一圈沒找到合適得。其中有乙個是game objects\group\sprite pool.js 下面的例子,仿照得做發現效果並不好。之後自己又再搜了一圈,最終找到了一篇老外得文章。

老外是用phaser2.6寫的,3.0的api和架構方式都有很多調整,所以只能參照思路,重新實現。大致實現思路如下:

1.用雪花,然後從y=0向下墜落,如果超過顯示的高度,設定y座標為-10,重新讓雪花墜落

2.設定雪花的展示和透明度(每次重新墜落會重新設定顯示大小和墜落的x座標)

上**:

雪花的類:

1

class flake

16reset()

1726

move()

2737

this.f.setposition(this.x,this

.y);

38if (this

.prevflake)

394344}

45destroy()53}

54 }

下雪類:

1

class snow

11makeflakes(scene)

19this.lastflake =flake;20}

21}22update()

27destroy()

30 }

使用方法:

1

class loadscene extends phaser.scene

5preload()

7create()

13update()

17 }

最終實現效果就和開頭展示的一樣啦!

目錄結構如下:

原始碼

實現雪花飛舞效果

英文原文 這篇文章的發布日期是2015年的聖誕節,貌似唯一能與之匹配的就是就是在styling android上來點喜慶的東西。為那些不過聖誕節,或者在六月份讀這篇文章的人而寫 原諒我又調皮了。那麼問題來了,怎麼才能詮釋聖誕的意義呢?最明顯的答案就是 一張戴了聖誕帽的 雖然我覺得這張 足以結束這篇文...

CAEmitterLayer實現雪花效果

如果大家突然需要乙個雪花效果,我相信大部分人的第一反應是使用定時器建立大量的imageview物件,然後給每個imageview物件新增動畫。這種做法一方面操作複雜,一方面效能方面堪憂.既然現在大家都了解了caemitterlayer引擎,因此下面使用caemitterlayer引擎實現這個效果,看...

c語言 easyx實現飄雪花效果

首先,需要設定雪花在乙個視窗中的總數目,這個關係到雪花的空間密度。假定有20個雪花。就需要兩個陣列,分別為x 20 y 20 來分別記錄x座標和y座標。通過自定義乙個函式來初始化雪花的位置。這裡需要用到隨機數的相關知識。其次,如果當雪花落下時,在雪花落的位置畫乙個雪花,模擬雪花殘留在地面上。當雪花的...