ジェスチャーフラッシュ:RainbowApps iPhoneアプリマスターコース講座紹介6

2012/11/29

06:ジェスチャーフラッシュ

Gesture Flash
RainbowApps iPhoneアプリマスターコースの第6講では、ジェスチャーフラッシュアプリの制作を行います。このアプリはスワイプ、回転、ピンチなどiPhoneのスクリーン上で行うタッチジェスチャーを出題し、ユーザーが実際にそのジェスチャーをしていくゲームです。問題はランダムで30問あり、ユーザーは30のタッチジェスチャーを完了するまでのタイムを競います。アプリ上ではハイスコアが1〜3位まで表示されます。

ジェスチャーフラッシュ

ジェスチャーフラッシュアプリは、第5講で制作したクイズアプリと同じくスタート画面、ゲーム画面、スコア画面で構成されています。画面遷移のためのSegueなどの使い方は第5講と同じです。Storyboardを使って3つのView Controllerを制作し、その上に必要なラベルや画像などを配置します。これはタイムを競うゲームなので、ゲーム画面の上部には経過時間を表示するラベルを設置します。結果画面には30のジェスチャーをクリアした所要時間が表示され、スタート画面には1〜3位までのハイスコアが表示されます。

ハイスコアはiPhoneの電源をオフにしても、アプリが終了しても保存されるものなので、アプリ自体にスコアデータを保存させるNSUserDefaultsを使用します。NSUserDefaultsはint、double、BOOL、NSDataなどの型の変数を使用することができますが、このアプリではハイスコアタイムを記録させるのでdouble型の変数を使用します。ユーザーがゲームを終えると結果画面に遷移し、そのタイムがベスト3に入っていればNSUserDefaultsで記録し、スタート画面では保存されているNSUserDefaultsデータを呼びます。

Gesture Flash

ユーザーがゲーム内で行うジェスチャーは8つです。
ゲーム画面では上の画像をランダムで表示させます。UIGestureRecognizerクラスのメソッドを使用し、ユーザーが画面に表示されたジェスチャーと同じジェスチャーをすれば1問クリアとなります。このアプリではこれを30回繰り返します。

ゲームのプレイ時間を計測するのにはNSTimerを使用します。ゲームスタート時点の時間を取得し、ユーザーが30問目のジェスチャーをクリアして、結果画面に遷移するときの時間が取得できれば経過時間を出すことができます。また画面上のタイマーは0.1秒ごとにラベルの数字を0.1カウントアップさせることで表示させます。

ジェスチャーフラッシュ

スマートフォンアプリは、ユーザーのタッチ操作によって直感的に扱えることが魅力です。このタッチジェスチャーを使いこなすことで、UXの表現も広がるでしょう。また第5講に引き続きゲームアプリを制作しましたが、第6講ではタイマーの扱い方を学びます。タイマーによる制御や進行はゲームアプリの基本となる技術です。

TEXT : 桑村治良(onTheHammock)



Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

クイズアプリ:RainbowApps iPhoneアプリマスターコース講座紹介5

2012/11/26

05:クイズアプリ

Counter
RainbowApps iPhoneアプリマスターコースの第5講では、クイズアプリの制作を行います。このアプリはランダムで10問の問題を出題し、ユーザーがそれに○か×で答えるゲームです。スコア画面では正解率と、得点に応じた評価画像が表示されます。
第5講のポイントはStoryboardを使った画面遷移の方法を学ぶことです。このアプリはスタート画面、ゲーム本編、結果画面がそれぞれ3つのViewControllerで管理します。スタート画面に設置されたボタンを押すと、ゲーム画面に遷移し、ユーザーが10問の問題に答えた時点でスコア画面に遷移します。スコア画面に設置されたボタンを押すとスタート画面へと遷移します。

クイズアプリ

上の画像がスタート画面→ゲーム画面→結果画面→スタート画面を繋いだStoryboardとなります。スタートボタンからゲーム画面への遷移はStoryboard上だけで設定できます。SegueでボタンからゲームをコントロールするViewControllerをつなぐだけです。結果画面からスタート画面への遷移もボタンをSegueでボタンからゲームをスタート画面を管理するViewControllerをつなぐだけで行えます。しかしゲーム画面から結果画面へと遷移するためには”ユーザーが問題に10問答える”という条件が必要となります。その遷移設定はStoryboard Segueで遷移のためのIdentifierを設定し、遷移するためのコードを書く必要があります。

この講義では3つのViewControllerクラスと、問題をCSVファイルを読み込み初期化して、ゲーム画面を管理するViewControllerに受け渡す独自クラスを制作します。
スタート画面を管理するViewControllerクラスには何も記述するコードはありません。Storyboard上でラベル、テキストビュー、ボタンを設置し、ゲーム画面の設定までおこなっているからです。

ゲーム画面を管理するViewControllerクラスでは、独自クラスから問題を受け取り可変配列を扱えるNSMutableArrayに格納します。この可変配列を使って、10問のなかで同じ問題を出すことなくランダムに出題する仕組みを作ります。問題が10問出題されたらperformSegueWithIdentifier:メソッドを使って、結果画面へと遷移するコードを書きます。この時にStoryboard上で設定したIdentifierが必要となります。またprepareForSegue:メソッドを使用し、ゲーム画面で取得した正答率を結果画面へと受け渡します。

結果画面を管理するViewControllerでは、正答率をゲームViewControllerから参照するpropertyに対応した変数を宣言し、正答率とその正答率に応じて画像を表示するコードを記述します。

クイズアプリ
この講座ではStoryboarを使った画面遷移と、CSVファイルの読み込み、そしてランダムに問題を取り出すテクニックを学べます。また、このクイズアプリを応用すれば、簡単にオリジナルアプリの作成をすることができるでしょう。Segueの使い方をマスターすることで複数の画面を使ったアプリの制作も行えるようになります。

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

キッズアプリ「ゲームで学ぼう”英単語キッズ”」

2012/11/21

英単語キッズ Screenshot

聴いて、遊んで、英単語を学ぼう!!
楽しく学べる英単語学習ゲーム(無料ダウンロード)

アプリレーベルonTheHammockは2012年11月30日、キッズアプリ「英単語キッズ」をリーリースします。同アプリはかわいいキャラクターが登場するキッズ向けの英単語学習ゲームです。

「英単語キッズ」は、単語帳に次々と出題される英単語の意味を選択して答えていくシンプルなゲームです。1問1問の解答には時間制限があり、時間内に答えを選択しないと間違いとなってしまいます。ゲームは「Easy」「Normal」「Hard」の3モードから成り、 「Easy」モードは出題数30問・1問の解答時間8秒、「Normal」モードは出題数50問・1問の解答時間6秒、 そして「Hard」モードは出題数100問で、1問答えるごとに解答時間が少しずつ短くなっていきます。
英単語学習アプリにゲームの要素を組み込むことによって、お子さんが飽きずに楽しみながら学習が続けられるしくみになっています。「Hard」モードは大人でも高得点をとることは難しく、 親子で楽しく真剣に英単語の学習ができます。

英単語キッズ Screenshot

また、Twitter、Facebookとも連携しており、獲得した点数を投稿することができます。
この機能で投稿すると、”英単語キッズ検定”のグレードが発表され、スコアに応じたメダル画像が添付されます。 「英単語キッズ」はゲームで高得点を目指すことによって、目と耳で自然と英単語を覚えることができ、お子さんの勉強意欲を高めます。

英単語キッズ Screenshot

各単語帳は100単語で構成されており、1つの単語帳を完全にマスターした後に、 新しい単語帳を購入することで、さらに多くの英単語を学ぶことができます。

英単語キッズ Screenshot

英単語キッズの主な機能

【英単語学習】

・日常生活で使う子ども向けの英単語を厳選。
・親しみやすい子どもの音声で英単語を再生。
・問題はランダムに出題されます。
・解答時間にタイムリミットがあるのでスリリングです。

【投稿機能】

・Twitter、Facebookと連携し、得点を投稿できます。
・獲得点数に対応したグレードメダルが添付されます。

【単語帳購入機能】

・アプリ内で新しい英単語帳(価格85円/問題数100問)を購入することが出来ます。
・一度購入した単語帳が使えなくなったときは「リストア」ボタンで単語帳を購入状態に戻すことができます。

英単語キッズ Screenshot



英単語キッズ Icon

iPhone App: 英単語キッズ
配信:iTunes Store
価格:無料
カテゴリ:教育
開発:onTheHammock

英単語キッズ

 



★onTheHammockからクリスマスプレゼント★

抽選でiPad mini、iPhone5ケースが当たる!「英単語キッズ満点キャンペーン!!」

onTheHammockでは「英単語キッズ」のリリースを記念して、iPad mini Wi-Fi 16GB(1名)、オリジナルiPhone 5ケース(5名)が当たるクリスマスプレゼントキャンペーンを実施します。応募方法は簡単ですが、応募条件は簡単ではありません! 高得点目指してがんばろう!!

【応募期間】

2012年11月30日から12月21日 23時59分まで

【応募条件】

【iPad miniプレゼント希望】
①キッズアプリ「英単語キッズ」をプレイして、全問正解の100点を獲得します。
②スコア画面から、TwitterかFacebookにて、「#iPadminiプレゼント」と一文を追加記載して、結果を投稿します。(満点の証であるExpertメダルを添付した状態で投稿してください)


【iPhone5ケースプレゼント希望】
①キッズアプリ「英単語キッズ」をプレイして、90点以上を獲得します。
②スコア画面から、TwitterかFacebookにて、「#iPhone5ケースプレゼント」と一文を追加記載して、結果を投稿します。(90点以上の証であるGRADE1メダルを添付した状態で投稿してください)
※プレイする単語帳は無料の「単語帳1」でも有料(85円)の「単語帳2」「単語帳3」でもかまいません。

【当選発表】

2012年12月24日、onTHeHammockのWebサイト(http://onTheHammock.com)にて発表

【応募上の諸注意】

・Facebookで投稿応募する場合は、投稿のプライバシー設定を”公開”にしてください。
・当選者にはFacebookのメッセージもしくはTwitterの返信にてご連絡させて頂きます。
・当選者の権利は譲渡・換金・変更することはできません。
・なお、賞品のお届け先は日本国内に限らせていただきます。
・お預かりした個人情報は厳重にお取り扱いいたします。
・住所・電話番号などが不明確な場合や住所・電話番号の変更、当選通知のご返答が7日以上いただけない
場合など、なんらかの理由により賞品がお届けできない場合は、当選を無効とさせていただきます。

…………………………….
※子ども向けの学習アプリですが、どなたでも参加可能です♪
※応募回数は、各プレゼントにつき、お一人様1回までとさせて頂きます。
(iPad miniに応募1回 / iPhone5ケースに応募1回 )

 

遊びながら学べる!英語学習アプリ「ゲームで学ぼう!英単語キッズ」

2012/11/21

英単語キッズ Screenshot

こどもも大人も、みんなでチャレンジ!聴いて、遊んで、英単語を学ぼう!!
楽しく学べる英単語学習ゲーム(無料ダウンロード)

2012年11月30日、キッズアプリ「英単語キッズ」(iOSアプリ)をリーリースします。同アプリはかわいいキャラクターが登場するキッズ向けの英単語学習ゲームです。

「英単語キッズ」は、単語帳に次々と出題される英単語の意味を選択して答えていくシンプルな内容です。1問1問の解答には時間制限があり、時間内に答えを選択しないと間違いとなってしまいます。ゲームは「Easy」「Normal」「Hard」の3モードから成り、 「Easy」モードは出題数30問・1問の解答時間8秒、「Normal」モードは出題数50問・1問の解答時間6秒、 そして「Hard」モードは出題数100問で、1問答えるごとに解答時間が少しずつ短くなっていきます。
英単語学習アプリにゲームの要素を組み込むことによって、お子さんが飽きずに楽しみながら学習が続けられるしくみになっています。「Hard」モードは大人でも高得点をとることは難しく、 親子で楽しく真剣に英単語の学習ができます。

英単語キッズ Screenshot

また、Twitter、Facebookとも連携しており、獲得した点数を投稿することができます。
この機能で投稿すると、”英単語キッズ検定”のグレードが発表され、スコアに応じたメダル画像が添付されます。 「英単語キッズ」はゲームで高得点を目指すことによって、目と耳で自然と英単語を覚えることができ、お子さんの勉強意欲を高めます。

英単語キッズ Screenshot

各単語帳は100単語で構成されており、1つの単語帳を完全にマスターした後に、 新しい単語帳を購入することで、さらに多くの英単語を学ぶことができます。

英単語キッズ Screenshot

英単語キッズの主な機能

【英単語学習】

・日常生活で使う子ども向けの英単語を厳選。
・親しみやすい子どもの音声で英単語を再生。
・問題はランダムに出題されます。
・解答時間にタイムリミットがあるのでスリリングです。

【投稿機能】

・Twitter、Facebookと連携し、得点を投稿できます。
・獲得点数に対応したグレードメダルが添付されます。

【単語帳購入機能】

・アプリ内で新しい英単語帳(価格85円/問題数100問)を購入することが出来ます。
・一度購入した単語帳が使えなくなったときは「リストア」ボタンで単語帳を購入状態に戻すことができます。

英単語キッズ Screenshot



英単語キッズ Icon

iPhone App: 英単語キッズ
配信:iTunes Store
価格:無料
カテゴリ:教育
開発:onTheHammock

英単語キッズ


英単語キッズはレビューメディアやブログでも紹介していただいております。
キッズアプリ.com
http://www.kids-app.com/archives/2001.html
Apply
http://www.iphone-apply.com/2012/12/blog-post.html
Zenbackキーワード
http://zenback.itmedia.co.jp/contents/www.iphone-apply.com/2012/12/blog-post.html
AppMama
http://www.appmama.net/2012/12/eitangokids.html?spref=fb
ふるやまんの算数塾
http://furuyaman.jugem.jp/?eid=1613
Appliv
http://app-liv.jp/570906772/
日刊Appliv
http://nikkan.app-liv.jp/archives/14268

ありがとうございます!


★onTheHammockからクリスマスプレゼント★
抽選でiPad mini、iPhone5ケースが当たる!「英単語キッズ満点キャンペーン!!」

onTheHammockでは「英単語キッズ」のリリースを記念して、iPad mini Wi-Fi 16GB(1名)、オリジナルiPhone 5ケース(5名)が当たるクリスマスプレゼントキャンペーンを実施します。応募方法は簡単ですが、応募条件は簡単ではありません! 高得点目指してがんばろう!!

【応募期間】

2012年11月30日から12月21日 23時59分まで

【応募条件】

【iPad miniプレゼント希望】
①キッズアプリ「英単語キッズ」をプレイして、全問正解の100点を獲得します。
②スコア画面から、TwitterかFacebookにて、「#iPadminiプレゼント」と一文を追加記載して、結果を投稿します。(満点の証であるExpertメダルを添付した状態で投稿してください)


【iPhone5ケースプレゼント希望】
①キッズアプリ「英単語キッズ」をプレイして、90点以上を獲得します。
②スコア画面から、TwitterかFacebookにて、「#iPhone5ケースプレゼント」と一文を追加記載して、結果を投稿します。(90点以上の証であるGRADE1メダルを添付した状態で投稿してください)
※プレイする単語帳は無料の「単語帳1」でも有料(85円)の「単語帳2」「単語帳3」でもかまいません。

【当選発表】

2012年12月24日、onTHeHammockのWebサイト(http://onTheHammock.com)にて発表

【応募上の諸注意】

・Facebookで投稿応募する場合は、投稿のプライバシー設定を”公開”にしてください。
・当選者にはFacebookのメッセージもしくはTwitterの返信にてご連絡させて頂きます。
・当選者の権利は譲渡・換金・変更することはできません。
・なお、賞品のお届け先は日本国内に限らせていただきます。
・お預かりした個人情報は厳重にお取り扱いいたします。
・住所・電話番号などが不明確な場合や住所・電話番号の変更、当選通知のご返答が7日以上いただけない場合など、なんらかの理由により賞品がお届けできない場合は、当選を無効とさせて頂きます。

…………………………….
※子ども向けの学習アプリですが、どなたでも参加可能です♪
※応募回数は、各プレゼントにつき、お一人様1回までとさせて頂きます。
(iPad miniに応募1回 / iPhone5ケースに応募1回 )

iPad miniが当たる!英単語キッズ満点キャンペーン!!11/30スタート★

2012/11/21

 


★onTheHammockからクリスマスプレゼント★

抽選でiPad mini、iPhone5ケースが当たる!「英単語キッズ満点キャンペーン!!」

onTheHammockでは「英単語キッズ」のリリースを記念して、iPad mini Wi-Fi 16GB(1名)、オリジナルiPhone 5ケース(5名)が当たるクリスマスプレゼントキャンペーンを実施します。応募方法は簡単ですが、応募条件は簡単ではありません! 高得点目指してがんばろう!!

【応募期間】

2012年11月30日から12月21日 23時59分まで

【応募条件】

【iPad miniプレゼント希望】
①キッズアプリ「英単語キッズ」をプレイして、全問正解の100点を獲得します。
②スコア画面から、TwitterかFacebookにて、「#iPadminiプレゼント」と一文を追加記載して、結果を投稿します。(満点の証であるExpertメダルを添付した状態で投稿してください)


【iPhone5ケースプレゼント希望】
①キッズアプリ「英単語キッズ」をプレイして、90点以上を獲得します。
②スコア画面から、TwitterかFacebookにて、「#iPhone5ケースプレゼント」と一文を追加記載して、結果を投稿します。(90点以上の証であるGRADE1メダルを添付した状態で投稿してください)
※プレイする単語帳は無料の「単語帳1」でも有料(85円)の「単語帳2」「単語帳3」でもかまいません。

【当選発表】

2012年12月24日、onTHeHammockのWebサイト(http://onTheHammock.com)にて発表

【応募上の諸注意】

・Facebookで投稿応募する場合は、投稿のプライバシー設定を”公開”にしてください。
・当選者にはFacebookのメッセージもしくはTwitterの返信にてご連絡させて頂きます。
・当選者の権利は譲渡・換金・変更することはできません。
・なお、賞品のお届け先は日本国内に限らせていただきます。
・お預かりした個人情報は厳重にお取り扱いいたします。
・住所・電話番号などが不明確な場合や住所・電話番号の変更、当選通知のご返答が7日以上いただけない場合など、なんらかの理由により賞品がお届けできない場合は、当選を無効とさせて頂きます。

…………………………….
※子ども向けの学習アプリですが、どなたでも参加可能です♪
※応募回数は、各プレゼントにつき、お一人様1回までとさせて頂きます。
(iPad miniに応募1回 / iPhone5ケースに応募1回 )


<アプリ紹介>
英単語キッズ

英単語キッズ Screenshot

聴いて、遊んで、英単語を学ぼう!!
楽しく学べる英単語学習ゲーム(無料ダウンロード)

2012年11月30日、キッズアプリ「英単語キッズ」をリーリースします。同アプリはかわいいキャラクターが登場するキッズ向けの英単語学習ゲームです。

「英単語キッズ」は、単語帳に次々と出題される英単語の意味を選択して答えていくシンプルなゲームです。1問1問の解答には時間制限があり、時間内に答えを選択しないと間違いとなってしまいます。ゲームは「Easy」「Normal」「Hard」の3モードから成り、 「Easy」モードは出題数30問・1問の解答時間8秒、「Normal」モードは出題数50問・1問の解答時間6秒、 そして「Hard」モードは出題数100問で、1問答えるごとに解答時間が少しずつ短くなっていきます。
英単語学習アプリにゲームの要素を組み込むことによって、お子さんが飽きずに楽しみながら学習が続けられるしくみになっています。「Hard」モードは大人でも高得点をとることは難しく、 親子で楽しく真剣に英単語の学習ができます。

英単語キッズ Screenshot

また、Twitter、Facebookとも連携しており、獲得した点数を投稿することができます。
この機能で投稿すると、”英単語キッズ検定”のグレードが発表され、スコアに応じたメダル画像が添付されます。 「英単語キッズ」はゲームで高得点を目指すことによって、目と耳で自然と英単語を覚えることができ、お子さんの勉強意欲を高めます。

英単語キッズ Screenshot

各単語帳は100単語で構成されており、1つの単語帳を完全にマスターした後に、 新しい単語帳を購入することで、さらに多くの英単語を学ぶことができます。

英単語キッズ Screenshot

英単語キッズの主な機能

【英単語学習】

・日常生活で使う子ども向けの英単語を厳選。
・親しみやすい子どもの音声で英単語を再生。
・問題はランダムに出題されます。
・解答時間にタイムリミットがあるのでスリリングです。

【投稿機能】

・Twitter、Facebookと連携し、得点を投稿できます。
・獲得点数に対応したグレードメダルが添付されます。

【単語帳購入機能】

・アプリ内で新しい英単語帳(価格85円/問題数100問)を購入することが出来ます。
・一度購入した単語帳が使えなくなったときは「リストア」ボタンで単語帳を購入状態に戻すことができます。

英単語キッズ Screenshot



英単語キッズ Icon

iPhone App: 英単語キッズ
配信:iTunes Store
価格:無料
カテゴリ:教育
開発:onTheHammock

英単語キッズ


オン・ザ・ハンモック野外活動

onTheHammock ミウライフ 三浦+Life
2012/11/19

MIULifeミウライフ

冒険生活と野外活動:ミウライフ(三浦+Life)

onTheHammock(オン・ザ・ハンモック)では、定期的に野外活動を行っております。とはいっても、現在は趣味の範囲での活動です。メンバーが、アウトドアや自然が好きなことから、休日や夏休みを利用して、キャンプやトレイル、森林保全や農業ボランティアなどを行っています。


活動拠点が神奈川県三浦市のはずれなので、自然に囲まれています。作業所の庭には畑があり、採れたてのお野菜を使って、庭で焚火BBQなども行っています。また、太陽の光のもと、庭のハンモックにゆらゆらと揺られながら、ミーティングやアイディア出しを楽んでいます。

IT × 自然:バランス

作業場所から都内へ打合せへ行く時は、若干「旅」のような感覚です(笑)。都心(例えば渋谷)までなら、移動時間は、片道2時間弱かかります。しかし、onTheHammockの仕事(アプリ開発やウェブサイト制作、デザインワークなど)は、インターネット環境とMacさえあれば、どこにいても仕事が出来てしまいます。メールやSkype、LINEなどを使って、海外のクライアントともやり取りをしています。まさに、世界中どこにいても仕事ができる「ノマドワーク」的な働き方です。


大好きな自然に囲まれて、無駄のない生活を心がけていますが、これはITの進化があるからこそ、成り立つワークスタイル。 人間は自然(地球)と共存しており、このバランスが崩れると大変なことになりますね。人間が生活しやすいように、便利さの追求をとめどなく推し進めた結果、取り返しのつかないほどの自然破壊に繋がってしまったり…。


自然エネルギーをバランスよく利用するために、節電を心がける事は大切です。 しかし、電気がなくては現状の仕事や生活を維持できないのも事実です。インターネットの普及により、世界中の人々が簡単に繋がりを持てるようになったのは、やはり電気やITの発展があってのことです。ということで、自然にもITの進化にも感謝!

サバイバル経験の必要性:「生きる力」

アウトドア好きなオン・ザ・ハンモックは、「野外活動」を小学校の必須授業科目に付け加えるべきではないか?と考えます。年間数時間ではなく、週に1度でも良いと思うので、サバイバル&アドベンチャー活動を取り入れることで、こどもたちの「自分で考えて、自分で行動する力」が、身に付くキッカケになるのではないでしょうか。そして、私たち人間も『自然の一部』であることを体験して学べるのではないでしょうか。


オン・ザ・ハンモック設立後、初めての夏休みには、長野県と新潟県の山峡「信越トレイル80km」の踏破に挑戦しました。信越トレイルでは、2012年からテント泊が可能になったので(スタート〜ゴール間に、数カ所にテント場ができました)、テント泊で移動しながら、数日かけてトレイルを歩きました。


「信越トレイル」の詳細は、ブログにて公開して行きますが、この経験を通して、以前にも増して、「サバイバル経験」は生きて行く中でとても大切だと感じました。 現代では、料理や洗濯など全てがオートメーション化されて、ボタン一つでお湯を沸かすこともお米を炊くこともできます。


しかし、野外生活ではそういう訳には行きません。暖かくて安全な家ではなく、テント泊ですから、突然の豪雨や水源不足など、その状況に応じた判断力と行動が必要となってきます。 ”onTheHammock野外活動”では、それらを楽しんで行っていますが、雷や土砂崩れなどの自然災害は甘く見てはいけないので、真剣勝負でもあります。それが野外活動の醍醐味でもあるのです。


一度『便利で楽チンな生活』から離れて、原点に戻ってみると、日々当たり前のように使っている電気や水に対して、それらが供給されるのは当たり前ではないことに気づきます。そして、資源の大切さに気づき、私たちは全てが共存しあっていることを実感することが出来るのです。


また、ご飯や寝床が用意されていない野外活動では、それらを自分たちで決定し確保するわけですから、『自分で考えて自分で行動する力』が要求されます。まさに「生きる力」です。これは、サバイバル状況に限らず、人生のさまざまな日常的シーンで必要となる力です。


さらに、自然災害などでライフラインが断たれてしまった時、野外活動の基礎や知識を身につけておくことで、緊急時にどのような行動をとれば良いのか、対応しやすいでしょう。暖の取り方や寝床の確保、水の浄化方法や野に生息する食用植物などを知っているだけで、生死をわけることもあります。

今後の展開:こども達のために

私たちの持つITやデザイン技術を使って、何が出来るか?未来を担う子どもたちのために何を残せるか?出来ることは多々あります。オン・ザ・ハンモックは、自分たちの仕事や経験を通して、子どもたちに「私たちの地球のこと、人間と自然は共存していること、サバイバルテクニック(生きる力)」などを伝えて行きたいと思っています。大げさなことをやろうというわけではありません。楽しみながら逞しく自然と共存していきたいだけです。そして、そのような生活の楽しさや自然のなかで生きる知恵を伝えあって、一緒に学んでいけたらいいな♪と考えています。

onTheHammock:髙橋宰知子


STEP CAMP-アウトドア体験で災害時に役立つスキルを磨こう!のFacebookTwitterがスタートしました。よろしくお願いします!

STEP CAMP ステップキャンプ

 


 

手拍子アプリ:RainbowApps iPhoneアプリマスターコース講座紹介4

2012/11/15

04:手拍子アプリ

手拍子

RainbowApps iPhoneアプリマスターコースの第4講では、手拍子アプリの制作を行います。これはPickerというスロットのような選択メニューからカウント数を選び、ボタンを押すとそのカウント数だけ手拍子を繰り返すというものです。アプリとしてはあまり実用性は感じられないかもしれませんが、この講座ではオブジェクト指向プログラミング基礎概念や、クラス、インスタンス、メソッドの概念を学びます。これからObjective-cでアプリ開発をおこなっていく上では重要な講座です。

手拍子

オブジェクト指向型プログラミングを理解するためにこの講座では手拍子サウンドの初期化や再生、リピート処理を担う独自クラスの制作を行います。

オブジェクティブ指向

さて、なぜ独自のクラスを制作する必要があるのでしょうか?
ここで制作するような画面も遷移しないシンプルなアプリであれば、音声ファイルをコントロールする独立したクラスを作成する必要性はないかもしれません。インターフェイスを管理するView Controllerクラスに音声ファイルを再生する処理を書いてもいいと思います。
しかし、インターフェイス画面が切り替わるような複雑なアプリになってくると、各View Controllerクラスでいちいち同じ手順で音声ファイルを再生するためのコードを記述するのは面倒です。また、プログラムを管理する上でも機能を独立させておくほうがメンテナンスや更新を効率的に行えます。
このように目的や機能でクラスを作り、それが関連し合いながら全体を構成するプログラムを作っていくことをオブジェクト指向型プログラミングといいます。

例えば会社などに置き換えるとわかりやすいかもしれません。
個人の範囲で仕事をしていくのなら、個人事業主として営業・制作・販売・経理などを行っていくことができます。
しかし、事業の規模が大きくなってくると、営業部門、制作部門、販売部門、経理部門など機能ごとに分かれた部署が出来ます。もし経理の部署がなく、営業部門、制作部門、販売部門にそれぞれ経理機能を持たせたとしましょう。そうすると個々の経理担当者によって経理機能のクオリティは大きく左右されます。また、各経理担当者が知識やノウハウを共有するのも難しいかもしれません。独立した経理部署があれば、その機能に特化した知識やノウハウが蓄積でき、安定した経理機能を各々の部署に提供できます。

この会社の例えで言うところの部署にあたるのが、オブジェクティブ指向型プログラミングのクラスと呼ばれるものになります。

クラス、インスタンス

今回の手拍子アプリのように、エンジニアが独自のクラスを作成することも可能ですが、Objective-Cには既に知識やノウハウが蓄積された多くのクラスが用意されています。それが、これまでのアプリ制作でも使用してきたUILabelやUIButton、NSStringといったクラスになります。iOSアプリのプログラミングはこうした様々なクラスを利用し、自分でもクラスを制作して行っていきます。

そしてこのクラスを利用して、実際にプログラミングで使用するオブジェクトをインスタンスと呼びます。会社の経理部門でも実際に仕事をするのはその部署のAさんやBさんですよね。同じような作業をしているかもしれませんが、AさんとBさんがやっている仕事は異なります。このようにクラスに属して、個々の働きや役割を持つものがインスタンスとなります。

このインスタンスを使って具体的な操作をしていくことをメソッドと呼びますが、あらかじめObjective-Cに用意されているクラスには、メソッドやプロパティ(インスタンスに付加できる特性)も用意されています。
例えば第3講で使用した- (BOOL)textFieldShouldReturn:(UITextField *)textField;はUITextFieldというクラスに用意された、”キーボードのReturnを押したときに処理をする”というメソッドでした。
この第4講ではUIPickerViewクラスのメソッドを使ってピッカーの設定などを行っていきます。このような用意されたメソッドを使う上でも、Objective-c独特のメソッドの記述方法を理解しておくことは大事なことです。

手拍子

こうしたメソッドにはインスタンスに対しての処理を記述するインスタンスメソッド(-で始めるメソッド)と、クラスに対しての処理を記述するクラスメソッド(+で始まるメソッド)があります。
この講座では音声ファイルを再生するための独自クラスを制作しますが、View Controller上で独自クラスを呼び初期化処理を行うときに+で始まるクラスメソッドを使用します。

フレームワーク

さて、一口に音を再生するといっても、これはすごく大変な処理です。
そのためのプログラミングをイチから組んでいくとなると、膨大な時間が掛かり豊富な知識も必要になります。
そこで利用することになるのがフレームワークであり、音の再生や描画処理など汎用的な機能をまとめて提供しているものとなります。
今回、音を再生するためにはAudioToolBoxというフレームワークを使用しますが、そのためにはプロジェクトメニューからフレームワークの取り込み処理を行う必要があります。
しかし、なぜそのような便利な機能が最初から備わっていないのでしょうか?
今度はパソコンに例えてみましょう。購入したばかりのパソコンには基本的なソフトしかインストールされていません。この基本的な状態からデザイナーはデザインソフトをインストールし、営業マンはOfficeなどのビジネスソフトをインストールしたりして自分に必要な機能を付加していきます。使わないのであれば便利であってもIllustratorやPhotoshopなどのソフトは必要ないですよね。
フレームワークも同じで、Xcodeでプロジェクトを立ち上げたときには必要最小限のフレームワークしか使用されていません。そこから開発していくアプリの必要に応じて様々なフレームワークを取り込んでいきます。
フレームワークの利用はアプリ制作をしていく上でなくてはならないものであり、地図アプリやツイッター・Facebook投稿、さらには広告の設置などにも必要になります。

手拍子

第4講ではオブジェクティブ指向型プログラミングの概念だけでなく、while文やfor文を使った繰り返し処理、そして配列処理などプログラミングを行っていく上で頻繁に使用するテクニックも登場します。制作するアプリは非常にシンプルなものですが、その中身は非常に濃いものです。

繰り返しになりますが、第4講では独自クラスの作成、フレームワークの取り込み、UIPickerViewを利用を通じてObjective-cの基本となるクラス、インスタンス、メソッドの概念を学びます。Objective-cの概念や考え方は複雑であり、簡単に理解できるものではありません。ただ、このアプリマスターコースでアプリ制作を続けていくことによって少しずつ理解を深めていけるはずです。

最後により理解を深めたい方のためにリンクを紹介しておきます。
Objective-cの概念やオブジェクティブ指向型プログラミングについては様々な解説書がありますが、アップル社でも開発者向けのドキュメント(日本語です!!)を用意し、無料で配布しています。
そのものズバリ「Objective-Cの概念」なんてドキュメントもあるのでより理解を深めたい方は読まれることをおすすめします。
また、フレームワークの使い方などが書かれた日本語のプログラミングガイドなども用意されています。
iOS関連日本語ドキュメント https://developer.apple.com/jp/devcenter/ios/library/japanese.html

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

ドル円換算機:RainbowApps iPhoneアプリマスターコース講座紹介3

2012/11/11

03:ドル円換算機

Counter

RainbowApps iPhoneアプリマスターコースの第3講では、ドル円換算機アプリの制作を行います。ユーザーがインプットした入力値を計算して出力値を出す、このフローを理解しプログラミングしていくことでメソッドの作り方、使い方などを学ぶことができます。

ドル円換算機アプリは、ユーザーがテキストフィールド(Text Field)に金額を入力し、キーボードの「Return」を押すと換算結果が表示されます。また、セグメンテッドコントロール(Segmented Control)により「ドル→円」換算と「円→ドル」換算の切り替えを行います。

まずStoryBoardでは動的なラベルを4つ配置します。

ドル円換算機

レートを表示するラベルの値はコード上で設定します。このアプリでは80.5円ですが、その時の通貨レートによって任意で変更することができます。
“円”と”ドル”の通貨ラベルは換算の切り替えを行った時に変化します。
結果ラベルには最初は0.00と入力しておきます。

さらにText FieldオブジェクトとSegmented Controlオブジェクトを配置します。

ドル円換算機

第2講座で制作したカウンターアプリは整数を扱うint型の変数を使用しましたが、今回は少数を扱うことができるdouble型の変数を使い換算を行います。

また「ドル→円」換算と「円→ドル」換算の切り替えをbool型の変数を使って、条件設定を行います。例えばbool型変数がTRUEなら「ドル→円」換算、FALSEなら「円→ドル」換算という具合です。この切り替えによりラベルに表示する通貨が変化します。

ドル円換算機

このアプリでは下記の3つのメソッドをコーディングします。
1.「円→ドル」「ドル→円」換算メソッド
2.通貨換算切り替えIBAction型メソッド
3.UITextFieldクラスのメソッド

1.「円→ドル」「ドル→円」換算メソッド

「円→ドル」換算が選ばれているときは、入力された円をレートで割った金額を計算し、その金額を結果ラベルに表示します。
【例】入力値:100(円) レート:1ドル80.5円 計算結果:1.24ドル
【計算式】100(円) / 80.5(レート) = 1.24(ドル)
※プログラム上では割り算の計算式は / (スラッシュ)を使用します。
「ドル→円」が選ばれているときは、入力されたドルにレートを掛けた金額を計算し、その金額を結果ラベルに表示します。
【例】入力値:100(ドル) レート:1ドル80.5円 計算結果:8050円
【計算式】100(ドル) * 80.5(レート) = 8050(円)
※プログラム上では掛け算の計算式は * (アスタリスク)を使用します。

2.通貨換算切り替えIBAction型メソッド

Segmented Controlの切り替えに対して、通貨ラベルを変化させます。また「円→ドル」「ドル→円」換算メソッドを使って、切り替えられた時の換算結果を結果ラベルに表示させます。
UISegmentedControlにはselectedSegmentIndexというプロパティが用意されており、セグメントの切り替えを管理することができます。

3.UITextFieldクラスの通知メソッド

テキストフィールドに金額を入力し、キーボードの「Return」が押されたときに呼ばれる処理です。
これは- (BOOL)textFieldShouldReturn:(UITextField *)textField;というUITextFieldクラスのデリゲート通知を使ったメソッドになります。
ユーザーが数字を入力しReturnを押すと、その数字をdouble型に変換し、「円→ドル」「ドル→円」換算メソッドを呼び出して結果を表示させます。

最後にStoryBoardでViewControllerで宣言したUILabel、UITextField、UISegmentedControlにひも付けします。またIBAction型メソッドもセグメンテッドコントロールにひも付けします。

これでドル円換算機の完成です。

ドル円換算機

この講座のポイントはメソッドの使い方を覚えることです。今回使用したUITextFieldクラスのメソッドのように、用意されたクラスメソッドも多くあるので、その使い方をよく理解しましょう。
iOSに用意された様々なクラスの機能を組み合わせることによってより高度なアプリを制作することができます。

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

カウンター:RainbowApps iPhoneアプリマスターコース講座紹介2

2012/11/06

02:カウンター

Counter

RainbowApps iPhoneアプリマスターコースの第2講では、カウンターアプリを制作しながら、変数やインスタンス、UIオブジェクトなどの概念を学びます。また条件式や計算式を使用することによって、アプリを動かす仕組みを理解します。

カウンターアプリは「プラスボタン」を押すと画面上の数字がカウントアップされ、「マイナスボタン」を押すと数字がカウントダウンします。また「リセットボタン」を押すと数字は「0」になります。

Counter

この講座で理解したいポイントは数字をデータとして扱う場合はintやfloat、doubleといった型、文字列を扱う場合はNSString、ラベルはUILabel、ボタンはUIButtonというように、データの型を宣言し、コーディングしていくということです。

基本的なインターフェイス上のアクションメソッドは次の3つです。
1.「プラスボタン」が押されたらint型の変数に1を足します。
2.「マイナスボタン」が押されたらint型の変数から1を引きます。
3.「カウンターボタン」が押されたらint型の変数に0を代入します。

このint型の変数を画面上に表示するには文字列として扱わなくてはいけません。
なのでint型の変数をNSSTring型に変換し、画面上に配置したラベルに表示させます。

StoryBoardではLabelオブジェクトとButtonオブジェクトを3つ配置します。
各ボタンには対応するアクションメソッドを設定し、ラベルにはコード上で宣言しているUILabelをひも付けします。

Counter

以上が基本的なカウンターの仕組みとなりますが、この講座で制作する「カウンター」アプリはマイナスの数字は表示しないという工夫を施しています。
そこでint型の変数が0より大きいときだけ「マイナスボタン」が押されたときのメソッドを実行するという、if文を使った条件を設定します。

条件設定を複雑にすると数字によってラベルの文字の色を変化することも出来ますよ。

Counter

「カウンター」アプリの仕組みはシンプルなものですが、実用的なツールとして使用できるものです。プログラム上でデータを扱う基礎的な概念を理解し計算式や条件式の使い方を学べば、実際に使える簡単なアプリを作ることができます。

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ


 

初めてのiOSアプリ:RainbowApps iPhoneアプリマスターコース講座紹介1

2012/11/04

一昨日(2012.11.3)、藤沢でRainbowApps湘南校が開校しました。
その湘南校のiPhoneアプリマスターコースの講師を務めさせていただくことになったので、このブログで講座の内容の紹介をしていきたいと思います。
受講生の皆さん、また今後受講される方の復習・予習のポイントになれば幸いです。

01:My Very First App -初めてのiOSアプリ-

MyFirstApp

RainbowApps iPhoneアプリマスターコースの第1講では、iOSアプリの開発を行っていくために必要なXcodeの基礎的な使い方を学びます。そのために画面上のボタンを押すと表示されている文字が消え、もう一度押すと文字が表れるというシンプルなアプリを制作します。

この講座でのポイントは、下記の3つです。
1.UI設計ツール「StoryBoard」を使った画面設計
2.記述したコードとUIオブジェクトのひも付け
3.アプリの設定

1.UI設計ツール「StoryBoard」を使った画面設計

Xcodeで新規プロジェクトを立ち上げたら、StoryBoardを使って、画像、ボタン、テキストを表示するためのラベルといったオブジェクトを配置していきます。

StoryBoard

2.記述したコードとUIオブジェクトのひも付け

次にUIViewControllerファイルにコードを記述します。
ここではインスタンスの宣言や、ボタンを押したときのアクションとして、if文を使い、”もしラベルが隠れていなかったら、ラベルを隠す”、そうでない場合は”ラベルを隠さない”というメソッドを書きます。
そしてStoryBoard上に配置したオブジェクトに記述したインスタンスとメソッドをひも付けします。

StoryBoard

3.アプリの設定

アイコンやiPhone画面に表示される名前、アプリが縦向き(Portrait)か横向き(Landscape)かを設定します。

MyFirstApp

これで「My Very First App」の完成です。
非常にシンプルですが、このアプリを制作することでXcodeの基礎的な使い方を学ぶことができます。

TEXT : 桑村治良(onTheHammock)

Rainbow Apps iPhoneアプリマスターコース講座紹介ブログ
講座紹介1:初めてのiOSアプリ
講座紹介2:カウンター
講座紹介3:ドル円換算機
講座紹介4:手拍子アプリ
講座紹介5:クイズアプリ
講座紹介6:ジェスチャーフラッシュ