資訊內容
Scratch3.0編程繪制角色倒影【圖文教程】
如何讓用scratch實現一個倒影的效果?效果如下:
咱們先直接看代碼
思路:
scratch繪制倒影的過程所采用的方法我暫且稱之為掃描法,他的原理很簡單,就是從被掃描對象區域的一個角開始,逐行掃描,如果碰到掃描對象,此時偵測顏色,設置好畫筆的顏色,然后將畫筆移動到此對象的對稱位置去繪制出這個點,再回到剛才掃描的位置,繼續掃描,如此反復,直到把所有區域掃描完。
實現步驟:
1、添加背景和熊(角色),將熊放置到圖中的位置(可適當調整下角色大小)
2、然后確定一個掃描區域,這個區域要把熊全部包括進去,否則倒影就不完整
3、大概測出這個區域的左下角坐標(-17,-45),掃描區域的寬度(100)和高度(90)[注:在scratch2可以根據鼠標當前的坐標很快確定這些數據,scratch3中可以借助其它角色來確定這這個數據,這個數據不需要多么精確,只要能把熊全部掃描到即可]
4、添加一個畫筆角色,這個角色有兩個重要任務,首先是掃描,其次是繪圖。我們采用繪制角色的方式,繪制一個1像素的點即可。(為什么要畫的這么小呢?我們等會再說)
5、添加畫筆擴展,編寫程序,當綠旗點擊時,我們需要清空舞臺,這一步是為了后期二次執行時,將上次繪制的倒影擦除。將角色移動到掃描起始位置,用變量存儲此時y坐標,因為后面掃描與繪制都會以此對稱,還沒明白?沒關系繼續往下看。
6,實現掃描,這個操作很簡單,就是讓角色從左下角開始向右移動,到達右端,再往上移動一格繼續掃描,運動軌跡覆蓋整個掃描區域。
7、掃描過程中加入偵測,如果畫筆碰到熊,此時判斷是什么顏色(如果畫筆角色過大,偵測范圍就會變大,畫出的倒影就不準確,大家后期可以嘗試對比),根據不同的顏色要對應修改畫筆的顏色。(例如咱們的熊角色就有四種顏色,身體是棕色,鼻子周圍的棕色稍淺,眼睛和鼻子的顏色雖然看起來一樣,但還是有差別的。)
8、畫筆的顏色設置好了,接下來就要讓畫筆到對稱的位置去畫出對應的點來(因為是沿x軸對稱,所以只需要改變y坐標即可),再把畫筆移回去,繼續掃描,這樣整個程序也就完成了。那么如何找到對稱位置的點呢?還記得第5步那個對稱的橫線嗎?看下圖,我們怎么才能確定對稱位置呢?
下面是新繪制倒影的程序部分
程序源碼下載:Scratch3.0編程繪制角色倒影 或者微信公眾號回復“倒影”
本站部分內容轉載自網絡,如有侵權請聯系管理員及時刪除。
