子化したPrefabを削除します
ボタン用のスクリプトで使用しています
public void resutPanelClose(){//パネルクローズ時に作成したprefabを削除する
resultPanelObj.SetActive(false);
foreach ( Transform n in resultContent)
{
GameObject.Destroy(n.gameObject);
}
}
子化したPrefabを削除します
ボタン用のスクリプトで使用しています
public void resutPanelClose(){//パネルクローズ時に作成したprefabを削除する
resultPanelObj.SetActive(false);
foreach ( Transform n in resultContent)
{
GameObject.Destroy(n.gameObject);
}
}
ユーザ名でデータストア検索しても,ユーザ名に紐付いてるデータがないときの処理など.(あまりつかわないかもしれないけど,)
エラー出ずに,スルーして,Listがゼロのまま読み取るので最終的にエラーでる.
Listの長さを計測してゼロのときにエラーと判定させるという方法で回避
bool checker = false;
string useinfoStr = PlayerPrefs.GetString ("userName");//get username from playerprefs
NCMBQuery<NCMBObject> query = new NCMBQuery<NCMBObject> ("usetInfo");
Debug.Log ("user" + useinfoStr);
query.WhereEqualTo ("playerName", useinfoStr);
query.FindAsync ((List<NCMBObject> objList ,NCMBException e) => {//moto
if (e != null) {
//検索失敗時の処理
//kokonihyouji
alert1.SetActive(true);
return;
} else {
if ( objList == null || objList.Count == 0 ){
alert1.SetActive(true);
return;
}else{
NCMBObject obj = objList[0];
PlayerPrefs.SetString("objID", obj.ObjectId);
checker = true;
}
}
});
の
if ( objList == null || objList.Count == 0 ){}
が肝
NCMBの会員情報にuserTypeというプロパティでは呼び出せない値があり,それを呼び出したいとき
NCMBUser currentUser = NCMBUser.CurrentUser;//現在のユーザ情報をcurrentUserに格納
string myUserType = currentUser["userType"].ToString();
PlayerPrefs.SetString("userType", myUserType);//userTypeをPlayerprefsの_userTypeに格納
いや,これで良かったなんて,,半日くらいなやんでたのに,,
Levelというキーには1が保存されていて,デバッグでそれを見ます
string myobjID = PlayerPrefs.GetString("objID");
NCMBObject testClass = new NCMBObject("usetInfo");
testClass.ObjectId = myobjID;
testClass.FetchAsync ();
System.Threading.Thread.Sleep(2000);
Debug.Log( testClass["Level"] );
object IDがないとデータを取り出せないっぽい.
ログイン名でユーザ名を検索し,PlayerPrefsにセットし,
その名前で一致する(一致は完全一致みたい)データのリストをとりだし(でも1件しか入っていない),その1件目をobjに変換し,objのプロパティobjidを取り出す,,,めんどくさい
スクリプト
public void getUserInfo(){
string useinfoStr = PlayerPrefs.GetString ("userName");//get username from playerprefs
NCMBQuery<NCMBObject> query = new NCMBQuery<NCMBObject> ("usetInfo");
//Scoreの値が7と一致するオブジェクト検索
query.WhereEqualTo ("playerName", useinfoStr);
query.FindAsync ((List<NCMBObject> objList ,NCMBException e) => {//moto
if (e != null) {
//検索失敗時の処理
} else {
NCMBObject obj = objList[0];
PlayerPrefs.SetString("objID", obj.ObjectId);
// foreach (NCMBObject obj in objList) {
//1件だけ出ると仮定して
// Debug.Log ("objectId:" + obj.ObjectId);
// }
}
});
}
NCMB(Nifty Cloud Mobile Backend)のデータ検索の際のサンプルスクリプトの
//QueryTestを検索するクラスを作成
NCMBQuery<NCMBObject> query = new NCMBQuery<NCMBObject> ("QueryTest");
//Scoreの値が7と一致するオブジェクト検索
query.WhereEqualTo ("Score", 7);
query.FindAsync ((List<NCMBObject> objList ,NCMBException e) => {
if (e != null) {
//検索失敗時の処理
} else {
//Scoreが7のオブジェクトを出力
foreach (NCMBObject obj in objList) {
Debug.Log ("objectId:" + obj.ObjectId);
}
}
});
を使うとコンパイルエラーでる
List<>が使えないっていうエラーです.
で,includeすれば使えるらしいんです
using System.Collections.Generic;
これを.
ネットワーク時刻を取得するときにも似たようなのを使いました.
ビルドは成功するものの,端末側でインストールできず.
インストールしようとすると「ファイルの解析に失敗」と出る
原因:不明
解決策:NCMBのSDKをVer.2.0.0にダウングレードする(2.2.2>2.1.1 でもエラー発生)
参考:
https://github.com/NIFTYCloud-mbaas/UserCommunity/issues/493
Unity(5.3)とNCMBのコンフリクトなのか?
理由 iOSアプリは通信が全てhttpsでないとダメ
自鯖でhttps使えなくもないけど,認証系にも使いたい
新規アカウント作成後の最初のチュートリアル(APIキーの設定系など)
http://mb.cloud.nifty.com/doc/current/introduction/quickstart_unity.html
Psuh通知でMonacaの参考方法を参考にした
https://docs.monaca.io/ja/manual/backend/push_notification/gcm/
NCMBエラーコード一覧
http://mb.cloud.nifty.com/doc/current/rest/common/error.html
メモ 引数eで受けたら, e.ErrorCode でエラーコードをStringで入る
サンプルのコードそのまま
using UnityEngine;
using System.Collections;
using NCMB; //use Nifty Cloub Mobile Backend
public class NCMB_test : MonoBehaviour {
// Use this for initialization
void Start () {
// クラスのNCMBObjectを作成
NCMBObject testClass = new NCMBObject("TestClass");
// オブジェクトに値を設定
testClass["message"] = "Hello, NCMB!";
// データストアへの登録
testClass.SaveAsync();
}
// Update is called once per frame
void Update () {
}
}
WEBでオブジェクト確認するけど,WEBの方は更新がかなり遅い,,,
スクリプトであるオブジェクトの子にするスクリプトです
using UnityEngine;
using System.Collections;
public class test2 : MonoBehaviour {
public GameObject maru1 ;//親のオブジェクトをアサインする
public GameObject entyu;//子のオブジェクトをアサインする
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void oyako(){
entyu.transform.parent = maru1.transform;//entyuの親はmaruです
entyu.transform.position = maru1. transform.position;
entyu.transform.rotation = maru1.transform.rotation;
//entyu.transform.position = new Vector3 (2, 2, 2);//これは移動
entyu.transform.rotation = new Quaternion(10, 10, 5, 4);//これは回転
}
}