櫻花的季節,教大家用CANVAS畫出飛舞的櫻花樹

2021-09-07 10:00:58 字數 910 閱讀 5763

又到了櫻花的季節,教大家使用canvas畫出飛舞的櫻花樹效果。

廢話少說,先看效果。

檢視演示效果

第一步,我們先畫出一棵樹的主體。

我畫樹的使用的原理是,定義乙個起始點,從這個點開始,向乙個角度移動一段距離。得到另乙個點。

畫出一條線連線兩個點。

以新得到的點,依舊向這個角度,移動一段距離。得到第三個點,連寫第二第三個點。

以此類推。一定步長之後,就得到一條射線。

我們根據自然界中的真實樹的情況,這條線越來越細,直到最細地方結束。

樹幹出來之後,要做分叉,每個分叉其實就是向另乙個方向的樹幹。

而且分叉要比主幹細一些。我們在第二階段樹幹位置,每三步向左右分叉。

if(step > 0)
這樣一棵樹的主幹基本上就已經完成了。

我們在樹的末端幾個節點,畫乙個粉色的半透明的圓。當做櫻花。

為了保證所有櫻花不是千篇一律的乙個角度,我們隨機乙個起始角度。

function drawtree(x,y,deg,step)

step -- ;

if(step > 0)

}

這個時候,如果沒有特別的要求的,基本算是已經完成了。

之後再要做的就是精益求精,對現在效果做出微調。

1、樹幹都是直線,在計算下乙個點的時候,做一些偏移。

2、櫻花樹形態比較扁平。給x軸方向上偏移稍微大點,y軸稍微偏小一點。

3、至少做兩種花瓣顏色,一種稍微深一些,一種淺一些。

4、在新建乙個canvas層,做一些飄落櫻花的效果。

5、在分叉,畫花瓣等地方多使用一些隨機數,樹形狀不能太單一

最終效果如下:

完整**如下:

檢視演示效果

櫻花的季節,教大家用CANVAS畫出飛舞的櫻花樹

又到了櫻花的季節,教大家使用canvas畫出飛舞的櫻花樹效果。廢話少說,先看效果。檢視演示效果 第一步,我們先畫出一棵樹的主體。我畫樹的使用的原理是,定義乙個起始點,從這個點開始,向乙個角度移動一段距離。得到另乙個點。畫出一條線連線兩個點。以新得到的點,依舊向這個角度,移動一段距離。得到第三個點,連...

教大家破永珍

其實很簡單 先在執行裡輸入regedit 開啟登錄檔 然後按這個路徑找 hkey current user software sicent wx2004clt 找到 runsetcipher 或 unlockcipher 也可以 然後雙擊 runsetcipher 或 unlockcipher 將出...

小編教大家實現堆疊

棧是一種重要的資料結構。從資料結構的角度看,棧也是線性表,其特殊性在於棧的基本操作是線性表操作的子集,它們是操作受限的線性表,因此可以稱為限定性的資料結構。棧是限定僅在表尾進行插入或刪除操作的線性表。因此對棧來說,表尾端有其特殊含義,稱為 棧頂 相應地,表頭端稱為 棧底 不含元素的空表稱為空棧。棧的...