衝突判定系をまとめておきます
ここでは扱いやすいTrigger系のみにしておきます.Collider系はちょっと面倒なので,,,
衝突判定系をまとめておきます
ここでは扱いやすいTrigger系のみにしておきます.Collider系はちょっと面倒なので,,,
動的に変更できる
時間がないのでスクリプト全文
using UnityEngine;
using System.Collections;
//using UnityStandardAssets.Characters.ThirdPerson;
public class targetchange : MonoBehaviour {
public NavMeshAgent myObj;
public Transform goalpos1;
public Transform goalpos2;
public Transform dummy;//AIThirdPersonを入れる
Transform setPos;
void Start(){
setPos = dummy;
}
void Update(){
myObj.SetDestination (setPos.position);
}
//スピードを0.5に変える
public void chngSpeed(){
myObj.speed = 0.5f;
}
//ターゲットをgoalpos1にする
public void target1(){
setPos = goalpos1;
}
//ターゲットをgoalpos2にする
public void target2(){
setPos = goalpos2;
}
}
参考動画(ボタンで切り替えています)
UnityでのNCMBパスワードリセットの方法(全文)
時間ないので全文転載
using UnityEngine;
using System.Collections;
using NCMB;
using UnityEngine.UI;//use unity gui
using UnityEngine.SceneManagement;
public class PassReset : MonoBehaviour {
public Text emailfield;
public Text statustxt;
string meado;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void doResetvoid(){
meado = emailfield.text;
//NCMBUser user = new NCMBUser();
NCMBUser.RequestPasswordResetAsync(meado,(NCMBException e) => {
if (e != null) {
UnityEngine.Debug.Log ("ログインに失敗: " + e.ErrorMessage);
statustxt.text = "リセットに失敗しました\nメールアドレスを確認してください";
} else {
statustxt.text = "パスワードリセットに成功しました\nメールを受信しパスワードを再設定してください";
Invoke("toTop", 3f);
}
});
}
//scne change
public void toTop(){
SceneManager.LoadScene ("top");
}
}
メールに仮パスワードとリセットページへのリンクが届くのでWEBでリセットするらしい
NCMBのuser.objectIdを取得して,他のところで使います
//JSON読み込み
foreach (NCMBUser users in userList) {
suDicAll.Add(users.UserName.ToString(), users.ObjectId.ToString());//Dictionaryに入れる
//ここでJSON化し,PlayerPrefesに入れる
myjson = Json.Serialize(suDicAll);
}//foreachここまで
PlayerPrefs.SetString("sulist", myjson);
//JSON読み出し
using MiniJSON;//use miniJSONが必要です
string mytest = PlayerPrefs.GetString ("sulist");
var sudic = Json.Deserialize(mytest) as Dictionary<string, object>;
foreach (KeyValuePair<string , object> pair in sudic) {
Debug.Log (pair.Key + ":" + pair.Value);
acl.SetReadAccess(pair.Value.ToString(), true);//加算用のテンポラリ変数
}
日付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 () + "日";
}
プレファブ生成
//変数設定
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";//その文字列を設定
}
必要なライブラリ
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を変更する手順
動作したスクリプトを抜粋してるので動作確認無しです
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ここまで
}
});
}
できないらしい
また、ニフティクラウド mobile backend では、パスワード変更のAPIは用意していないため、パスワードを変更したい場合にはパスワードのリセットの処理が必要となります。
なので,RequestResetPassword()らしい(Unityで使えるかはしらん)

ニフティクラウド mobile backendのJavaScript SDKでアプリの会員管理を行う方法について解説します。
LINK: mb.cloud.nifty.com/doc/current/sdkguide/javascript/user.html
会員ロールのカスタムフィールド”nyusyo”の取得
NCMBUser currentUser = NCMBUser.CurrentUser;//現在のユーザ情報をcurrentUserに格納
PlayerPrefs.SetString("nyusyobi", currentUser["nyusyo"].ToString());
Debug.Log(currentUser["nyusyo"]);