Работаю над приложением Unity и пытаюсь создать базовый экран меню.
Я использую Unity 5.0.1p3.
Хотя это не имеет значения, это может быть важно: мое приложение использует Vuforia, и в других сценах нет проблем.
Итак, когда я пытаюсь создать экран меню, используя камеру Unity по умолчанию, и добавить холст, он отлично работает в редакторе Unity, но не на устройстве.
На устройстве я просто получаю фон (плоскость перед камерой), а изображение/кнопка не показывает ничего, что находится на холсте.
Кроме того, когда приложение запускается на Eclipse LogCat, я получаю эту ошибку:
05-09 11:18:14.047: E/Unity(2092): A script behaviour has a different serialization layout when loading. (Read 32 bytes but expected 52 bytes)
05-09 11:18:14.047: E/Unity(2092): Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
05-09 11:18:14.047: E/Unity(2092):
05-09 11:18:14.047: E/Unity(2092): (Filename: ./Runtime/Serialize/SerializedFile.cpp Line: 1652)
05-09 11:18:14.047: E/Unity(2092): A script behaviour has a different serialization layout when loading. (Read 32 bytes but expected 124 bytes)
05-09 11:18:14.047: E/Unity(2092): Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?
И эта проблема проявляется только после того, как я экспортирую свой сценарий меню. Прежде чем вы начнете связывать меня с предыдущими вопросами о проблеме сериализации, я уже проверил их проблему и не знаю, как это связано с моей.
MenuScreen.cs
выглядит следующим образом:
using UnityEngine;
using System.Collections;
public class MenuScreen : MonoBehaviour {
private Rect b;
private Rect o;
private Rect f;
// Use this for initialization
void Start () {
int w = Screen.width;
int h = Screen.height;
//name = new Rect ( px ,py ,bh, bw)
b = new Rect (w -3*w/4, h - 4*h/5 , 2*w/4, h / 10);
o = new Rect (w -3*w/4, h - 3*h/5 , 2*w/4, h / 10);
f = new Rect (w -3*w/4, h - 2*h/5 , 2*w/4, h / 10);
}
// Update is called once per frame
void OnGUI(){
if (GUI.Button (b, "Begin")) {
Application.LoadLevel("SolidWhite");
}
if (GUI.Button (o, "Options")) {
//Application.LoadLevel("Options");
}
if (GUI.Button (f, "FAQ")) {
//Application.LoadLevel("FAQ");
}
}
}