分泌蛋白過程操作動畫(有趣的的開發過程)
其實小白經常幫忙身邊的朋友同學解決一些關於程式設計/電腦/軟體的問題,不過這一次的幫助過程十分有服務客戶開發程式的節奏。
事情背景
大S(嬸,別稱)是小白的一位同學(初高中生物老師),她在朋友圈上貼出了一段程式碼,作為程式設計師,肯定不能視而不見!
於是小白稍稍研究了這個程式碼,在程式眼眼裡,它們就是這個樣子
簡單閱讀後可以發現,這段程式碼實現了一個圖片跟隨滑鼠移動的功能,評論後大S貌似看到了曙光…
接下來就是幫忙大S完成這個功能,以上就是背景。
掉坑過程-【客戶簡單需求】
大S告訴我這個功能需要在PPT上實現,在比賽時候用,具體現象是在演示PPT的時候通過滑鼠拖拽控制整個分泌蛋白質過程
雖然小白學過PPT,但是從不知道在演示模式下可以拖拽元素,既然答應幫忙,那就歇盡所能。
於是問一下度娘,確實有方法,要實現拖拽就要使用巨集。
使用巨集就要使用程式碼,也就是上文中的程式碼,大S先找了另一位朋友幫忙做出了雛形,如下圖,但是效果不滿意,因為背景不透明,而且有BUG,典型的客戶退貨。
不過PPT的巨集程式設計要從哪裡學??Windows以及配套軟體都是不開源的,難以找到巨集程式設計的教程。
沒辦法,時間短促(其實只有1個晚上的時間),只能移植別人寫好的程式碼了,因為大S告知明天就要演示,今天就要完成(並沒有說一定要完成,只是完成了能給她的比賽錦上添花)。
不知為何,小白完全當成是一個軟體開發過程,或許是自己能力領域內的事,因此進入了心流。
掉坑過程-【修改VS否決】
先用大S的另一位朋友做好的雛形出發,做出了版本1.0,因為需要透明背景的元素,而跟隨透明背景的那段程式碼有BUG,不能和動畫共存,而且在一張PPT中不能有引用相同巨集的物件,否則操作會發生混亂,總之就是不能在一張PPT中完成這個功能。
由於可移動的元素有5個,所以共有5張PPT,至於操作,也是非常麻煩,需要嚴格按照步驟,不然介面會混亂,與大S遠端教她操作,大S先是感到驚訝,後是一臉嫌棄。
回爐再造,目前而言,由巨集程式設計得出可拖拽元素的方法有2種,第1種程式設計方式得到的元素是不支援透明背景,不能用,第2種程式設計方式得到的元素支援透明背景(這兩種方法小白可能會寫一個教程,然而網上也有),但是程式碼BUG超多!!因為不熟悉巨集程式設計的庫也無從獲得幫助手冊,因此無法進行重大修改
死馬當活馬醫,把所有動畫取消,所有元素集合到一張PPT上,得到版本2.0
雖然元素都集合在一張PPT,不過操作全看PPT臉色,不高興隨時給你切換幻燈片,高興的時候操作流暢(其實修改了n次.)。
再次交給大S,大S操作一番後……
掉坑過程-【噩耗般的客戶需求】
無奈之下,又想到了非透明背景,但是大S非常嫌棄
然後小白建議大S在版本1.0中多操作熟練一下,總比看PPT臉色好,接下來才知道,原來操作的人不是大S,瞬間吐血
小白繼續建議,讓大S在旁邊輔助學生操作,大S才勉強接受,可是過了一會兒,又發來一個噩耗
比賽的PPT規定為pptx字尾,但是啟用巨集程式設計的PPT必須為pptm字尾,這表示之前的所有努力付之一炬……,啊哈得非常絕望。
掉坑過程-【反客為主,跳出侷限,發現新世界】
動畫演示+初高中生操作+高階+時間短促……,於是小白想到了Scratch程式設計(一種拖拉拽式的少兒程式設計軟體),為何一定要在PPT演示的時候操作,無非是為了大螢幕下能夠操作動畫,那麼離開PPT後也有大螢幕效果且不是一樣??
由於大S不懂程式設計,我也無需多言,告知後直接開始實現,十幾分鍾後得到了最佳動畫效果
這是Scratch舊版(小白喜歡這個版本),儲存後得到原始碼,然後用整合封裝好的exe播放器開啟原始碼即可操作,完全符合要求,只要帶著原始碼和exe檔案,可以在任一臺Windows電腦上演示,而且十分流暢
終於大功告成,此時為凌晨2點(小白也經常熬夜),提交了一個讓大S完全滿意的結果,也從心流中出來了。
爬坑
整個過程其實非常像一個簡易的軟體開發流程,需要不斷修改以滿足客戶的需求,有時候稍稍放大生活,從生活中發現美的感覺很好,把問號拉直變成感嘆號,更是一個激動的過程!