提交内容填充和Guide Tip

This commit is contained in:
李浩 2025-05-26 19:19:40 +08:00
parent 858e2be111
commit 8c310b56fb
53 changed files with 3200 additions and 2167 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -231,7 +231,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_text: "\u6444\u5F71\u5668\u6750" m_text: "\u51E0\u4F55\u4F53"
m_isRightToLeft: 0 m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 9bbfb1bdb0251664eb0932e39724900e, type: 2} m_fontAsset: {fileID: 11400000, guid: 9bbfb1bdb0251664eb0932e39724900e, type: 2}
m_sharedMaterial: {fileID: 5103963756306747964, guid: 9bbfb1bdb0251664eb0932e39724900e, type: 2} m_sharedMaterial: {fileID: 5103963756306747964, guid: 9bbfb1bdb0251664eb0932e39724900e, type: 2}
@ -337,9 +337,9 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: 195, y: -35.551712} m_AnchoredPosition: {x: 8, y: 67}
m_SizeDelta: {x: 245.2674, y: 596.4644} m_SizeDelta: {x: 245.2674, y: 596.4644}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0, y: 0.5}
--- !u!222 &1831670476936566405 --- !u!222 &1831670476936566405
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

File diff suppressed because it is too large Load Diff

View File

@ -377,7 +377,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
MarkType: 0 MarkType: 0
CustomComponentName: CustomComponentName: InputItem
CustomComment: CustomComment:
mComponentName: RectTransform mComponentName: RectTransform
--- !u!1 &3314679007489850951 --- !u!1 &3314679007489850951

View File

@ -497,7 +497,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2191389905807484100} m_GameObject: {fileID: 2191389905807484100}
m_Enabled: 1 m_Enabled: 0
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name: m_Name:
@ -1760,8 +1760,8 @@ MonoBehaviour:
m_fontMaterials: [] m_fontMaterials: []
m_fontColor32: m_fontColor32:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4278190080
m_fontColor: {r: 1, g: 1, b: 1, a: 1} m_fontColor: {r: 0, g: 0, b: 0, a: 1}
m_enableVertexGradient: 0 m_enableVertexGradient: 0
m_colorMode: 3 m_colorMode: 3
m_fontColorGradient: m_fontColorGradient:
@ -1778,8 +1778,8 @@ MonoBehaviour:
m_faceColor: m_faceColor:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4294967295
m_fontSize: 25 m_fontSize: 33.33
m_fontSizeBase: 25 m_fontSizeBase: 33.33
m_fontWeight: 400 m_fontWeight: 400
m_enableAutoSizing: 0 m_enableAutoSizing: 0
m_fontSizeMin: 18 m_fontSizeMin: 18

View File

@ -1182,8 +1182,8 @@ MonoBehaviour:
m_fontMaterials: [] m_fontMaterials: []
m_fontColor32: m_fontColor32:
serializedVersion: 2 serializedVersion: 2
rgba: 4294967295 rgba: 4278190080
m_fontColor: {r: 1, g: 1, b: 1, a: 1} m_fontColor: {r: 0, g: 0, b: 0, a: 1}
m_enableVertexGradient: 0 m_enableVertexGradient: 0
m_colorMode: 3 m_colorMode: 3
m_fontColorGradient: m_fontColorGradient:

View File

@ -112,13 +112,13 @@ Material:
- _GlossMapScale: 1 - _GlossMapScale: 1
- _Glossiness: 0 - _Glossiness: 0
- _GlossyReflections: 1 - _GlossyReflections: 1
- _Metallic: 0 - _Metallic: 0.2
- _Mode: 0 - _Mode: 0
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _Parallax: 0.02 - _Parallax: 0.02
- _QueueOffset: 0 - _QueueOffset: 0
- _ReceiveShadows: 1 - _ReceiveShadows: 1
- _Smoothness: 0 - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0 - _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1 - _SpecularHighlights: 1
- _SrcBlend: 1 - _SrcBlend: 1

View File

@ -112,13 +112,13 @@ Material:
- _GlossMapScale: 1 - _GlossMapScale: 1
- _Glossiness: 0 - _Glossiness: 0
- _GlossyReflections: 1 - _GlossyReflections: 1
- _Metallic: 0 - _Metallic: 0.2
- _Mode: 0 - _Mode: 0
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _Parallax: 0.02 - _Parallax: 0.02
- _QueueOffset: 0 - _QueueOffset: 0
- _ReceiveShadows: 1 - _ReceiveShadows: 1
- _Smoothness: 0 - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0 - _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1 - _SpecularHighlights: 1
- _SrcBlend: 1 - _SrcBlend: 1

View File

@ -99,13 +99,13 @@ Material:
- _GlossMapScale: 1 - _GlossMapScale: 1
- _Glossiness: 0 - _Glossiness: 0
- _GlossyReflections: 1 - _GlossyReflections: 1
- _Metallic: 0 - _Metallic: 0.2
- _Mode: 0 - _Mode: 0
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _Parallax: 0.02 - _Parallax: 0.02
- _QueueOffset: 0 - _QueueOffset: 0
- _ReceiveShadows: 1 - _ReceiveShadows: 1
- _Smoothness: 0 - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0 - _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1 - _SpecularHighlights: 1
- _SrcBlend: 1 - _SrcBlend: 1

View File

@ -112,13 +112,13 @@ Material:
- _GlossMapScale: 1 - _GlossMapScale: 1
- _Glossiness: 0 - _Glossiness: 0
- _GlossyReflections: 1 - _GlossyReflections: 1
- _Metallic: 0 - _Metallic: 0.2
- _Mode: 0 - _Mode: 0
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _Parallax: 0.02 - _Parallax: 0.02
- _QueueOffset: 0 - _QueueOffset: 0
- _ReceiveShadows: 1 - _ReceiveShadows: 1
- _Smoothness: 0 - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0 - _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1 - _SpecularHighlights: 1
- _SrcBlend: 1 - _SrcBlend: 1

View File

@ -112,13 +112,13 @@ Material:
- _GlossMapScale: 1 - _GlossMapScale: 1
- _Glossiness: 0 - _Glossiness: 0
- _GlossyReflections: 1 - _GlossyReflections: 1
- _Metallic: 0 - _Metallic: 0.2
- _Mode: 0 - _Mode: 0
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _Parallax: 0.02 - _Parallax: 0.02
- _QueueOffset: 0 - _QueueOffset: 0
- _ReceiveShadows: 1 - _ReceiveShadows: 1
- _Smoothness: 0 - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0 - _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1 - _SpecularHighlights: 1
- _SrcBlend: 1 - _SrcBlend: 1

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 279100164483bdc40bb7761b2fe240ef
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

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

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 87e41582cbb2cc847af3b5e6c275e64d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 112000000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,179 @@
fileFormatVersion: 2
guid: 5d304f57d5d2f6140836791552e295f5
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 1
seamlessCubemap: 1
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: 0
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 2
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,179 @@
fileFormatVersion: 2
guid: c8401d1f82e1d094db1c6cc21deda8b3
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 1
seamlessCubemap: 1
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 2
aniso: 0
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 2
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -7,8 +7,8 @@ LightingSettings:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: SampleSceneLightingSettings m_Name: SampleSceneLightingSettings
serializedVersion: 2 serializedVersion: 6
m_GIWorkflowMode: 0 m_GIWorkflowMode: 1
m_EnableBakedLightmaps: 1 m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 0 m_EnableRealtimeLightmaps: 0
m_RealtimeEnvironmentLighting: 0 m_RealtimeEnvironmentLighting: 0
@ -20,7 +20,7 @@ LightingSettings:
m_LightmapMaxSize: 512 m_LightmapMaxSize: 512
m_BakeResolution: 32 m_BakeResolution: 32
m_Padding: 2 m_Padding: 2
m_TextureCompression: 1 m_LightmapCompression: 2
m_AO: 1 m_AO: 1
m_AOMaxDistance: 1 m_AOMaxDistance: 1
m_CompAOExponent: 1 m_CompAOExponent: 1
@ -29,7 +29,7 @@ LightingSettings:
m_MixedBakeMode: 0 m_MixedBakeMode: 0
m_LightmapsBakeMode: 1 m_LightmapsBakeMode: 1
m_FilterMode: 1 m_FilterMode: 1
m_LightmapParameters: {fileID: 0} m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
m_ExportTrainingData: 0 m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 2 m_RealtimeResolution: 2
@ -46,8 +46,8 @@ LightingSettings:
m_PVREnvironmentReferencePointCount: 2048 m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4 m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2 m_PVRBounces: 2
m_PVRRussianRouletteStartBounce: 2 m_PVRMinBounces: 2
m_PVREnvironmentMIS: 0 m_PVREnvironmentImportanceSampling: 0
m_PVRFilteringMode: 1 m_PVRFilteringMode: 1
m_PVRDenoiserTypeDirect: 0 m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0 m_PVRDenoiserTypeIndirect: 0
@ -61,3 +61,6 @@ LightingSettings:
m_PVRFilteringAtrousPositionSigmaDirect: 0.548 m_PVRFilteringAtrousPositionSigmaDirect: 0.548
m_PVRFilteringAtrousPositionSigmaIndirect: 2 m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1 m_PVRFilteringAtrousPositionSigmaAO: 1
m_PVRTiledBaking: 0
m_NumRaysToShootPerTexel: -1
m_RespectSceneVisibilityWhenBakingGI: 0

View File

@ -82,6 +82,8 @@ namespace QFramework
public void Reset() public void Reset()
{ {
Status = ActionStatus.NotStart;
Paused = false;
} }
} }
} }

View File

@ -1,10 +1,9 @@
using UnityEngine; using UnityEngine;
using UnityEngine.UI; using UnityEngine.UI;
using QFramework;
using System.Collections.Generic; using System.Collections.Generic;
using TMPro; using TMPro;
using XMLTool; using static OperationController;
using UnityEngine.EventSystems;
using System;
namespace QFramework.Example namespace QFramework.Example
{ {
@ -18,26 +17,27 @@ namespace QFramework.Example
public partial class UIBackPack : UIPanel public partial class UIBackPack : UIPanel
{ {
ResLoader mResLoader; ResLoader mResLoader;
Dictionary<Device, GameObject> dict = new Dictionary<Device, GameObject>();
protected override void OnInit(IUIData uiData = null) protected override void OnInit(IUIData uiData = null)
{ {
mData = uiData as UIBackPackData ?? new UIBackPackData(); mData = uiData as UIBackPackData ?? new UIBackPackData();
mResLoader = ResLoader.Allocate(); mResLoader = ResLoader.Allocate();
TypeEventSystem.Global.Register<OnModuleQuit>(OnModuleQuit).UnRegisterWhenGameObjectDestroyed(gameObject); TypeEventSystem.Global.Register<OnModuleQuit>(OnModuleQuit).UnRegisterWhenGameObjectDestroyed(gameObject);
// please add init code here // please add init code here
} }
private void OnPickDeviceHandler(OnPickDevice device) protected override void OnOpen(IUIData uiData = null)
{ {
ItemFactory(device.device); mData = uiData as UIBackPackData ?? new UIBackPackData();
mResLoader.LoadAsync(); Content.RemoveAllChildren();
}
public void ItemFactory(Device item) foreach (var device in mData.devices)
{
if (dict.ContainsKey(item) == false)
{ {
var item = DeviceController.Instance.GetDevice(device);
if (item == null)
{
Debug.LogError(device + ":没有找到对应的Device配置");
return;
}
GameObject obj = GameObject.Instantiate(ItemPrefab.gameObject, Content); GameObject obj = GameObject.Instantiate(ItemPrefab.gameObject, Content);
obj.name = item.Name; obj.name = item.Name;
obj.transform.Find("Name").GetComponent<TextMeshProUGUI>().text = item.Name; obj.transform.Find("Name").GetComponent<TextMeshProUGUI>().text = item.Name;
@ -55,63 +55,10 @@ namespace QFramework.Example
} }
}); });
Button btn = obj.GetComponent<Button>(); Button btn = obj.GetComponent<Button>();
btn.onClick.AddListener(() => Drop(item.Name, obj)); btn.onClick.AddListener(() =>
obj.OnPointerUpEvent(OnClickUp);
dict.Add(item, obj);
}
int count = PlayerController.Instance.HasDevice(item.Name).count;
if (count > 0)
{
dict[item].transform.Find("IconBg/Icon/Count").GetComponent<TextMeshProUGUI>().text = count.ToString();
}
else
{
dict[item].transform.Find("IconBg/Icon/Count").GetComponent<TextMeshProUGUI>().text = string.Empty;
}
}
private void OnClickUp(PointerEventData data)
{
switch (data.button)
{
case PointerEventData.InputButton.Left:
break;
case PointerEventData.InputButton.Right:
GameObject obj = data.pointerPress;
var device = DeviceController.Instance.GetDevice(obj.name);
UIRightMenuData uiData = new UIRightMenuData();
uiData.btns = device.rightMenu.items;
uiData.OnBtnClick = str =>
{
if (str.Equals("丢弃", System.StringComparison.Ordinal))
{
Drop(device.Name, obj);
}
};
UIKit.OpenPanelAsync<UIRightMenu>(canvasLevel: UILevel.PopUI, uiData: uiData).ToAction().StartGlobal();
break;
case PointerEventData.InputButton.Middle:
break;
}
}
protected override void OnOpen(IUIData uiData = null)
{
mData = uiData as UIBackPackData ?? new UIBackPackData();
TypeEventSystem.Global.Register<OnPickDevice>(OnPickDeviceHandler);
Content.RemoveAllChildren();
foreach (var dictItem in PlayerController.Instance.hasDevicesDict)
{
var device = dictItem.Value.device;
var item = DeviceController.Instance.GetDevice(device.Name);
if (item == null)
{ {
Debug.LogError(device + ":没有找到对应的Device配置");
return; });
}
ItemFactory(item);
} }
mResLoader.LoadAsync(); mResLoader.LoadAsync();
Scroll.verticalNormalizedPosition = 1; Scroll.verticalNormalizedPosition = 1;
@ -127,8 +74,10 @@ namespace QFramework.Example
// 将位置偏移归零(相对于锚点) // 将位置偏移归零(相对于锚点)
bg.rectTransform.anchoredPosition = Vector2.zero; bg.rectTransform.anchoredPosition = Vector2.zero;
// 可选:设置轴心点为右侧中点(影响缩放/旋转中心) // 可选:设置轴心点为右侧中点(影响缩放/旋转中心)
bg.rectTransform.pivot = new Vector2(0, 0.5f); bg.rectTransform.pivot = new Vector2(0, 0.5f);
bg.rectTransform.anchoredPosition = new Vector3(5, 55, 0);
break; break;
case "right": case "right":
default: default:
@ -145,38 +94,16 @@ namespace QFramework.Example
} }
} }
public void Drop(string name, GameObject obj)
{
int count = PlayerController.Instance.DropDevice(name);
if (count <= 0)
{
var device = DeviceController.Instance.GetDevice(obj.name);
if (dict.ContainsKey(device))
{
dict.Remove(device);
}
GameObject.Destroy(obj);
}
else
{
obj.transform.Find("IconBg/Icon/Count").GetComponent<TextMeshProUGUI>().text = count.ToString();
}
}
protected override void OnShow() protected override void OnShow()
{ {
} }
protected override void OnHide() protected override void OnHide()
{ {
TypeEventSystem.Global.UnRegister<OnPickDevice>(OnPickDeviceHandler);
} }
protected override void OnClose() protected override void OnClose()
{ {
TypeEventSystem.Global.UnRegister<OnPickDevice>(OnPickDeviceHandler);
} }
public void OnModuleQuit(OnModuleQuit arg) public void OnModuleQuit(OnModuleQuit arg)
{ {

View File

@ -11,26 +11,19 @@ namespace QFramework.Example
public const string Name = "UIGuideTip"; public const string Name = "UIGuideTip";
[SerializeField] [SerializeField]
public GameObject TipItem; public RectTransform TipItem;
[SerializeField] [SerializeField]
public GameObject tip; public RectTransform Connet;
[SerializeField]
public Image Line;
[SerializeField]
public Image Cricle;
[SerializeField]
public Text Nametext;
private UIGuideTipData mPrivateData = null; private UIGuideTipData mPrivateData = null;
protected override void ClearUIComponents() protected override void ClearUIComponents()
{ {
TipItem = null; TipItem = null;
tip = null;
Line = null;
Cricle = null;
Nametext = null;
Connet = null;
mData = null; mData = null;
} }

View File

@ -6,61 +6,237 @@ using DG.Tweening;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using static UnityEngine.GraphicsBuffer;
using UnityEngine.Assertions;
namespace QFramework.Example namespace QFramework.Example
{ {
public class UIGuideTipData : UIPanelData public class UIGuideTipData : UIPanelData
{ {
public string targets; public string targets;
public string showName; public string showName;
public string offestPos; public string offestPos;
} }
public partial class UIGuideTip : UIPanel public partial class UIGuideTip : UIPanel
{ {
[SerializeField]
public Camera gameCamera;
[SerializeField]
public List<Vector3> TipOffectList;
[SerializeField]
public List<GameObject> TipItemList;
//UIGuideTipData uIGuideTipData;
public Camera Camera
{
get
{
return this.gameCamera;
}
set
{
this.gameCamera = value;
}
}
ResLoader loader; ResLoader loader;
protected override void OnInit(IUIData uiData = null) protected override void OnInit(IUIData uiData = null)
{ {
mData = uiData as UIGuideTipData ?? new UIGuideTipData(); mData = uiData as UIGuideTipData ?? new UIGuideTipData();
//uIGuideTipData = mData;
// please add init code here // please add init code here
loader = ResLoader.Allocate(); loader = ResLoader.Allocate();
TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject); TypeEventSystem.Global.Register<OnModuleQuit>((arg) => Hide()).UnRegisterWhenGameObjectDestroyed(gameObject);
} }
protected override void OnOpen(IUIData uiData = null) protected override void OnOpen(IUIData uiData = null)
{ {
Debug.Log("OnOpean???"); Connet.RemoveAllChildren();
TipOffectList.Clear();
TipItemList.Clear();
mData = uiData as UIGuideTipData ?? new UIGuideTipData();
//uIGuideTipData = mData;
if (uiData != null) if (uiData != null)
{ {
Connet.RemoveAllChildren();
gameCamera = GameObject.Find("ZhanShiCamera").GetComponent<Camera>();
mData = uiData as UIGuideTipData ?? new UIGuideTipData(); mData = uiData as UIGuideTipData ?? new UIGuideTipData();
Debug.Log(mData); Debug.Log(mData);
List<String> Objs = mData.targets.Split(',')?.ToList(); List<String> Objs = mData.targets.Split(',')?.ToList();
Debug.Log(Objs); List<String> ShowTexts = mData.showName.Split(',')?.ToList();
if (String.IsNullOrEmpty(mData.offestPos) == false)
{
List<String> TipOffects = mData.offestPos.Split('|')?.ToList();
for (int i = 0; i < TipOffects.Count; i++)
{
Vector3 TipOffect = Utility.GetVector3FromStrArray(TipOffects[i]);
Debug.Log(TipOffect + "??????????");
TipOffectList.Add(TipOffect);
}
}
else
{
Debug.Log("没有设置Tip偏移");
}
for (int i = 0; i < Objs.Count; i++)
{
GameObject tipItemObj = GameObject.Instantiate(TipItem.gameObject, Connet);
TipItemList.Add(tipItemObj);
tipItemObj.name = Objs[i];
GameObject target = GameObject.Find(Objs[i].ToString());
if (target==null)
{
Debug.Log("出现异常,没有找到该物体");
}
tipItemObj.GetComponentInChildren<Text>().text = ShowTexts[i];
UpdatePos(
target,
GetComponentInParent<Canvas>(),
tipItemObj.GetComponent<RectTransform>(),
tipItemObj.transform.Find("tip").GetComponent<RectTransform>(),
TipOffectList[i],
tipItemObj.transform.Find("Circle").GetComponent<RectTransform>(),
tipItemObj.transform.Find("Line").GetComponent<RectTransform>()
);
}
}
isUpdate = true;
}
//private void OnCloseSelf(string[] obj)
//{
// CloseSelf();
//}
bool isUpdate = false;
private void LateUpdate()
{
if (isUpdate)
{
for (int i = 0; i < TipItemList.Count; i++)
{
GameObject tipItemObj = TipItemList[i];
GameObject target = GameObject.Find(TipItemList[i].name);
Debug.Log("LateUpdate");
UpdatePos(
target,
GetComponentInParent<Canvas>(),
tipItemObj.GetComponent<RectTransform>(),
tipItemObj.transform.Find("tip").GetComponent<RectTransform>(),
TipOffectList[i],
tipItemObj.transform.Find("Circle").GetComponent<RectTransform>(),
tipItemObj.transform.Find("Line").GetComponent<RectTransform>()
);
}
} }
} }
private void Genter()
{
} /// <summary>
/// 计算屏幕的位置
/// </summary>
protected override void OnShow() public static Vector3 CalculateScreenPosition(Vector3 position/* 目标点*/, Camera camera, Canvas canvas,
{ RectTransform transform)
} {
protected override void OnHide() Assert.IsNotNull<Camera>(camera);
{ Assert.IsNotNull<Canvas>(canvas);
Assert.IsNotNull<RectTransform>(transform);
//世界坐标转屏幕坐标
Vector3 vector = camera.WorldToScreenPoint(position);
Vector3 zero = Vector3.zero;
//判断canvas 渲染模式
switch (canvas.renderMode)
{
//屏幕空间
case RenderMode.ScreenSpaceOverlay:
RectTransformUtility.ScreenPointToWorldPointInRectangle(transform, vector, null, out zero);
break;
case RenderMode.ScreenSpaceCamera:
//世界空间
case RenderMode.WorldSpace:
RectTransformUtility.ScreenPointToWorldPointInRectangle(transform, vector, canvas.worldCamera,
out zero);
break;
}
return zero;
}
} /// <summary>
/// 赋值TipItem方法
/// </summary>
private void UpdatePos(GameObject target, Canvas canvas, RectTransform TipItem, RectTransform tip, Vector3 tipOffset, RectTransform YuanDian, RectTransform zhiyinxian)
{
//if (this.target == null || this.canvas == null || this.gameCamera == null || this.rectTransform == null)
//{
// return;
//}
protected override void OnClose() //计算屏幕坐标
{
} Vector3 position = CalculateScreenPosition(target.transform.position, gameCamera,
} canvas, tip.GetComponent<RectTransform>());
tip.transform.position = position + tipOffset;
YuanDian.transform.position = Camera.WorldToScreenPoint(target.transform.position) /*+ YuanDianOffset*/;
zhiyinxian.transform.position = (YuanDian.transform.position + tip.transform.position) / 2;
zhiyinxian.transform.localEulerAngles = new Vector3(0, 0, Vector2.SignedAngle(Vector2.right, YuanDian.transform.position - tip.transform.position));
float length = (YuanDian.transform.position - tip.transform.position).magnitude;
//设置线的宽度 长度
zhiyinxian.GetComponent<RectTransform>().sizeDelta = new Vector2(length, 3f);
Debug.Log("UpdatePos");
}
protected override void OnShow()
{
}
protected override void OnHide()
{
isUpdate = false;
}
protected override void OnClose()
{
}
}
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

BIN
Data/Image/JiaoXue1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 40 KiB

BIN
Data/Image/KaoHe1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 42 KiB

BIN
Data/Image/ShiXun1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

View File

@ -5,30 +5,88 @@
<Name>教学模式</Name> <Name>教学模式</Name>
<Icon>JiaoXue.png</Icon> <Icon>JiaoXue.png</Icon>
<Device>
<Name>棱柱</Name>
<!--<HighLight color="255,0,0,255"/>-->
<Path>Main/A_SM_LengZhu</Path>
<!--<Tip>三脚架</Tip>-->
<Icon>JiHeTi/LengZhu.png</Icon>
</Device>
<Device>
<Name>棱锥</Name>
<!--<HighLight color="255,0,0,255"/>-->
<Path>Main/A_SM_LengZhui</Path>
<!--<Tip>三脚架</Tip>-->
<Icon>JiHeTi/LengZhui.png</Icon>
</Device>
<Device>
<Name>球体</Name>
<!--<HighLight color="255,0,0,255"/>-->
<Path>Main/A_SM_QiuTi</Path>
<!--<Tip>三脚架</Tip>-->
<Icon>JiHeTi/QiuTi.png</Icon>
</Device>
<Device>
<Name>圆柱</Name>
<!--<HighLight color="255,0,0,255"/>-->
<Path>Main/A_SM_YuanZhu</Path>
<!--<Tip>三脚架</Tip>-->
<Icon>JiHeTi/YuanZhu.png</Icon>
</Device>
<Device>
<Name>圆锥</Name>
<!--<HighLight color="255,0,0,255"/>-->
<Path>Main/A_SM_YuanZhui</Path>
<!--<Tip>三脚架</Tip>-->
<Icon>JiHeTi/YuanZhui.png</Icon>
</Device>
<FSM name="状态机1"> <FSM name="状态机1">
<State name="初始状态"> <State name="初始状态">
<Enter> <Enter>
<Action type="Parallel"> <Action type="Sequence">
<Action type="Hint" value="请选择对应模块,进行对应实验学习。或者使用键盘鼠标,自由漫游场景,进行游览。" time="-1" icon="false"></Action>
<Action type="UIBackPack" devices="棱柱,棱锥,球体,圆柱,圆锥"
random="false"
scrollSpeed="25" position="left"
></Action>
<Action type="TextTip" audio="" title="教学目标" value="1.掌握柱、锥、球及其组合体的结构特征与分类; <Action type="TextTip" audio="" title="教学目标" value="1.掌握柱、锥、球及其组合体的结构特征与分类;
\n2.熟练运用几何体的表面积、体积公式; \n2.熟练运用几何体的表面积、体积公式;
\n3.提升空间想象能力与三维构造分析能力。" btns="确定"/> \n3.提升空间想象能力与三维构造分析能力。" btns="确定"/>
<Action type="UIBackPack" devices="道具名字1" <Condition type="UIClick" value="UIRoot/PopUI/UITextTip/Mask/Content/BtnContent/确定"></Condition>
random="true"
scrollSpeed="25"
position="right"></Action>
<!--<Action type="GuideTipAction" targetName="物体名字1物体名字2物体名字3物体名字4" offSet="200,300|200,300|200,300|200,300" showName="名字1,名字2,名字3,名字4" ></Action>-->
<Action type="UIGuideTip" targetName="物体名字1,物体名字2,物体名字3,物体名字4" offSet="200,300|200,300|200,300|200,300" showName="名字1,名字2,名字3,名字4" ></Action>
<Action type="TextWindow" title="棱柱说明" value="四棱柱:有两个面互相平行,其余每相邻两个面的交线都互相平行的多面体叫作棱柱。
互相平行的两个面叫作棱柱的底面,位于棱柱上面,叫上底面。
上底面的边长叫做棱柱的上底面边长
互相平行的两个面叫作棱柱的底面,位于棱柱下面,叫底面。
底面的边长叫做棱柱的底面边长
棱柱其余各面叫作棱柱的侧面
相邻两个侧面的公共边叫作棱柱的侧棱
两个底面间的距离叫作棱柱的高
底面边长与侧棱汇交的点叫做棱柱的顶点。
" position="right" scrollSpeed="25"/>
<Action type="Show" value="Main/A_SM_LengZhu" isShow="false" isDevice="true"></Action>
<Action type="UIGuideTip" targetName="棱柱底面边长,棱柱底面,棱柱棱高,棱柱侧面,棱柱上底面,棱柱顶点,上底面边长" offSet="200,0,0|200,0,0|200,0,0|-200,0,0|200,0,0|200,0,0|200,0,0" showName="棱柱底面边长,棱柱底面,棱柱棱高,棱柱侧面,棱柱上底面,棱柱顶点,上底面边长" ></Action>
@ -36,14 +94,223 @@
</Action> </Action>
</Enter> </Enter>
<Exit>
<Action type="Sequence">
<Action type="Show" value="Main/A_SM_LengZhu" isShow="false" isDevice="false"></Action>
<Action type="Show" value="Main/A_SM_LengZhui" isShow="false" isDevice="false"></Action>
<Action type="Show" value="Main/A_SM_QiuTi" isShow="false" isDevice="false"></Action>
<Action type="Show" value="Main/A_SM_YuanZhu" isShow="false" isDevice="false"></Action>
<Action type="Show" value="Main/A_SM_YuanZhui" isShow="false" isDevice="false"></Action>
<Action type="Log" value="退出"></Action>
</Action>
</Exit>
</State>
<!--状态-->
<State name="棱柱">
<Enter>
<Action type="Sequence">
<Action type="Log" value="棱柱"></Action>
<Action type="Show" value="Main/A_SM_LengZhu" isShow="true" isDevice="false"></Action>
<!--<Action type="UIShow" value="UIGuideTip" isShow="true"></Action>-->
<Action type="UIGuideTip" targetName="棱柱底面边长,棱柱底面,棱柱棱高,棱柱侧面,棱柱上底面,棱柱顶点,上底面边长" offSet="200,0,0|200,0,0|200,0,0|-200,0,0|200,0,0|200,0,0|200,0,0" showName="棱柱底面边长,棱柱底面,棱柱棱高,棱柱侧面,棱柱上底面,棱柱顶点,上底面边长" ></Action>
<Action type="TextWindow" title="棱柱说明" value="四棱柱:有两个面互相平行,其余每相邻两个面的交线都互相平行的多面体叫作棱柱。
互相平行的两个面叫作棱柱的底面,位于棱柱上面,叫上底面。
上底面的边长叫做棱柱的上底面边长
互相平行的两个面叫作棱柱的底面,位于棱柱下面,叫底面。
底面的边长叫做棱柱的底面边长
棱柱其余各面叫作棱柱的侧面
相邻两个侧面的公共边叫作棱柱的侧棱
两个底面间的距离叫作棱柱的高
底面边长与侧棱汇交的点叫做棱柱的顶点。
" position="right" scrollSpeed="25"/>
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Show" value="Main/A_SM_LengZhu" isShow="false" isDevice="false"></Action>
<!--<Action type="UIShow" value="UIGuideTip" isShow="false"></Action>-->
</Action>
</Exit>
</State> </State>
<State name="棱锥">
<Enter>
<Action type="Sequence">
<Action type="Log" value="棱锥"></Action>
<Action type="Show" value="Main/A_SM_LengZhui" isShow="true" isDevice="false"></Action>
<!--<Action type="UIShow" value="UIGuideTip" isShow="true"></Action>-->
<Action type="UIGuideTip" targetName="棱锥高,棱锥侧面,棱锥底面" offSet="200,0,0|200,0,0|-200,0,0" showName="棱锥高,棱锥侧面,棱锥底面" ></Action>
<Action type="TextWindow" title="棱锥说明" value="棱锥:有一个面是多边形,其余各面都是三角形,并且这些三角形有一个公共顶点,这样的多
面体叫作棱锥.
底面:其中的多边形叫作棱锥的底面。
上底面的边长叫做棱柱的上底面边长
底面的边长叫做棱锥的底面边长 侧面:有公共顶点的三角形面叫作棱锥的侧面
相邻两个侧面的公共边叫作棱柱的侧棱
顶点到底面的距离叫作棱锥的高.
各侧面的公共顶点叫作棱锥的顶点
四棱锥是由一个四边形底面和四个三角形侧面折叠拼接组成的几何体。
" position="right" scrollSpeed="25"/>
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Show" value="Main/A_SM_LengZhui" isShow="false" isDevice="false"></Action>
<!--<Action type="UIShow" value="UIGuideTip" isShow="false"></Action>-->
</Action>
</Exit>
</State>
<State name="球体">
<Enter>
<Action type="Sequence">
<Action type="Log" value="球体"></Action>
<Action type="Show" value="Main/A_SM_QiuTi" isShow="true" isDevice="false"></Action>
<!--<Action type="UIShow" value="UIGuideTip" isShow="true"></Action>-->
<Action type="UIGuideTip" targetName="球体圆心,球体半径" offSet="200,0,0|200,0,0" showName="球体圆心,球体半径" ></Action>
<Action type="TextWindow" title="球说明" value="球:以半圆直径所在的直线为旋转轴旋转一周,所形成的曲面叫作球面,球面所围成的几何
体叫作球体,简称球.
半圆的圆心叫作球心
半圆的半径叫作球的半径
以半圆直径所在的直线为旋转轴旋转一周,所形成的曲面叫作球面,球面所围成的几何
体叫作球体,简称球。" position="right" scrollSpeed="25"/>
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Show" value="Main/A_SM_QiuTi" isShow="false" isDevice="false"></Action>
<!--<Action type="UIShow" value="UIGuideTip" isShow="false"></Action>-->
</Action>
</Exit>
</State>
<State name="圆柱">
<Enter>
<Action type="Sequence">
<Action type="Log" value="圆柱"></Action>
<Action type="Show" value="Main/A_SM_YuanZhu" isShow="true" isDevice="false"></Action>
<!--<Action type="UIShow" value="UIGuideTip" isShow="true"></Action>-->
<Action type="TextWindow" title="圆柱说明" value="圆柱:以矩形的一边所在直线为旋转轴,其余各边旋转形成的曲面(或平面)所围成的几何体
叫作圆柱
旋转轴叫作圆柱的轴
垂直于轴的边旋转形成的圆面叫作圆柱的底面
平行于轴的边旋转形成的曲面叫作圆柱的侧面
无论旋转到什么位置,这条边都叫作侧面的母线
两个底面间的距离叫作圆柱的高 " position="right" scrollSpeed="25"/>
<Action type="UIGuideTip" targetName="圆柱上底面,圆柱侧面,圆柱母线,圆柱底面" offSet="200,0,0|200,0,0|-200,0,0|200,0,0" showName="上底面,侧面,母线,底面" ></Action>
<Action type="Log" value="圆柱FINISH"></Action>
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Show" value="Main/A_SM_YuanZhu" isShow="false" isDevice="false"></Action>
<Action type="Log" value="圆柱结束???"></Action>
<!--<Action type="UIShow" value="UIGuideTip" isShow="false"></Action>-->
</Action>
</Exit>
</State>
<State name="圆锥">
<Enter>
<Action type="Sequence">
<Action type="Log" value="圆锥"></Action>
<Action type="Show" value="Main/A_SM_YuanZhui" isShow="true" isDevice="false"></Action>
<Action type="TextWindow" title="圆锥说明" value="圆锥:以直角三角形的一条直角边为旋转轴旋转一周,其余各边旋转而形成的曲面 ()
所围成的几何体叫作圆锥
旋转轴叫作圆锥的轴
另一条直角边旋转而形成的圆面叫作底
面.
斜边旋转而形成的曲面叫作侧面
无论旋转到什么位置,斜边都叫作侧面的母线
母线与轴的交点叫作顶点
顶点到底面的距离叫作圆锥的高. " position="right" scrollSpeed="25"/>
<Action type="UIGuideTip" targetName="圆锥底面,圆锥高" offSet="200,0,0|200,0,0|-200,0,0|200,0,0" showName="圆锥底面,圆锥高" ></Action>
<!--<Action type="UIShow" value="UIGuideTip" isShow="true"></Action>-->
</Action>
</Enter>
<Exit>
<Action type="Sequence">
<Action type="Show" value="Main/A_SM_YuanZhui" isShow="false" isDevice="false"></Action>
<!--<Action type="UIShow" value="UIGuideTip" isShow="false"></Action>-->
</Action>
</Exit>
</State>
<!--进入方式-->
<Transision from="any" to="棱柱">
<Condition type="UIClick" value="UIRoot/PopUI/UIBackPack/bg/Scroll/Viewport/Content/棱柱"></Condition>
</Transision>
<Transision from="any" to="棱锥">
<Condition type="UIClick" value="UIRoot/PopUI/UIBackPack/bg/Scroll/Viewport/Content/棱锥"></Condition>
</Transision>
<Transision from="any" to="球体">
<Condition type="UIClick" value="UIRoot/PopUI/UIBackPack/bg/Scroll/Viewport/Content/球体"></Condition>
</Transision>
<Transision from="any" to="圆柱">
<Condition type="UIClick" value="UIRoot/PopUI/UIBackPack/bg/Scroll/Viewport/Content/圆柱"></Condition>
</Transision>
<Transision from="any" to="圆锥">
<Condition type="UIClick" value="UIRoot/PopUI/UIBackPack/bg/Scroll/Viewport/Content/圆锥"></Condition>
</Transision>
</FSM> </FSM>
</Module> </Module>

View File

@ -269,9 +269,14 @@
</Action> </Action>
</PreLoad> </PreLoad>
<!--2DTip指引targetName目标物体名称。offSet指引偏移。showName文字组件显示名称-->
<Action type="UIGuideTip" targetName="上底面,侧面,母线,底面" offSet="0,0,0|0,0,0|0,0,0|0,0,0" showName="上底面,侧面,母线,底面" ></Action>
<Module>
<Module>
<!--场景名字--> <!--场景名字-->
<Scene>Scene</Scene> <Scene>Scene</Scene>
<!--Study学习模式 Exam实训模式 All都有--> <!--Study学习模式 Exam实训模式 All都有-->