じゃんけんをするプログラムを作っていて「じゃんけんをする!」を押したらすぐにランダムで出てしまうと面白くないので、「最初はグー じゃんけん」と表示してから結果を出したいのですがその時間をどう書けばいいかわかりません。
Arduinoをしていてdelay()みたいな感じでできますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
Swiftの遅延処理は以下ですかね
dispachMainQueのasyncAfterを使って"最初はグー じゃんけん"の1秒後に結果を出す
func delay() { print("最初はグー じゃんけん") DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { print("ぽん!") } }
(追加質問の"printではなくLabelでやりたいのですがどうすればいいですか?")への回答
printでもlabelでも考え方は同じなのであります
var answerNumber = 0 //UIButtonのインスタンス生成 var answerLabel = UILabel() @IBAction func shuffleAction(_ sender: Any) { //まずラベルのテキスは"最初はぐ~ じゃんけん" answerLabel.text = "最初はぐ~ じゃんけん" print(answerLabel.text) //ここで遅延処理 DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { //番号のシャッフル(0~3) self.answerNumber = Int(arc4random_uniform(3)) if self.answerNumber == 0 { self.answerLabel.text = "グー" } else if self.answerNumber == 1 { self.answerLabel.text = "チョキ" } else if self.answerNumber == 2 { self.answerLabel.text = "パー" } //ここで番号とラベルが一致しているかの確認 //番号が0だったら、ラベルは”グー” print("ナンバー", self.answerNumber) print("アンサーラベル", self.answerLabel.text) } }
投稿2019/04/20 09:03
編集2019/04/21 06:09総合スコア183
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/20 09:33
2019/04/20 09:34
2019/04/20 09:36
2019/04/21 02:08
2019/04/21 06:00
2019/04/21 12:44