1.新しいプロジェクトDiceを作成します
2. アイコン
AppIcon を削除し、解凍した AppIcon.appiconset ファイルを Assets パッケージにドラッグします。
3. Web ページを通じてマテリアル ポイント 1 ~ 6 を 2x および 3x バージョンに作成し、アセットにドラッグします。
4. 対応する UI を設定します。
5. Button コンポーネントをドラッグし、スタイルを設定します。
6. Ctrl キーを押しながら Button を ViewController にドラッグし、Connection、Name などを設定して Connect をクリックします。
同じ方法で 2 つのサイコロのコードを作成します。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var diceImageView1: UIImageView!
@IBOutlet weak var diceImageView2: UIImageView!
@IBAction func roll(_ sender: Any) {
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
7. 乱数を作成するコードの作成を続けます。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var diceImageView1: UIImageView!
@IBOutlet weak var diceImageView2: UIImageView!
@IBAction func roll(_ sender: Any) {
var index1: Int = Int.random(in: 1...6)
var index2: Int = Int.random(in: 1...6)
diceImageView1.image = UIImage(named: "dice\(index1)")
diceImageView2.image = UIImage(named: "dice\(index2)") }
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
8. 起動して実行する
9. プログラムのロード時にランダムにサイコロを投げます
import UIKit
class ViewController: UIViewController {
let diceArr = ["dice1", "dice2", "dice3", "dice4", "dice5", "dice6"]
@IBOutlet weak var diceImageView1: UIImageView!
@IBOutlet weak var diceImageView2: UIImageView!
@IBAction func roll(_ sender: Any) {
//调用摇骰子函数
updateDiceImages()
}
//当程序加载的时候的活动
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//调用摇骰子函数
updateDiceImages()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func updateDiceImages(){
var index1: Int = Int.random(in: 0...5)
var index2: Int = Int.random(in: 0...5)
diceImageView1.image = UIImage(named: diceArr[index1])
diceImageView2.image = UIImage(named: diceArr[index2]) }
}
10. ユーザーがサイコロを振ると、サイコロシェイク関数が呼び出されます。
import UIKit
class ViewController: UIViewController {
let diceArr = ["dice1", "dice2", "dice3", "dice4", "dice5", "dice6"]
@IBOutlet weak var diceImageView1: UIImageView!
@IBOutlet weak var diceImageView2: UIImageView!
@IBAction func roll(_ sender: Any) {
//调用摇骰子函数
updateDiceImages()
}
//当程序加载的时候的活动
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//调用摇骰子函数
updateDiceImages()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func updateDiceImages(){
var index1: Int = Int.random(in: 0...5)
var index2: Int = Int.random(in: 0...5)
diceImageView1.image = UIImage(named: diceArr[index1])
diceImageView2.image = UIImage(named: diceArr[index2]) }
//当用户摇晃手机时触发摇骰子
override func motionEnded(_ motion: UIEventSubtype, with event: UIEvent?) {
updateDiceImages()
}
}