2015年6月19日金曜日

[Unity]質問があったのでまとめておく

PlayerPrefsを使ってGlobalWorksの値を保存したり復元したりして見るコード

public static class GlobalWorks {

public static int mScore;
public static string mUserName;
static GlobalWorks(){
// コンストラクタ(必ず最初に実行される)
mScore = PlayerPrefs.GetInt("Score", 0 );
mUserName = PlayerPrefs.GetString("UserName", "default user");
}

static void SaveDatas() {
PlayerPrefs.SetInt("Score", mScore);
PlayerPrefs.SetString("UserName", mUserName);
}

}

以上。別のGameObjectのスクリプトから GlobalWorks.SaveDatas()とすればデータが保存され
Unityをrunすると保存されたデータが自動的に復元される。

[Unity}いきなりUnityに変更wsceneごとに共通させるデータを保持する簡単な方法

c#にてstatic classを作る。ソースはpluginsフォルダをassetsの下に作ってそこに
たとえばGlobalWorks.csを作る。以下な感じで

public static class GlobalWorks {

public static int mData;
}

アクセス方法
普通にGlobalWorks.mDataでアクセスできる

これだけ。後は必要なだけ変数を追加すればいい

2014年12月3日水曜日

[3DS:プチコン3号]コネタ2

プチコンには便利な
DIM A[10],B[10]
COPY A,0,B,0,10

という命令がある。上記だとAにBの内容をコピーしろということであるが
これの応用で
COPY A,9,B,0,10
とやるとAの内容がBの内容分増えてコピーされる。いわゆる連結が出来る
最初からA[20]とやってやればいいじゃんと思うんだろうけどこれのいいところは
A[0]としたものを自由サイズに大きさを帰ることが出来るということなのです。
その効用を説明しだすと、設計思想になるので割愛しますが、Basicを色々いじって
プログラムしだすと、この動作がいかに便利化がわかるようになります。

2014年12月2日火曜日

[3DS:プチコン3号]ここは今日から

プチコンのプチ情報を書いていくことにした。そのうち気分でUnityなんかも書くかもしれず。


//----------------------------------------------------------------------------------
2チャンネルのスレで書かれていたことを検証した結果。以下のコードが正しかった
(はず。今手元にないので確認できない)

DIM A$[2],B$,C$
A$[0]=B$
A$[1]=C$
? "1. =";A$[0];":";A$[1];":";B$;":";C$
FOR I=0 TO 1
PUSH B$,"A"
NEXT
C$=B$
? "2. =";A$[0];":";A$[1];":";B$;":";C$
A$[0][LEN(B$)-1]="B"
? "3. =";A$[0];":";A$[1];":";B$;":";C$

多分表示結果は
1.=:::
2.=AA:AA:AA:AA
3.=AB:AA:AB:AA

となると思う。文字列は配列として扱えるので、[]で要素にアクセスできてしまうのだ!!
文字列配列に文字列を入れるとあたかも2次元配列のようにアクセスできる。
こんなことが役に立つのかは分からないが、こんな事も出来るよ。的な