http://mb.cloud.nifty.com/assets/sdk_doc/unity/Help/index.html
admin のすべての投稿
Unityで日付
日付1日足して表示
DateTime dt;
public Text niti1;
public Text niti2;
// Use this for initialization
void Start () {
//今日の日付を取得
dt = System.DateTime.Now;
niti1.text = System.DateTime.Now.Month.ToString() + "月" + System.DateTime.Now.Day.ToString () + "日";
TimeSpan ts = new TimeSpan(1, 00, 00, 00);
dt = dt + ts;
niti2.text = System.DateTime.Now.Month.ToString() + "月" + System.DateTime.Now.Day.ToString () + "日";
}
NCMBでprefab生成
プレファブ生成
//変数設定
public RectTransform nodePrefab;
public RectTransform content;
////以下スクリプト本体
int mymax2 = 6;//forの回数
for(int p = 0; p < mymax2; p++){
var item = GameObject.Instantiate(nodePrefab) as RectTransform; //プレファブを生成してitemに入れる
item.SetParent(content, false);//それをcontenteの子にする(上で変数宣言している)
GameObject labelobj = item.transform.Find("Label").gameObject;//その中からLabelというオブジェクトを検索する
var idtextcompo = labelobj.GetComponent<Text> ();//Labelのはいったオブジェクトの中のテキストコンポーネントを取得
idtextcompo.text = "test";//その文字列を設定
}
NCMBで日付
必要なライブラリ
using NCMB; //use Nifty Cloub Mobile Backend using System;
日付用の変数
//変数
DateTime mydate;
public Text nyuYear;//入所日年
public Text nyuMon;//入所日月
public Text nyuDay;//入所日日
//
string myString = nyuYear.text + "/" + nyuMon.text + "/" + nyuDay.text;
DateTime mydate = DateTime.Parse(myString);
NCMBObject obj = new NCMBObject ("myobj");//NCMBobjectのクラス名
obj.Add("hiduke", mydate);//hidukeフィールド名にmydateを追加
obj.SaveAsync ((NCMBException e) => {
if (e != null) {
//エラー処理
} else {
//成功時の処理
Debug.Log("good");//送信成功の意味
}
});
NCMBでオブジェクトのACLを変更
NCMBのユーザでなくオブジェクトのACLを変更する手順
動作したスクリプトを抜粋してるので動作確認無しです
NCMBUser user;
string acltest;
// Use this for initialization
void Start () {
user = NCMBUser.CurrentUser;
string userName = user.UserName;
//UserTypeフィールドにsuperの入っているユーザを検索してListに入れる
NCMBQuery<NCMBUser> query = NCMBUser.GetQuery ();
query.WhereEqualTo ("userType", "super");
query.FindAsync ((List<NCMBUser> userList , NCMBException e) => {
if (e != null) {
UnityEngine.Debug.Log ("失敗 : " + e.Message);
} else {
foreach (NCMBUser users in userList) {
pairUsers.Add(users.UserName.ToString());//SUの名前をリストに入れる
}//foreachここまで
acltest = userList[0].ObjectId.ToString();
}
});
getuserlist();
}
void getuserlist(){
string userName = user.UserName;
NCMBQuery<NCMBObject> query2 = new NCMBQuery<NCMBObject> ("testobj");
query2.WhereEqualTo ("player", userName);//Playerがusernameの結果を検索
query2.FindAsync ((List<NCMBObject> objList ,NCMBException e) => {
if (e != null) {
//検索失敗時の処理
Debug.Log("e");
return;
} else {
if ( objList == null || objList.Count == 0 ){
Debug.Log("e");
return;
}
Debug.Log(objList.Count);
int po = 0;
foreach (NCMBObject objdata in objList) {//ne
var acl = objdata.ACL;//ACL書き換え準備
//読み込み権限全close
acl.PublicReadAccess = false;
//書き込み権限を全close
acl.PublicWriteAccess = false;
//userNameきっかけで読み書きアクセスお追加する
acl.SetWriteAccess (user.ObjectId.ToString(), true);
acl.SetReadAccess (user.ObjectId.ToString(), true);
//他の方へのアクセス許可用
acl.SetReadAccess (acltest, true);
objdata.ACL = acl;//保存準備
objdata.SaveAsync ((NCMBException z) => {
if (z != null) {
//エラー処理
} else {
//成功時の処理
Debug.Log(acltest);
//objdata.ACL = acl;
Debug.Log("good");//送信成功の意味
}
});
}//for eachここまで
}
});
}
NCMBでパスワード変更はできない
できないらしい
また、ニフティクラウド mobile backend では、パスワード変更のAPIは用意していないため、パスワードを変更したい場合にはパスワードのリセットの処理が必要となります。
なので,RequestResetPassword()らしい(Unityで使えるかはしらん)
SDKガイド (JavaScript) : 会員管理 | ニフティクラウド mobile backend

ニフティクラウド mobile backendのJavaScript SDKでアプリの会員管理を行う方法について解説します。
LINK: mb.cloud.nifty.com/doc/current/sdkguide/javascript/user.html
NCMB userのフィールド取得
会員ロールのカスタムフィールド”nyusyo”の取得
NCMBUser currentUser = NCMBUser.CurrentUser;//現在のユーザ情報をcurrentUserに格納
PlayerPrefs.SetString("nyusyobi", currentUser["nyusyo"].ToString());
Debug.Log(currentUser["nyusyo"]);
NCMB object dateを整形する
NCMBObjectのUpdateDateを整形するはなし
ダメパターン
DateTime dt = objdata.UpdateDate; string thisDay = dt.ToLongDatePattern();
これだと
Cannot implicitly convert type `System.DateTime?’ to `System.DateTime’
ってエラー出る
OKパタン
DateTime dt = objdata.UpdateDate.Value; string thisDay = dt.ToLongDatePattern();
これで年月日(2016年11月29日)で出力される
objdataはサーバから取得したNCMBオブジェクト
Valueをつけるのがポイント
Unity GUI(8)画像のアサイン
次に,Image1を選択し,インスペクタのSource Imageにアセットのhidari の画像をアサインします.
image2にはmigi の画像をアサインします.
mysw() の中の Debug.Log (cat); の下に
if (cat == 1) {
migiya.SetActive (true);
hidariya.SetActive (false);
} else {
migiya.SetActive (false);
hidariya.SetActive(true);
}
を入れます.
これはランダム値catが1と同一ならば,migiyaというGameObjectを見える状態にしなさい.そしてhidariyaは見えなくしなさい.
という意味です.else以下はその反対の動きですね.
先日のアプリでは,警告表示をやたら出すのに使ってました.
まだ押さないでとか,ネットワーク接続していません.とか,,
もどって,
そして作成したGameObjectを選択し,
migiyaにimage2を,hidariyaにimage1をアサインします.
ゲームを再生し,ボタンをクリックすると矢印がランダムで切り替わります.
なお,はりつけた画像とボタンが重なるとボタンをクリックできません.ボタンをすらしてください.
あるいは,Imageが押される対象になっているので,それをOffにするやり方もあります.Image1,2を選び,インスペクタの Raycast Targetのチェックをオフにします.こうするとImageがボタンでなくなるのので,Buttonだけが押せる対象になるのです.
おめでとうございますこれで1億の仕事もばっちりですね!
(1億の仕事とは)
http://gigazine.net/news/20160405-tsa-randomizer-cost-1-4-million/







