2013年12月12日木曜日

DoCoMo 雑談APIと連携する


DoCoMoさんの雑談APIをUnityから呼び出す。


#pragma strict
import JSON;

var apiKey = "";
var score = -1;


function Start() {

var url = "https://api.apigw.smt.docomo.ne.jp/dialogue/v1/dialogue?APIKEY=************************************************************************";
var dataStr = '{"utt":"今日の天気"}';
var data = System.Text.Encoding.Unicode.GetBytes(dataStr);
var headers = form.headers;
headers["Content-Type"]="application/json";

var www : WWW = new WWW (url,data,headers);


// Wait until the download is done
yield www;

if(www.error) {
print( "Error downloading: " + www.error );
return;
} else {
// show the highscores
Debug.Log("download="+www.text);
}
}

function Update () {

}

Sceneを切り替える

Sceneを切り替えるには、2つのSceneを作成し

Application.LoadLevel ("シーン名");

のコマンドを用いて、切り替える。

シーンを2つ作る。
次いでにchangeSceneというJavaScriptも作成する。


シーンを生成するには、今作成中のシーンをSave Scene で保存し、File>New Sceneで生成する。


Game001のシーンに空のGameObject(Empty Object)を作成し、JavaScriptを貼付ける。



#pragma strict
function Start () {

}

function Update () {
 if(Input.touchCount > 0){
  Application.LoadLevel("Game002");
 }
}

File>Build and Runを選択し、2つのシーンをAdd Currentで追加する。
これで画面がタッチされるとGame001からGame002のシーンに切り替わる。



Reference Application.LoadLevel()

2013年8月5日月曜日

Android端末でバックボタンでアプリを終了する

function Update () {
 if (Input.GetKey ("escape")) {
       Application.Quit();
   } 
}

2013年8月4日日曜日

BlackBerry10にPublishしてみる


Unityは、最近BB10をサポートし、もうじきWindowsPhone8やTizenもサポートする。今回は、BB10にアプリをPublishする方法を解説する。

BlackBerryでは、端末と開発機をUSBをつかって接続し、独自認証キーを用いて実機転送をおこなう。

用意するもの

  • RDK
  • RBDT

RDKとRBDTの発行は下記URLでおこなう。BlackBerry IDが必要になる。

https://www.blackberry.com/SignedKeys/codesigning.html


BB10の方にチェックをいれて、入力したPINコードはメモっておく。発行手続きに問題がなければ、Order Numberのついたメールが到着する。


これで、2時間以内にBlackBerryからRDK, RBDTが指定したメールアドレスに添付ファイルの形で到着する。


BlackBerry 10実機は、設定を開き、System Settingsの[Security and Privacy]を選択する。


Development Modeを選択する。


Use Development Mode を On にし、Develop IP Addressを設定する。このIPアドレスはメモっておく。


Unityのメニューから[File]-[Build Setting]を選択する。BlackBerryを選び、[Player Setting...]を選択する。


InspectorにBlackBerry用の設定項目がでてくるので、先ほど設定したDevice AddressとDevice Passwordを設定する。

RIM Signing Authorityの項目の[Register]を選択し、メールで届いた
  • RDK
  • RBDT
を設定する。


RDK CSJ PathにRDKを
RBDT CSJ PathにRBDTを設定する。


次にDebug Tokenの項目を設定する。BB10デバイスをPCにつなぎ、[Create]を選択する。


Pathは、Tokenを保存する場所を設定する。Device PIN'sは実機の値を用いる。


BB10実機の[About]-[General]-[PIN]の項目をチェックする。




PINの値をText Inputの部分に入力しAddを押す。 


Tokenが生成されたので、[Upload]を選択する。


Debug Tokeの設定が時期にでてきたら、設定完了。



これで、UnityからBB10実機に転送できるようになる。



UnityでのAndroidデバイスの画面サイズ

Unityの

Screen.width;
Screen.height;

で取得できる値を表にまとめてみた。 


比較してみると、3つ程度のGroupにわけられる。

G1は、HD 1080p (Full-HD) 1920×1080などだ。

G2は、HD 720p(FWXGA) 1280×720などだ。

G3は、WVGA(Wide-VGA) 800x480, FWVGA (Full-Wide-VGA) 854×480, qHD (Quarter HD) 960×540などと呼ばれている。

UnityのAndroidアプリは、Full-HD, HD, WVGAの3パターンを意識して開発すると良さそうだ。

2013年8月3日土曜日

Unityでバックサウンドを追加する

Unityでバックサウンドを追加するには、音のなる場所を工夫する必要がでてくる。カメラに音を関連づければ、カメラのそばで音がなり続けるので、カメラにAudio Sourceを関連づける。

Main Cameraを選択し、Component>Audio>Audio Sourceを選択する。



Assetsに音ファイルを読み込んでおく。



Inspectorで、Audio Clipの項目に、Assetsに読み込んだ音を指定する。


これでカメラのそばで音がなり続ける。つまりバックサウンドのできあがり。

2013年8月1日木曜日

GUI Textureを任意の場所に表示する

GUI Textureを任意の場所に表示する方法を解説する。

GameObject>Create Other>GUI Textureを選択する。


名前をtitleに変更する。


Assetsの上で右クリックし、Reveal in FinderでFinderを開く。


Finderで、Assetsフォルダの中に、Textureで利用する画像を保存する。



Projectで、Create>JavascriptでJavascriptを作成する。


#pragma strict
public var uiTitle : GUITexture;

function Start (){
 uiTitle.pixelInset.width = 100;
 uiTitle.pixelInset.height = 200;
 uiTitle.pixelInset.x = 200;
 uiTitle.pixelInset.y = 200;
}

function Update () {
 if(Input.touchCount > 0){
  for(var i : int = 0; i < Input.touchCount; i++){
   var touch : Touch = Input.GetTouch(i);
    // accell
    if(touch.phase == TouchPhase.Moved && uiTitle.HitTest(touch.position)){
     Camera.main.backgroundColor = Color.blue;
    }
    else{
     Camera.main.backgroundColor = Color.black;
    }
  }
 }
}


空のゲームオブジェクトを作成する。GameObject>Create Empty。


Javascriptを作成したGameObjectに関連づける。


GameObjectを選択した状態で、titleという名前に変更したGUI TextureをuiTitleの項目にドラッグ&ドロップする。


titleを選択し、inspectorのPixel Insetのx,y座標を0にする。