スクリプトを更新したのに、InspectorViewの変数が増えない
プログラムが間違っていてビルドエラーが出ている可能性が高いです。
エディタ上でbuildしてみましょう。
{}の対応が間違っていないか、全角スペースが入っているかなど、確認してみましょう
//3行目に追加
using UnityEngine.UI;
//class名が違っていたら上書き
public class GameManager : MonoBehaviour {
//クラス入ってすぐのところに
public Text label;
//Start内を下記に
void Start () {
WebCamDevice[] devices = WebCamTexture.devices;
if (devices.Length > 0){
label.text = "Camera:"+devices.Length+"\n";
for(int i=0;i <devices.Length;i++) {
label.text += "ID:"+i+
" Name:"+devices[i].name+
" isFront:"+devices[i].isFrontFacing+"\n";
}
}
else {
label.text = "Error: No Camera";
}
}
//Update内を下記に
void Update () {
}
//クラス入ってすぐのところに
public RawImage canvas;
WebCamTexture video;
//Start()内、for文の後に追加
video = new WebCamTexture();
canvas.texture = video;
video.Play();
//生成時の引数を追加してみましょう。(1行入れ替え)
//video = new WebCamTexture();
video = new WebCamTexture(devices[0].name,100,100,10);
//生成時の引数を追加してみましょう。(1行入れ替え)
//video = new WebCamTexture();
//video = new WebCamTexture(devices[0].name,100,100,10);
video = new WebCamTexture(devices[0].name,300,300,10);
//変数宣言のところに追加
int score = 0;
//メソッドを一つ追加
//<は半角に戻してください
public void calcScore(){
score = 0;
for (int x=0; x<300; x++) {
for (int y=0; y<300; y++) {
Color32 col=video.GetPixel (x,y);
if((x>=100&&x<200)||(y>=100&&y<200)){
score += col.r+col.g+col.b;
}
else{
score -= col.r+col.g+col.b;
}
}
}
score /= 10000;
label.text = "score:"+score;
}
//変数の宣言に追加
int highScore = 0;
string highScoreKey="highScore";
//Start()内に追加
// ハイスコアを取得する。保存されてなければ0を取得する。
highScore = PlayerPrefs.GetInt (highScoreKey, 0);
//calcScore内でスコアを計算した後に追加
if(score>highScore){
highScore=score;
// ハイスコアを保存する
PlayerPrefs.SetInt (highScoreKey, highScore);
PlayerPrefs.Save ();
}
label.text= "score:"+score+"\n"+"highScore:"+highScore;
//変数の宣言を追加。
bool portrait=false;
//回転ボタンを押した時に呼ぶメソッド
public void RotateCanvas()
{
canvas.transform.Rotate(0, 0, 90);
//※RawImage、webCamを正方形で用意した場合は不要です。
//※さらに、RawImageをマスクして使う場合に必要な処理になります。
//※単純に回転すると横幅が足りなくなるので、拡大してあげます。
//※さらに、RawImageをマスクして使う場合に必要な処理になります。
//※さらに、RawImageをマスクして使う場合に必要な処理になります。
portrait = !portrait;
if (portrait) canvas.transform.localScale = new Vector3(1.333f, 1.333f, 1f);
else canvas.transform.localScale = Vector3.one;
}
プログラムが間違っていてビルドエラーが出ている可能性が高いです。
エディタ上でbuildしてみましょう。
{}の対応が間違っていないか、全角スペースが入っているかなど、確認してみましょう
classの大文字と小文字が違っている可能性があります。
エディタのbuildエラーが出ませんが、Unityでは読み込めない、という状況が確認されています。
unityの仕様(不具合)かなと思います。
BG(背景画像)の描画優先度を下げることで解決します。
BGのInspectorViewでOrder in Layerを-1にしてください
(テキストの手順にも追記しておきました)