ジョーカースクリプト バックログのバグ?
ジョーカースクリプトでバックログを表示(@showlog)して
閉じても、LogContents(Clone)が生成されたままで再度バックログを表示すると
LogContens(Clone)が増殖してどんどん処理が重くなる。
Logを閉じるときにはLogContens(Clone)を削除するように変更した。
★CanvasLog.cs
閉じても、LogContents(Clone)が生成されたままで再度バックログを表示すると
LogContens(Clone)が増殖してどんどん処理が重くなる。
Logを閉じるときにはLogContens(Clone)を削除するように変更した。
★CanvasLog.cs
using UnityEngine;
using System.Collections;
using Novel;
public class CanvasLog : MonoBehaviour {
// Use this for initialization
void Start () {
}
//ログを閉じる
public void closeLog(){
//イベントを停止する
StatusManager.enableEventClick = true;
NovelSingleton.GameManager.nextOrder ();
GameObject back = GameObject.Find ("CanvasLog") as GameObject;
back.GetComponent<Canvas> ().enabled = false;
GameObject content = GameObject.Find("CanvasLog/ScrollView/Content");
foreach (Transform n in content.transform)
{
GameObject.Destroy(n.gameObject);
}
//テキストにバックログを表示する
//nextOrderする?
}
// Update is called once per frame
void Update () {
}
}
Luaのテーブルはオブジェクト[Lua]
Luaのテーブルはオブジェクト。
そのため、テーブルのコピーは結果として、参照先がコピーされる。
なので、下記のような現象が起きる。へー。っていう感じ。
そのため、テーブルのコピーは結果として、参照先がコピーされる。
なので、下記のような現象が起きる。へー。っていう感じ。
local TableTestA ={}
local TableTestB ={}
TableTestA["a"]=10
print("TableTestA[a]:"..TableTestA["a"]) → TableTestA[a]:10 と表示される。
TableTestB=TableTestA ← テーブルをコピー(参照先がコピーされる)
print("TableTestB[a]:"..TableTestB["a"]) → TableTestB[a]:10 と表示される。
TableTestB["a"]=20 ← Bの方で値を20に変更作業をする。
print("TableTestA[a]:"..TableTestA["a"]) → TableTestA[a]:20 と表示される。←これも変更される。
print("TableTestB[a]:"..TableTestB["a"]) → TableTestB[a]:20 と表示される。←これは当たり前
TableTestA = nil
print("TableTestB[a]:"..TableTestB["a"]) → TableTestB[a]:20 と表示される。