上水屠房潮文IT版!主修IT不代表要幫你修電腦!

ShawTim Liu
4 min readApr 15, 2018

--

前幾日經過馬尿水大學
見到好多IT學生一車車咁送入去
有好多個仲流緊眼淚
佢地知呢一世都會俾人呼喚去整電腦…
真係好慘!
IT人係有靈性
推動社會科技發展
請大家唔好以為所有IT人都係幫你整電腦!
我都已經開始戒…😇

相信大家對上水屠房潮文已經耳熟能詳,以上乃係上水屠房潮文IT版本。馬尿水大學即香港中文大學。

我對修電腦是完全沒好感。我知道有些人有相關方面的興趣,但恐怕那不是我。大概我在轉生或升級時把修電腦技能的點數都點到其它方面去了。總之別找我修電腦。

有求有供,既然有人需要修電腦,那當然有專門提供修電腦的職業。只是一來這是專業服務並非免費,二來不是所以IT相關職業都是提供修電腦服務。老兄,王維基也不會上門幫你安裝寛頻吧!

不是所有人都懂電腦,也不是所有人都刻意把IT人當成工具人使喚,所以傳訊工具很重要。大家常說科普科普,這也應該算是科普的一環吧…?

話說最近莫名奇妙地在看物理引擎(Physics engine)相關的東西。我也不知道我是要做甚麼?腦袋像有個腦子開洞的宅宅把不同的東西胡亂連結成一起。

「試著把這個做出來吧?」

開洞怪宅這麼說。

於是,我又做了一個奇怪的東西… 又一個「我到底做了甚麼」系列作品。有人說這叫「電腦動畫」?哎隨便啦…

有時無聊打開,會有總莫名其妙的治癒感…

在香港,每過去一分鐘,就有60名IT人受害…

功能

  • 先說清楚,這不是生成器。
  • 你甚麼也不用做,打開看著,文字會自動一段段出現。
  • 背景的IT狗會不斷地掉下來。IT狗的位置、大小、質量、彈性都是隨機的,會互相撞來撞去。

技術層面

  • 整個project都放在github page上面,純前台。
  • Physics engine使用了Matter.js。​這裏引進了物理學中的Rigid body基本應用。隨機位置、大小、質量、彈性的IT狗們會受地心吸力吸引而相撞,運算出速度(velocity,帶向量的),然後再進一步再運算。FPS是60,這方面Matter.js會幫你做好。Physics engine其實還有一大堆,我沒有逐一試就是了。
  • Matter.js裏的世界根本上是依賴HTML5 canvas作運算。我試過貪心點想用HTML DOM node,因為DOM node自帶CSS以及Event listener會很方便。一個方法是直接找一個可以支援DOM node作world object的Physics engine,又或者直接在每一個frame自行運算(window.requestAnimationFrame())把canvas的內容投射出DOM node。不管哪個方法都好使用DOM node的效能都很差。這裏我也只設定了上限500隻IT狗,不然怕會燒壞你的電腦。
  • 中間的訊息框使用了vex-dialog。挺簡單易用的,不錯。
  • IT狗的設計借用了A0朋友
  • 打包用webpack。webpack plugin可以上github看。

難題

也談不上甚麼難題,本來就是在嘗試Physics engine,如我之前講的這些都是一堆練習功課。真要說就是選擇Physics engine麻煩,因應效能放棄使用DOM node等等各種嘗試。真要使用一個library不能只看對方的documentation就拍心口說沒問題,這絕對會死人的。可用與否還是要實際用一用才知道。

迴響

這個好笑。因為IT狗被呼來喚去這件事本身帶有話題性有不少業界朋友都有幫忙share。而ezone這家媒體雜誌的網上版搞了一個相關報道︰

單看報道還以為有人訪問我哩。但其實他們不過是把我的Facebook post「轉化」為一篇訪問… 以下是本來的Facebook post︰

朋友笑說這算是訪問生成器嗎?

還是要感謝報道就是了。

--

--