#会議での発言などで使えそうなアプリ作成
アプリ名「キミニキメタ改」
アプリケーション目的:
・社内でシャイな人にも発言をしてもらうため、アプリに発言者を決めてもらう。
アプリ作成のヒント:
・Swift初心者向けの書籍を読んで、コードなどを理解しながら作成
・指名された人の写真を追加、変更するだけでも、コードの意味理解が深まるかなと
・iOS端末が変わってもレイアウトを維持するのが大変だった、、、
・そもそもアプリ作成のアイデアを膨らませて実用的にすることにも注力しないと、
なかなか良いものができないのではと実感
・オープニングの画面や、音楽をつけるだけでも、かなり感じが変わることを実感
→そのため、イラストレーターでオープニング画面をデザインしてみるなど、
結構楽しかったです!
アプリの動作
・オープニング画面が表示 → スタートボタンを押す
・画面が次の画面に行き、音楽が流れ始める
・ボタンを押すと、ランダムに画像を表示してくれる
→前の人は出ないように設定
苦労した点
・まずコードを理解するところから、、、素人丸出しですみません、、、
・画面遷移の際に音楽を鳴らす方法がわからず、Webでの事例を探しました
・本のレッスンを組み合わせるだけでも、コードを記載する位置などを模索が必要で、
アルゴリズムの必要性を実感、、、
・なぜかコードがあっているはずなのにエラーが出るときは、再度同じように書いてみると、
うまくいくことがあって謎でした
・ボタンを押して画像を出すだけではなくて、アニメーションをもっと多用して、
動作に期待感が持てるようにできればな〜と模索中です。
//
// ViewController.swift
// キミニキメタ改
//
// Created by admin on 2017/12/11.
// Copyright © 2017年 tooyamamura. All rights reserved.
//
import UIKit
import AVFoundation
class ViewController: UIViewController {
var player: AVAudioPlayer?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if let sound = NSDataAsset(name: "backmusic") {
player = try? AVAudioPlayer(data: sound.data)
player?.play() // → これで音が鳴る
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//社員の顔写真が表示される領域
@IBOutlet weak var peopleimageView: UIImageView!
//顔写真とリンクして名前が表示されるラベル領域
@IBOutlet weak var peopleLabel: UILabel!
//顔写真(数字)
var faceNumber = 0
//ボタンを押してルーレットスタート
@IBAction func whotalks(_ sender: Any) {
//新しい顔写真の結果を一時的に格納する変数を設ける
var newfaceNumber = 0
//ランダムに結果を出すが、前回の結果と異なる場合のみ採用
//repeatは繰り返しを意味する
repeat{
//0,1,2の数値をランダムに算出(乱数)
//arc4dandom_uniform()の戻り値はUInt32だがSwiftの標準的な整数型Intにキャスト(変換)する
newfaceNumber = Int(arc4random_uniform(4))
//前回と同じ結果の時は、再度、ランダムに数値を出す
//異なる結果のときは、repeatを抜ける
}while faceNumber == newfaceNumber
///新しい顔写真の結果を格納
faceNumber = newfaceNumber
//本社さん
if faceNumber == 0 {
peopleLabel.text = "本社さんお願いします! "
peopleimageView.image = UIImage(named:"honsha")
}else if faceNumber == 1 {
//AA支店さん
peopleLabel.text = "AA支店お願いします!"
peopleimageView.image = UIImage(named:"AA")
}else if faceNumber == 2 {
//BB支店さん
peopleLabel.text = "BB支店さんお願いします!"
peopleimageView.image = UIImage(named:"BB")
}else if faceNumber == 3 {
//CC支店さん
peopleLabel.text = "CC支店さんお願いします!"
peopleimageView.image = UIImage(named:"CC")
}
}
}