Files
ArrowBeatTap-Gp/Assets/Scripts/ToolKit/AlphaController.cs
T

55 lines
1.7 KiB
C#
Raw Normal View History

using UnityEngine;
namespace ChillConnect
{
public class AlphaController : MonoBehaviour
{
private AndroidJavaObject currentActivity;
private bool isInitialized = false;
void Start()
{
// 只在 Android 平台初始化
if (Application.platform == RuntimePlatform.Android)
{
InitializeAndroidBridge();
}
}
private void InitializeAndroidBridge()
{
try
{
using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
{
currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
isInitialized = true;
Debug.Log("AlphaController: Android bridge initialized successfully");
}
}
catch (System.Exception e)
{
Debug.LogError("AlphaController: Failed to initialize Android bridge - " + e.Message);
isInitialized = false;
}
}
/// <summary>
/// 设置 Unity Player 透明度
/// </summary>
/// <param name="alpha">0.0 全透明, 1.0 不透明</param>
public void SetPlayerAlpha(float alpha)
{
if (!isInitialized)
{
Debug.LogWarning("AlphaController: Not initialized");
return;
}
// 限制透明度范围在 0-1 之间
alpha = Mathf.Clamp01(alpha);
currentActivity.Call("setPlayerAlpha", alpha);
Debug.Log($"AlphaController: Set alpha to {alpha}");
}
}
}