2d0aaa98aa
- 重写 PageController.cs,为所有按钮回调添加完整 Debug.Log - 自动修复 _btnFixationBack:未赋值时自动查找 FixationPanel/BtnBack - 自动修复 _btnExperimentBack:未赋值时自动查找 ExperimentPanel/Navbar/BtnBack - 删除失效的 Canvas 根级冗余 BtnFixationBack - 添加 3D 角色模型资源(man/woman 模型、动画、TextMesh Pro) - 添加 ExperimentPanel UI 资源和 TrainingBackground 素材 测试方法:进入 Play 模式,查看 Console 以验证每个按钮的绑定状态和点击回调是否正常触发。
98 lines
3.5 KiB
C#
Executable File
98 lines
3.5 KiB
C#
Executable File
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
|
|
namespace TMPro.Examples
|
|
{
|
|
|
|
public class Benchmark02 : MonoBehaviour
|
|
{
|
|
|
|
public int SpawnType = 0;
|
|
public int NumberOfNPC = 12;
|
|
|
|
public bool IsTextObjectScaleStatic;
|
|
private TextMeshProFloatingText floatingText_Script;
|
|
|
|
|
|
void Start()
|
|
{
|
|
|
|
for (int i = 0; i < NumberOfNPC; i++)
|
|
{
|
|
|
|
|
|
if (SpawnType == 0)
|
|
{
|
|
// TextMesh Pro Implementation
|
|
GameObject go = new GameObject();
|
|
go.transform.position = new Vector3(Random.Range(-95f, 95f), 0.25f, Random.Range(-95f, 95f));
|
|
|
|
TextMeshPro textMeshPro = go.AddComponent<TextMeshPro>();
|
|
|
|
textMeshPro.autoSizeTextContainer = true;
|
|
textMeshPro.rectTransform.pivot = new Vector2(0.5f, 0);
|
|
|
|
textMeshPro.alignment = TextAlignmentOptions.Bottom;
|
|
textMeshPro.fontSize = 96;
|
|
textMeshPro.enableKerning = false;
|
|
|
|
textMeshPro.color = new Color32(255, 255, 0, 255);
|
|
textMeshPro.text = "!";
|
|
textMeshPro.isTextObjectScaleStatic = IsTextObjectScaleStatic;
|
|
|
|
// Spawn Floating Text
|
|
floatingText_Script = go.AddComponent<TextMeshProFloatingText>();
|
|
floatingText_Script.SpawnType = 0;
|
|
floatingText_Script.IsTextObjectScaleStatic = IsTextObjectScaleStatic;
|
|
}
|
|
else if (SpawnType == 1)
|
|
{
|
|
// TextMesh Implementation
|
|
GameObject go = new GameObject();
|
|
go.transform.position = new Vector3(Random.Range(-95f, 95f), 0.25f, Random.Range(-95f, 95f));
|
|
|
|
TextMesh textMesh = go.AddComponent<TextMesh>();
|
|
textMesh.font = Resources.Load<Font>("Fonts/ARIAL");
|
|
textMesh.GetComponent<Renderer>().sharedMaterial = textMesh.font.material;
|
|
|
|
textMesh.anchor = TextAnchor.LowerCenter;
|
|
textMesh.fontSize = 96;
|
|
|
|
textMesh.color = new Color32(255, 255, 0, 255);
|
|
textMesh.text = "!";
|
|
|
|
// Spawn Floating Text
|
|
floatingText_Script = go.AddComponent<TextMeshProFloatingText>();
|
|
floatingText_Script.SpawnType = 1;
|
|
}
|
|
else if (SpawnType == 2)
|
|
{
|
|
// Canvas WorldSpace Camera
|
|
GameObject go = new GameObject();
|
|
Canvas canvas = go.AddComponent<Canvas>();
|
|
canvas.worldCamera = Camera.main;
|
|
|
|
go.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
|
|
go.transform.position = new Vector3(Random.Range(-95f, 95f), 5f, Random.Range(-95f, 95f));
|
|
|
|
TextMeshProUGUI textObject = new GameObject().AddComponent<TextMeshProUGUI>();
|
|
textObject.rectTransform.SetParent(go.transform, false);
|
|
|
|
textObject.color = new Color32(255, 255, 0, 255);
|
|
textObject.alignment = TextAlignmentOptions.Bottom;
|
|
textObject.fontSize = 96;
|
|
textObject.text = "!";
|
|
|
|
// Spawn Floating Text
|
|
floatingText_Script = go.AddComponent<TextMeshProFloatingText>();
|
|
floatingText_Script.SpawnType = 0;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|