#24 用 slider 拯救太空人大作戰

宇宙要爆炸了!!
快發射太空船去拯救吧!

還加入了太空人的gif動畫
是不是有種太空人很想活下去的緊張感?
太刺激了!

在storyboard裡只加入了四個元件

接下來就是地獄般的程式了!

import UIKit

class ViewController: UIViewController {

//把slider、太空船、太空人拉outlet
@IBOutlet weak var slider: UISlider!

@IBOutlet weak var spaceshuttle: UIImageView!

@IBOutlet weak var astronaut: UIImageView!

override func viewDidLoad() {
super.viewDidLoad()

//加入背景
let backgroundImage = UIImageView(frame: CGRect(x: 0, y: 0, width: 852, height: 393))
backgroundImage.image = UIImage(named: "universe")
backgroundImage.contentMode = .scaleToFill

//把背景設定在最底層
view.insertSubview(backgroundImage, at: 0)

//加入太空船、太空人圖片
astronaut.frame = CGRect(x: 613, y: 69, width: 198, height: 106)
view.addSubview(astronaut)
let astronautAnimatedView = UIImage.animatedImageNamed("animated-astronaut-image-0013-", duration: 2)
astronaut.image = astronautAnimatedView

spaceshuttle.frame = CGRect(x: 79, y: 210, width: 177, height: 162)
}

//拉IBAction執行slider
@IBAction func moveSlider(_ sender: UISlider) {

//設定太空船、太空人位置移動
spaceshuttle.frame.origin = CGPoint(x: CGFloat(79 + 189 * sender.value), y: CGFloat(210 - 48 * sender.value))
astronaut.frame.origin = CGPoint(x: CGFloat(613 - 210 * sender.value), y: 69 + CGFloat(74 * sender.value))

//設定太空船、太空人靠近時透明度
spaceshuttle.alpha = CGFloat(sender.value * 1)
astronaut.alpha = CGFloat(sender.value * 1)
}

}

繼續挑戰下一個!

Github連結:

--

--