主にストアアプリが作りたい!! しかもi...
TRANSCRIPT
主にストアアプリが作りたい!!しかもiOSとかAndroidアプリとかも作りたい!!
主な複数プラットフォーム開発ツール
ストアアプリ
デスクトップ
Windows Phone iOS MacOS Android
Xamarin △ △ △ ○ △ ○
Unity ○ ○ ○ ○ ○ ○
Monaca ○ × × ○ × ○
Adobe AIR × ○ × ○ × ○
PhoneGap × × ○ ○ × ○
Titanium Mobile
× × × ○ × ○
※△は条件付き※有料無料は考慮しておりません。※ほかにもRAD Studio XE5, OpenLaszloなど
今回は以下を紹介します
ストアアプリ
デスクトップ
Windows Phone iOS MacOS Android
Xamarin △ △ △ ○ △ ○
Unity ○ ○ ○ ○ ○ ○
Monaca ○ × × ○ × ○
Adobe AIR × ○ × ○ × ○
PhoneGap × × ○ ○ × ○
Titanium Mobile
× × × ○ × ○
※△は条件付き※有料無料は考慮しておりません。※ほかにもRAD Studio XE5, OpenLaszloなど
Xamarin
Xamarin
概要:C#でiOS、MacOS、 Androidアプリの開発が可能
IDE:Visual Studio or Xamarin Studio
備考:iOS、Android用のポータブルクラスライブラリ(PCL)の開発が可能
もともとはMonoとして開発が進み色々あってXamarinに
お値段
お値段の感想
無料版(STARTER)はお試しという印象
Visual StudioサポートがBUSINESSから・・・
企業利用ならBUSINESSもあり、個人利用だとちょっと高い。INDIE版か?
使ってみる
30日体験版でVisual Studioからの開発を試してみる。
使ってみる(Android編)
新しいプロジェクトにAndroidとiOSの文字が!!
書籍を参考に作ってみる(Android編)
「作ればわかる!Androidプログラミング」を参考にアプリを作ってみる。
書籍を参考に作ってみる(Android編)
画面はAndroidと同じコード(XML)で行ける。注意:XAMLではない
WYSYWIGエディタもある。
Visual Studio感覚(いやVisual Studioなんですが・・・)でコントロールをドラッグ&ドロップ
ViewのコードはXAMLじゃなくてAndroid式
(Java) static final int imageButtons[] = {
R.id.image_button1,
(C#)static private readonly int[] imageButtons = {
Resource.Id.image_button1,
(Java) ImageButton imgbtn =
(ImageButton)findViewById(imageButtons[i]);
(C#)ImageButton imgbtn = FindViewById<ImageButton>(imageButtons[i]);
(Java) ImageButton imgbtn =
SystemClock.elapsedRealtime() ;
(C#)SystemClock.ElapsedRealtime();
(Java) btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {startGame();startChronometer();
}});
(C#)btn.Click += (s, e) =>
{startGame();startChronometer();
};
Xamarin × Androidまとめ
Visual StudioでAndroid開発ができるのはBUISINESSエディション(30日お試しあり)
Xamarin Studioなら無料のSTARTERでも可能。(容量などの制限あり)
作成したプロジェクトはMac上のXamarin Studioでも開発可能(お試し版だと同時に複数PCで利用できない?)。
軽く使ってみる(iPhone編)
Visual StudioでiOS開発するにはBUSINESS以上のエディションが必要と表示されます(AndroidができたのもTrialだったからです)。
軽く使ってみる(iPhone編)
(参考)Macだと制限つきですがSTARTERでiPhone開発可能。
軽く使ってみる(iPhone編)
Trialを選択。
軽く使ってみる(iPhone編)
(意訳)Mac上でデバッグするためのホストを起動しPairを押してくれ!
軽く使ってみる(iPhone編)
Mac上でログインしてPairボタンを押す
軽く使ってみる(iPhone編)
Mac上でログインしてPairボタンを押す
軽く使ってみる(iPhone編)
続いてVisual StudioでビルドするホストMacを選択。
軽く使ってみる(iPhone編)
ペアリングするためにMac上で表示されたPINを入力。
軽く使ってみる(iPhone編)
ペアリング成功!!
軽く使ってみる(iPhone編)
ペアリング成功!!
軽く使ってみる(iPhone編)
Mac側でシュミレーター起動
Windows側はVisual Studioでデバッグ
気になったところ(iPhone編まとめ)
ストーリーボード(iPhoneのView作る仕組み)が作れない。(Mac上で起動したXamarin Studioなら可能)
リモートデバッグが面倒(Win機とMacでキーボード、マウスを共有して対応)
Visual Studioに拘らず、C#にこだわるならMacでXamarin Studioが良さそう。
軽く使ってみるPCL編
Visual Studio+Xamarinを使えばiOS用のアプリもAndroid用のアプリもC#で作成できるのはわかった!!
けど、それぞれ別のプロジェクトが必要になるんだよね?
結局、それぞれで開発しなければいけないの?
軽く使ってみるPCL編
という場合にPCL(ポータブルクラスライブラリ)の登場です。
PCL=Windows、Silverlight、Windows Phoneなどで共通で実行できるDLLを作成するんだ!!
Xamarinを使えばこれにAndroid、iPhoneが加わる!!(注意:Visual StudioでのPCL作成にはPro以上のエディションが必要です。)
軽く使ってみるPCL編
Xamarinがある場合PCL作成時に決める対応プラットフォームに・・・
軽く使ってみるPCL編
とりあえずすごい簡単なやつを作ってみる
public class Class1{
public int add(int a, int b){
return a + b;}
}
軽く使ってみるPCL編
とりあえずすごい簡単なやつを作ってみるAndroidのプロジェクトで呼び出し(手抜き過ぎてすまん)
Class1 c = new Class1();System.Diagnostics.Debug.Write(c.add(3, 4));
結果↓
軽く使ってみるPCL編
もちろんiPhoneでも!!
Class1 c = new Class1();System.Diagnostics.Debug.Write(c.add(3, 4));
結果↓
軽く使ってみるPCL編
もちろんWindowsストアアプリでも!!
Class1 c = new Class1();System.Diagnostics.Debug.WriteLine(c.add(3, 4));
結果↓
PCLまとめ
使い方は簡単。
でも、各プラットフォーム固有のAPIなどは呼び出せない。
Visual StudioだとPro以上のエディションが必要になりますが、Xamarin Studioなら無償のSTARTERでも32kbまでのPCLが作れる。とりあえず動作確認はできるね。
Xamarinまとめ
C#でいろいろ開発できる!!View側の仕組みはそれぞれの
iPhone開発はMacが必要
無料のSTARTERで動作確認とりあえず簡単なアプリを作るならINDIE(年間299$)Visual Studioを使いたいならBUSINESS(年間999$)ENTERPRISEはなんでもありで1899$
プロジェクトはそれぞれのプラットフォームで必要PCLである程度カバー
Unity
Unity
言わずとしれたゲーム制作ツール。
無料でいろいろ始められるのが嬉しい。(iOS、Android、ストアアプリ・・・)
C#で書ける!!
3Dゲーム用でしたが、2Dも行けるように(こうなると使い方次第ではなんでも)
お値段機能がそろったPro版は有料
無印とProの比較
http://japan.unity3d.com/unity/licenses
軽く使ってみる
以下のWebサイトを参考に触ってみます。ドットインストール – Unity入門(全26回)
http://dotinstall.com/lessons/basic_unity
軽く使ってみる
以下の作業を行います
1.床とボールの配置
2.重力の設定
3.キーイベントで入力に反応
4.ストアアプリ用に書き出し
軽く使ってみる
デモ
軽く使ってみる
1.床とボールの配置
オブジェクト(物体)の配置はHierarchyウィンドウ(Visual Studioでいうソリューションエクスプローラー)
軽く使ってみる
1.床とボールの配置
オブジェクト(物体)のパラメーターはInspectorで(Visual Studioでいうプロパティウィンドウ)
軽く使ってみる
床になる(Cube)とボール(Sphere)を配置
軽く使ってみる
ボールに重力を設定
Componentから物理設定を
(参考)#08 Rigidbodyを使ってみようhttp://dotinstall.com/lessons/basic_unity/24608
軽く使ってみる
ボールに重力を設定
Physics→Rigidbody
軽く使ってみる
動作確認
跳ね返らないので跳ね返りを設定
軽く使ってみる
跳ね返りを設定
Physic Material→Bouncinessを設定
ボール(Sphere)にPhysic Materialを設定(ドロップ)
軽く使ってみる
キーイベントの設定
スペースキーで飛び上がるようにする
・・・その前に
軽く使ってみる
エディタをVisual Studioに設定
Edit→Preferences
External Tools
(参考)#12 Scriptを追加してみようhttp://dotinstall.com/lessons/basic_unity/24612
軽く使ってみる
スクリプトはボールに対して設定
ボールを選択してAdd Component → New Script
軽く使ってみる
public class NewBehaviourScript : MonoBehaviour {
// 初期化処理をここに記入void Start () {
}
// 繰り返し呼ばれるのでここにイベント処理などを書くvoid Update () {
}}
軽く使ってみる
// 繰り返し呼ばれるのでここにイベント処理などを書くvoid Update () {
if (Input.GetButtonUp("Jump")){
// 上向きの速度を与えるrigidbody.velocity = Vector3.up * 10;
}}
軽く使ってみる
ストアアプリ用に書き出し
C#+XAMLも選べるもちろん8.1対応!!
軽く使ってみる
ストアアプリ用に書き出し
Visual Studioのプロジェクト形式に吐き出されるので、ストアに出せるように整形。
Visual Studioでストア提出向けの情報を編集!!・・・なんだけど、この工程でUnity側で編集が出たら・・・
Visual StudioからUnityで作ったゲームロジックなどは触れない(っぽい)
Unityまとめ
・すぐに3Dのアプリを作成できる
・Visual Studioでソースを編集できる
・PC、 Windows Phone、ストアアプリ、色々書きだせる。
もちろん、キーイベントやタッチイベントはそれぞれに対応するように
全体まとめ
・Visual StudioやC#を使って色々なプラットフォーム向けのアプリが作れる!!
・.NET技術でiPhone, Androidアプリも作ろう!!もちろんストアアプリもね!
ご清聴ありがとうございました