與虛擬女孩親密接觸(使用 IBOutlet 和 IBAction 創作有趣的 App)

App截圖:

1.App 操作的動畫影片

2.Github連結

3.說明

前言:

原本想說要寫一個教大家拍照擺pose的教學app,但我的模特兒彼得潘先生卻不太願意配合我(ಥ﹏ಥ)(ಥ﹏ಥ),只好改變主題…

.

但,要用什麼主題?

我突然想到彼得潘葛格上課時問我:想不想寫一個程式女友?

當下我覺得這也太ㄎㄧㄤ了,可是我的風格向來是沒再怕的,就是要做一些很恥的東西才會爽,於是這個低能App就誕生啦~

聽說這次彼得潘要求很多功能,OK的儘管放馬過來吧

.

功能1:畫面上至少需包含以下元件,而且程式也有使用這些元件。

text field,slider,switch,label,image view,button,segmented control,date picker

你要多少元件我都拉給你,拉好拉滿

Huh,你說Label在哪 ? ...這個嘛,有什麼問題嗎?

-

以下開始text field,switch,label,image view,button,segmented control解說

如上面程式碼,我寫了大量的if當條件,只要在這些元件裡設好條件,虛擬女孩Tia和Zoe就會變裝囉

不過你在text field那邊不是輸入 日常、OL、運動、睡衣、泳衣這五個關鍵字,Tia跟Zoe就不會換衣服唷

而是跑出Error

-

功能2:slider 滑動時要搭配 label 顯示數值

slider這裡我是定位為好感度,範圍由0~5,不同好感度,虛擬女孩對你說的話就會不同,放的歌也會不同

程式碼中的songImage和songName在這邊↓ 兩個都會跟著slider變動

by the way,好感度0的話,Tia就會不開心喔

p.s. imageView真的出現這張喔

-

功能3:使用者輸入文字後,可以將鍵盤收起來,比方按某個 button 或 return 鍵。

喔拜託,按return和按空白收鍵盤我都寫給你

-

功能4.有亂數功能。

做到這裡我這個App都快寫完了,突然看到要寫亂數功能...

我真的超想送一拳給...沒事,未要緊(台語),我接受挑戰

我寫了一個亂數button來隨機幫Tia和Zoe換裝,範圍1...5是指 日常、OL、運動、睡衣、泳衣這5種風格,視角方面則有遵循switch的設定

-

文章打到這裡,我似乎忘記介紹date picker齁

那就來吧

至於yearsOldLabel,底加啦

-

功能5.利用 UIBezierPath 設計特別形狀的圖片

這個需求真心覺得無聊,不過是彼得潘的話,可以喔

這部分我就寫在歌曲圖片那邊,給他加個斜邊

你問我是怎麼做出來的?

↑跟著彼得潘葛格依樣畫狐狸就OK呀!

-

功能6. 覺得畫面太小的,可考慮做 iPad 的版本。

嗯...不考慮喔(ʃƪ¬‿¬)(ʃƪ¬‿¬)

-

功能7. 有趣。

雖然程式很簡單啦

我是覺得成果還不賴啦~你給幾分呢?

-

加分功能:播放背景音樂

我在slider就有寫播放音樂的功能了,不過這邊強調是背景BGM,還是附一下程式碼吧!

.

.

4.心得:

很多人說天分是被高估的,但我真的不以為然,直到遇見一個跟我一樣,被上天眷顧的男人,很難得有人在(swift)天分上能比我略勝一籌,說真的我有被嚇到,不過比顏質的話….嗯?

面對這個男人提出的作業,我豈能認輸呢?

不管要求再多都寫進去,畢竟這對高手來說,是一定要的嘛!

雖然我在期中考週還花兩天寫作業根本玩命,只要是彼得潘的作業,我都認為值得