iphoneアプリ無料勉強会 vol3
DESCRIPTION
iPhoneアプリ無料勉強会、3回目の内容です。 コーディング手法について丁寧に解説をしています。 しっかり勉強しましょう!TRANSCRIPT
Basic->deploy(‘app’);
iOSアプリ開発勉強会@3回目
2014.03.09 CTO Sakuraba
#1日目ゲームアプリの作り方&儲け方
Agenda
#2日目カジュアルゲームのプロモーション方法&マッチに火をつけろを作ろう前半(Xcode実習)
#3日目マッチに火をつけろを作ろう後半(Xcode実習)
今日ここ
iOSアプリをゼロから作る最初の一歩
進行ルール
いつでもどこでも発言おk
わからない所気になった所はその場でガンガン聞いて
新規プロジェクトを作る
新規プロジェクトを作る
新規プロジェクトを作る
AppDelegateって…?
AppDelegate.hAppDelegate.mアプリケーションを作る際に、必ず作られるクラス。
役割としては、アプリ起動時の初期化処理/ホームボタンが押された時/再起動された時/バックグラウンドの処理など…。
UIWindowを生成し、アプリケーション全体の処理を行う。
AppDelegateの処理内容
AppDelegateの処理内容
application didFinishLaunchingWithOptionsアプリ起動時に実行され、UIWindowを生成する。UIWindowは、一つのアプリに一つだけ。
applicationWillResignActive割り込み時に、実行される。
applicationDidEnterBackground割り込み後、別のものに制御が移った後に実行される。バックグラウンド処理。
applicationWillEnterForegroundアプリの前面復帰直前に実行される。
applicationDidBecomeActiveアプリがアクティブになったら実行される。UIViewなどが実行された後。
applicationWillTerminateバックグラウンド実行時、アプリが終了された場合に実行される。
新しい画面を追加する
新しい画面を追加する
UIViewControllerとは…?
一言で言うと画面(シーン)。
複数のUIView(物体)を表示したり動かしたり、画面の遷移をしたりコントロールしまくる。
画面を増やしたいなーと思ったら、まずUIViewContorllerを作成する。
作ったUIViewControllerを表示してみる
AppDelegate.h
1:作成をしたMainViewController.hを読み込む。
2:MainViewControllerのインスタンス変数の宣言プロパティを追加する。
1
2
宣言プロパティ
プロパティ 属性 型 インスタンス変数名
プロパティの色々な属性を指定できる。
ARCを使う場合はstrong, nonatomic
ARCを使わない場合はassign, nonatomic(intやCGRectなどの素から系)retain, nonatomic(上記以外、UIViewなど)
と、覚えておけばOK
画面の読み込み
MainViewControllerを、self.viewControllerインスタンス変数へ読み込んで初期化。
アプリの最初の画面(self.window.rootViewController)に設定。
AppDelegate.m
メッセージ式
メッセージ式とは…
[ オブジェクト メッセージ ] の形式で、複数のメッセージを入れ子にして実行することも出来る。
[ [ オブジェクトメッセージA] メッセージB ]
alloc -オブジェクトのメモリを確保するinit -オブジェクトを実行するために初期化する(initもしくはinitから始まる)
オブジェクト メッセージA メッセージB
画面にUIViewを配置する
MainViewController.m
12
3
1:UIViewをサイズ/表示座標を指定して初期化するCGRectMake(x, y, width, height)
2:生成したUIViewの背景色を、UIColorを使って青色に指定
3:MainViewControllerへ、UIViewを配置(addSubview)
画像を表示してみる
画像を表示してみる
画像を表示してみる
MainViewController.m
1:UIImageでmatch.png ファイルを読み込む
2:読み込んだ画像を元に、UIImageViewを初期化する
12
ボタンを表示してみる
MainViewController.m
ボタンを表示してみる
MainViewController.m
btnを押した時に、moveMatchというメソッドを実行させるように指定
moveMatchというメソッドを、とりあえず作成
マッチを動かしてみる
マッチを動かしてみる
MainViewController.h
MainViewController.m
マッチ画像をどこからでも操作できるように、インスタンス変数として登録。
UIViewImage *iv として初期化していた部分をself.match に置き換える。
マッチを動かしてみる
self.match でどこからでも操作できるようになったので、moveMatchメソッド内にで、試しにマッチ画像を非表示にしてみる。
マッチを動かしてみる
$shutdown -h now