Upload
toshio-ehara
View
35.901
Download
5
Embed Size (px)
DESCRIPTION
2013/2/3の勉強会で使った資料です。 iPhone開発者初心者向けです 内容は 「XcodeのStoryboardを使って 簡単なじゃんけんゲーム」を作るです。
Citation preview
iPhoneアプリ開発入門XcodeのStoryboardで画面を作ろう!
2013年2月3日(日)
iPhone開発初心者向け資料 +α
自己紹介twitter ID : itokami1123
お昼の仕事はHTML5/CSS3/JavaScriptです。
Webの仕事なんですけどクライアント側処理をメインにしてます。
何かお仕事があれば是非どうぞ!!
iPhoneアプリは通勤中に作ってます。
iPhoneアプリ作りのきっかけ
最初は新しい仕事の為(転職の為)
2011年まで古い技術(Java1.4とCOBOLとメーカ独自データベース製品など)しか触った事がなく段々と将来に不安になりました・・・
そこでHTML5とiPhone開発の勉強を独学で始めました。
福岡にはhtml5+α@福岡やiDevQ(iOS Developer Community)
など素敵な勉強会があって色々と助けてもらいました。
勉強会の検索は http://azusaar.appspot.com/
がお勧めです!
おかげさまで無事転職出来ました。
素敵な職場です。感謝してます。
今でもiPhoneアプリを作る理由
作るのが楽しい!
子供向けに学習ソフトを作っています。どうやったら子供達が楽しく苦手なものを克服出来るのかを考えるのがとても楽しいです!
iPhoneさえあればどんな子にでも学習のチャンスを与える事がでます!
宣伝です!http://www.itokami1123.com/soft/ で色々ソフトを公開してます!
リジェクト中
少し悩みが。。
福岡でもAndroidは集まって開発するグループがあるんですけどiPhoneアプリ(特に初心者向け)の集まりは少ないんです。
福岡のiPhoneアプリ制作者の集まりができたらいいなぁ。。
そこで
iPhoneアプリ開発者が少しでも増えたらいいなと思い、入門を説明したいと思います!(難しいツッコミは、ご勘弁を。。)
この資料ではメニューとゲーム2画面のじゃんけんゲームを作りたいと思います。
まずは。。
Xcodeをインストールしてください!
すみません。。説明は省略しますね。
Xcodeを起動
Xcodeのアイコンをクリックします!
今日は Version 4.5.2 を使用します。
新規作成
Create a new Xcode projectをクリックします。なんだか英語が一杯ですね。。
アプリの雛形選択
今回はSingle View Applicationを選んでみました。
初期入力
今回のアプリに関する情報をいれます。
上二つチェックをつけて Nextを押します。めも:Company Identifierは、ドメイン名を逆さにしたものが推奨されているようです。(例:example.comの場合は、com.exampleとなる)
ソース管理?
とりあえず気にせずチェックをはずして
Createボタンを押します!
じゃ~ん
出て来ました!
いきなり動かす!
再生ボタンをクリックすると。。
なにもでません。。
でもiPhoneらしくものが出て来ましたね。
これが iOSシミュレータです!
メニュー作り!さっそくメニューを作ってみましょう!
Storyboardのファイルをクリックすると
この白い画面が最初に出てた画面みたいですね。さっそく編集してみましょう。
右下に色々あるよ
背景を作ってみます。Image Viewをドラッグします。
画像を選ぶ
Imageで画像を選べるみたいですけど登録が必要ですね。
画像を登録
画像が入っているフォルダをドラッグして投げ込みます!
画像が登録されます。
Copyにチェックをつけるとこのアプリのソースの方にpng画像がコピーされます
背景画像
前に置いた背景に画像をつけました!
タイトルをつけよ~背景と同じ様にImage Viewをドラッグします
png画像を指定します
そういえば
そしてタイトルの高さ幅、位置を指定します
いっつもUse AutolayoutをOFFで作ってます。
(使い方が分かりません。。)
スタートボタン
Round Rect Buttonをドラッグします!
ボタンを編集Customを選ぶと画像がつけれます。
メニューが出来たので続いてゲーム画面を作りましょう!
ゲーム画面の枠を作る
ViewControllerをドラッグ!
補足:拡大と縮小
右下の虫眼鏡で切り替えます。
ゲーム画面の背景
ゲーム画面もメニュー画面と同じ様に作ります。
操作ボタン
ゲームの操作ボタンを置きます。ぐー、ちょき、ぱーの3つです。
RoundRect
Buttonをドラッグ
ボタンの画像設定
typeをcustomにしてImageを設定します!
では画面遷移を作って行きましょう!
画面遷移
ctlを押しながらドラッグすると線が!
画面遷移2
modalを選ぶと矢印ができました。
動かしてみましょう~
メニュー画面の上にゲーム画面が表示されます!
突然ですが残念なお知らせです。
こっから先はプログラムがないとゲームになりません。
Storyboardとコード
Storyboardの画面とコードはどうやってつながってるの?
Classと書いている所に指定すればOK
紐づけたいViewCotrollerを選んで
それではゲーム画面用のプログラムを用意してみましょう!
File -> New -> Cocoa Touch -> Objective-C class を選んで Next!
ViewControllerを作成
ゲーム画面用としてGameViewControllerを作成注意:Subclass of は UIViewController
そのままcreateをクリック
ゲーム画面のViewControllerのClassにGameViewController設定します。
勝ち負けの表示
勝敗を表示するLabelを貼ります。
最初は非表示
HiddenをOnすると非表示になります
相手の手
相手の手をImageViewで配置してHiddenにしておきます
ここまでで動かしてみましょう!hiddenは表示されない事が確認出来ます。
hidden(非表示)の勝ち負けのラベルなど表示されていない事が分かりますね!
それではじゃんけんのボタンとプログラムを繋いでみましょう!
じゃんけんボタン
Storyboard右上にある人の顔みたいなアイコンを押します。
「Assistant」ボタン
右側にソースが
右側に設定したGameViewControllerが出てきました!
難しそうな文字がいっぱいですが気にせずじゃんけんボタンをctlを押しながら@interfaceと@endの間にドラッグします。
ConnectionをAction(動作)TypeをUIButton(ボタン)EventをTouch Up Inside(ボタンを触った)ArgumentsをSender(押されたボタン)NameはjankenDidPush(好きな名前)にします。
jankenDidPushと言う関数が出来ました!
他のじゃんけんボタンはさっき作った関数名にくっつけます。どのじゃんけんボタンを押しても同じ関数を呼ぶ様になりました。
相手の手
じゃんけんですので相手の手が必要ですね!
arc4random()%3 って書くと0から2の範囲で適当な数値を返してくれます。じゃんけんボタンを押した時の処理の先頭にかきましょう!
hiddenで隠していた手を表示する為には各Image Viewをプログラムと接続しないといけないです。ctlを押しながら GameViewController.hにドラッグします。
ConnectionをOutlet、TypeをUIImageCiew、StorageをWeakのまま変えずNameに好きな名前をつけます。上の場合はぐーなので “guu”とつけました。
ちょき、ぱーも入れてGameViewController.hはこんな感じになりました。
相手の手を表示してみましょう!
if は もしも 〇〇 だったらという意味です。
うごかしてみましょう!
ボタンを押すと相手がじゃんけんを出す様になりました!
そういえば、自分が押した手が何かiPhoneが分かりませんね??
Tag
Tagを使うと区別が出来ます。ぐーは0、ちょきは1、パーは2にします。プログラムでTagの数字が拾えるんです。
かち!まけ!あいこ!の3つの文字もプログラムに繋いでおきます。
自分の手と相手の手の組み合わせで結果を表示します。
2回目おすとなんだかおかしいですね。。
前の表示が残っているからです。前の表示を全部非表示にしてやりなおせばOKです。
ゲームからメニューに戻る機能をつけましょう~
こっから画像が変わってますけど気にしないでね
前回同様、ボタンをドラッグします。
メニューのボタンと同様にcustomを選びボタンをImage画像を変更します
メニュー画面に戻るボタンをctl押しながらドラッグします。
下記のように設定しますConnection : Action
Type : UIButtonEvent : Touch Up Inside
Arguments : Sender
Nameは好きにつけれます。今回は、 “backToMenuBtnDidPush”とつけました。
GameViewController.hはこんな感じになりました
こんどは、GameViewController.m のbackToMenuBtnDidPush関数にゲーム画面を閉じる命令を書きます。[self dismissViewControllerAnimated:YES completion:nil];
動かしてみましょう!
これでおしまいです!
最後まで見て頂きありがとうございました!
間違いご指摘などありましたらtwitterで@itokami1123まで