瀏覽代碼

添加播放视频

slambb 9 月之前
父節點
當前提交
b8f729a0d6

+ 2 - 0
Assets/BowArrow/Scripts/Manager/HomeMgr.cs

@@ -64,6 +64,8 @@ public class HomeMgr : MonoBehaviour
         if (CommonConfig.StandaloneModeOrPlatformB) {
             DevicesHolder.Init();
         }
+        //视频播放待机页面
+        StandbyVideoManager.Create();
     }
 
     void Start()

+ 8 - 0
Assets/Insertcoin.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 81c5b1724a1ce2a4eba6e8c8e1f0607d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Insertcoin/Resources.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0677adadcfb40ff4095773642ea1c33e
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 262 - 0
Assets/Insertcoin/Resources/StandbyVideoManager.prefab

@@ -0,0 +1,262 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &311405674673404885
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 7089225690518360587}
+  - component: {fileID: 1261380716769390242}
+  - component: {fileID: 4680645708847798182}
+  - component: {fileID: 24415942642918589}
+  m_Layer: 5
+  m_Name: Canvas
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &7089225690518360587
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 311405674673404885}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0, y: 0, z: 0}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 5707355226056441729}
+  m_Father: {fileID: 1276618026847120149}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0, y: 0}
+--- !u!223 &1261380716769390242
+Canvas:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 311405674673404885}
+  m_Enabled: 1
+  serializedVersion: 3
+  m_RenderMode: 0
+  m_Camera: {fileID: 0}
+  m_PlaneDistance: 100
+  m_PixelPerfect: 0
+  m_ReceivesEvents: 1
+  m_OverrideSorting: 0
+  m_OverridePixelPerfect: 0
+  m_SortingBucketNormalizedSize: 0
+  m_VertexColorAlwaysGammaSpace: 0
+  m_AdditionalShaderChannelsFlag: 0
+  m_SortingLayerID: 0
+  m_SortingOrder: 0
+  m_TargetDisplay: 0
+--- !u!114 &4680645708847798182
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 311405674673404885}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_UiScaleMode: 0
+  m_ReferencePixelsPerUnit: 100
+  m_ScaleFactor: 1
+  m_ReferenceResolution: {x: 800, y: 600}
+  m_ScreenMatchMode: 0
+  m_MatchWidthOrHeight: 0
+  m_PhysicalUnit: 3
+  m_FallbackScreenDPI: 96
+  m_DefaultSpriteDPI: 96
+  m_DynamicPixelsPerUnit: 1
+  m_PresetInfoIsWorld: 0
+--- !u!114 &24415942642918589
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 311405674673404885}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_IgnoreReversedGraphics: 1
+  m_BlockingObjects: 0
+  m_BlockingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+--- !u!1 &4861144799134537695
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5707355226056441729}
+  - component: {fileID: 2962409999273835233}
+  - component: {fileID: 1035248642793421658}
+  - component: {fileID: 1907543398391466497}
+  m_Layer: 5
+  m_Name: VideoDisplay
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &5707355226056441729
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4861144799134537695}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 7089225690518360587}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 1, y: 1}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!222 &2962409999273835233
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4861144799134537695}
+  m_CullTransparentMesh: 1
+--- !u!114 &1035248642793421658
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4861144799134537695}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 1344c3c82d62a2a41a3576d8abb8e3ea, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_Texture: {fileID: 0}
+  m_UVRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+--- !u!328 &1907543398391466497
+VideoPlayer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4861144799134537695}
+  m_Enabled: 1
+  m_VideoClip: {fileID: 32900000, guid: f569946e2e7aa2847bc95d5dc4c3cfc9, type: 3}
+  m_TargetCameraAlpha: 1
+  m_TargetCamera3DLayout: 0
+  m_TargetCamera: {fileID: 0}
+  m_TargetTexture: {fileID: 0}
+  m_TimeReference: 0
+  m_TargetMaterialRenderer: {fileID: 0}
+  m_TargetMaterialProperty: <noninit>
+  m_RenderMode: 2
+  m_AspectRatio: 2
+  m_DataSource: 0
+  m_PlaybackSpeed: 1
+  m_AudioOutputMode: 2
+  m_TargetAudioSources:
+  - {fileID: 0}
+  m_DirectAudioVolumes:
+  - 1
+  m_Url: 
+  m_EnabledAudioTracks: 01
+  m_DirectAudioMutes: 00
+  m_ControlledAudioTrackCount: 1
+  m_PlayOnAwake: 1
+  m_SkipOnDrop: 1
+  m_Looping: 0
+  m_WaitForFirstFrame: 1
+  m_FrameReadyEventEnabled: 0
+  m_VideoShaders: []
+--- !u!1 &7519419907736105347
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1276618026847120149}
+  - component: {fileID: 4933924220263239611}
+  m_Layer: 0
+  m_Name: StandbyVideoManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1276618026847120149
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7519419907736105347}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children:
+  - {fileID: 7089225690518360587}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &4933924220263239611
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7519419907736105347}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: fb3d3477c213de84dbd82a043e092971, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  videoDisplay: {fileID: 1035248642793421658}
+  videoPlayer: {fileID: 1907543398391466497}
+  uiPanel: {fileID: 311405674673404885}
+  standbyTime: 10

+ 7 - 0
Assets/Insertcoin/Resources/StandbyVideoManager.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 873844a396cbae84d83d46705b257793
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Insertcoin/Script.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d750f506201914041bac4e1640155643
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 113 - 0
Assets/Insertcoin/Script/StandbyVideoManager.cs

@@ -0,0 +1,113 @@
+using UnityEngine;
+using UnityEngine.UI;
+using UnityEngine.Video;
+
+public class StandbyVideoManager : MonoBehaviour
+{
+    public RawImage videoDisplay;  // UI上的RawImage
+    public VideoPlayer videoPlayer; // VideoPlayer 组件
+    public GameObject uiPanel;  // UI 界面的根面板
+    public float standbyTime = 10f;  // 待机时间(秒)
+
+    private bool isVideoPlaying = false;
+    private float lastInputTime;
+
+    public static StandbyVideoManager _ins;
+
+    public static void Create()
+    {
+        if (_ins) return;
+        GameObject o = Instantiate(Resources.Load<GameObject>("StandbyVideoManager"));
+        DontDestroyOnLoad(o);
+        _ins = o.GetComponent<StandbyVideoManager>();
+        //添加一个父物体
+        o.transform.SetParent(ViewMgr.Instance.transform.Find("1").transform);
+        CanvasScaler canvasScaler = o.transform.Find("Canvas").GetComponent<CanvasScaler>();
+        if (canvasScaler != null)
+        {
+            Destroy(canvasScaler);
+        }
+        RectTransform rectTransform = canvasScaler.GetComponent<RectTransform>();
+        rectTransform.anchorMin = Vector2.zero;      // 左下角对齐父级
+        rectTransform.anchorMax = Vector2.one;       // 右上角对齐父级
+        rectTransform.offsetMin = Vector2.zero;      // 移除左下角偏移
+        rectTransform.offsetMax = Vector2.zero;      // 移除右上角偏移
+        rectTransform.localScale = Vector3.one;      // 确保缩放为 1
+
+        _ins.TriggerStandbyMode();
+    }
+
+    void Start()
+    {
+        videoDisplay.gameObject.SetActive(false);  // 初始时隐藏视频
+        videoPlayer.loopPointReached += OnVideoEnd;  // 监听视频播放完毕
+        videoPlayer.isLooping = true;  // 设置视频循环播放
+        ResetIdleTimer();  // 初始化计时器
+    }
+
+    void Update()
+    {
+        DetectUserInput();
+
+        // 判断是否达到待机时间
+        if (!isVideoPlaying && Time.time - lastInputTime > standbyTime)
+        {
+            PlayStandbyVideo();
+        }
+
+        // 监听鼠标或键盘输入退出视频
+        if (isVideoPlaying && (Input.anyKeyDown || Input.GetAxis("Mouse X") != 0 || Input.GetAxis("Mouse Y") != 0))
+        {
+            StopVideo();
+        }
+    }
+
+    // 检测用户交互重置计时器
+    private void DetectUserInput()
+    {
+        // 用户输入重置计时器
+        if (Input.anyKeyDown || Input.GetAxis("Mouse X") != 0 || Input.GetAxis("Mouse Y") != 0)
+        {
+            ResetIdleTimer();
+        }
+    }
+
+    // 重置待机计时器
+    private void ResetIdleTimer()
+    {
+        lastInputTime = Time.time;
+    }
+
+    // 进入待机视频
+    public void PlayStandbyVideo()
+    {
+        videoDisplay.gameObject.SetActive(true);  // 显示视频
+        videoPlayer.Play();
+        isVideoPlaying = true;
+    }
+
+    // 停止视频,回到 UI
+    public void StopVideo()
+    {
+        videoPlayer.Stop();
+        videoDisplay.gameObject.SetActive(false);  // 隐藏视频
+        isVideoPlaying = false;
+        ResetIdleTimer();
+    }
+
+    // 视频播放结束后自动回到UI
+    private void OnVideoEnd(VideoPlayer vp)
+    {
+        // 仅当视频没有被手动停止时才执行
+        if (isVideoPlaying)
+        {
+            videoPlayer.Play();  // 重新开始播放
+        }
+    }
+
+    // 手动调用进入待机状态
+    public void TriggerStandbyMode()
+    {
+        PlayStandbyVideo();
+    }
+}

+ 11 - 0
Assets/Insertcoin/Script/StandbyVideoManager.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fb3d3477c213de84dbd82a043e092971
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Insertcoin/Video.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 60049dd8c9f447548817cc8a99e99bf5
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

二進制
Assets/Insertcoin/Video/Video1.mp4


+ 18 - 0
Assets/Insertcoin/Video/Video1.mp4.meta

@@ -0,0 +1,18 @@
+fileFormatVersion: 2
+guid: f569946e2e7aa2847bc95d5dc4c3cfc9
+VideoClipImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  frameRange: 0
+  startFrame: -1
+  endFrame: -1
+  colorSpace: 0
+  deinterlace: 0
+  encodeAlpha: 0
+  flipVertical: 0
+  flipHorizontal: 0
+  importAudio: 1
+  targetSettings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 4 - 4
ProjectSettings/EditorBuildSettings.asset

@@ -32,7 +32,7 @@ EditorBuildSettings:
   - enabled: 1
     path: Assets/FruitMaster/Scenes/FruitMaster.unity
     guid: 5600e697996c4b64b8ca124f15f30a58
-  - enabled: 1
+  - enabled: 0
     path: Assets/BowArrow/Scenes/GameDouble.unity
     guid: ab9cb5f113d25ed4a9c69a584d2e5c01
   - enabled: 0
@@ -43,11 +43,11 @@ EditorBuildSettings:
     guid: 7561eb6cd780e5e4887e30791c911a9b
   - enabled: 1
     path: Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace01.unity
-    guid: 25835fb90fd26cd4ea4f76d43b699add
+    guid: 71b0c88d6e2b1c64d8b342dbcf9f18f1
   - enabled: 1
     path: Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace02.unity
-    guid: a8f19bc110806934f963b49a6dcb0c70
+    guid: 4ba6583615767164daa6b32e3a52c677
   - enabled: 1
     path: Assets/Game_Hyperspace/Hyperspace FX/Demo/Scenes/Hyperspace03.unity
-    guid: e89fd004630b8c4429343aed55df58ab
+    guid: 7fcca2d15ab4ee64bad23e2fd61aa51a
   m_configObjects: {}