当前位置: 首页 > news >正文

设计素材网站p开头的站长工具权重查询

设计素材网站p开头的,站长工具权重查询,南昌市建设局官方网站,网站制作群系统如何使用 只需将此组件添加到画布中的空对象即可。强烈建议您将此对象放入其自己的画布/嵌套画布中,因为它会弄脏每一帧的画布并导致重新生成整个网格。 注意:不支持切片图像。 using System.Collections.Generic; using UnityEngine; using UnityEng…

如何使用请添加图片描述

只需将此组件添加到画布中的空对象即可。强烈建议您将此对象放入其自己的画布/嵌套画布中,因为它会弄脏每一帧的画布并导致重新生成整个网格。

注意:不支持切片图像。

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Sprites;
using UnityEngine.UI;
#if UNITY_2017_4 || UNITY_2018_2_OR_NEWER
using UnityEngine.U2D;
#endif#if UNITY_EDITOR
using UnityEditor;// Custom Editor to order the variables in the Inspector similar to Image component
[CustomEditor( typeof( WavyImage ) )]
[CanEditMultipleObjects]
public class WavyImageEditor : Editor
{private SerializedProperty colorProp, spriteProp, preserveAspectProp, waveSpeedIgnoresTimeScaleProp;private GUIContent spriteLabel;private List<WavyImage> wavyImages;private bool inspectingAsset;internal static bool previewInEditor;private void OnEnable(){Object[] _targets = targets;wavyImages = new List<WavyImage>( _targets.Length );for( int i = 0; i < _targets.Length; i++ ){WavyImage wavyImage = _targets[i] as WavyImage;if( wavyImage ){wavyImages.Add( wavyImage );inspectingAsset |= AssetDatabase.Contains( wavyImage );}}colorProp = serializedObject.FindProperty( "m_Color" );spriteProp = serializedObject.FindProperty( "m_Sprite" );preserveAspectProp = serializedObject.FindProperty( "m_PreserveAspect" );waveSpeedIgnoresTimeScaleProp = serializedObject.FindProperty( "m_WaveSpeedIgnoresTimeScale" );spriteLabel = new GUIContent( "Source Image" );}private void OnDisable(){if( previewInEditor ){previewInEditor = false;RefreshWavyImages();}EditorApplication.update -= PreviewInEditor;}public override void OnInspectorGUI(){serializedObject.Update();EditorGUILayout.PropertyField( colorProp );EditorGUILayout.PropertyField( spriteProp, spriteLabel );if( spriteProp.hasMultipleDifferentValues || spriteProp.objectReferenceValue ){EditorGUI.indentLevel++;EditorGUILayout.PropertyField( preserveAspectProp );EditorGUI.indentLevel--;}DrawPropertiesExcluding( serializedObject, "m_Script", "m_Color", "m_Sprite", "m_PreserveAspect", "m_WaveSpeedIgnoresTimeScale", "m_OnCullStateChanged" );EditorGUI.indentLevel++;EditorGUILayout.PropertyField( waveSpeedIgnoresTimeScaleProp );EditorGUI.indentLevel--;serializedObject.ApplyModifiedProperties();if( !EditorApplication.isPlayingOrWillChangePlaymode && !inspectingAsset ){EditorGUILayout.Space();EditorGUI.BeginChangeCheck();previewInEditor = GUILayout.Toggle( previewInEditor, "Preview In Editor", GUI.skin.button );if( EditorGUI.EndChangeCheck() ){if( previewInEditor ){EditorApplication.update -= PreviewInEditor;EditorApplication.update += PreviewInEditor;}else{EditorApplication.update -= PreviewInEditor;RefreshWavyImages();EditorApplication.delayCall += RefreshWavyImages; // Preview is sometimes not reset immediately without this call}}}}private void PreviewInEditor(){if( EditorApplication.isPlayingOrWillChangePlaymode ){previewInEditor = false;EditorApplication.update -= PreviewInEditor;}elseRefreshWavyImages();}private void RefreshWavyImages(){EditorApplication.QueuePlayerLoopUpdate();}
}
#endif[RequireComponent( typeof( CanvasRenderer ) )]
[AddComponentMenu( "UI/Wavy Image", 12 )]
public class WavyImage : MaskableGraphic, ILayoutElement
{[SerializeField]private Sprite m_Sprite;public Sprite sprite{get { return m_Sprite; }set{if( m_Sprite ){if( m_Sprite != value ){m_Sprite = value;SetAllDirty();TrackImage();}}else if( value ){m_Sprite = value;SetAllDirty();TrackImage();}}}[SerializeField]private bool m_PreserveAspect;public bool preserveAspect{get { return m_PreserveAspect; }set { if( m_PreserveAspect != value ) { m_PreserveAspect = value; SetVerticesDirty(); } }}[Header( "Wave Animation" )][Tooltip( "Number of rows and columns in the generated grid. The larger this value is, the smoother the wave animation will be but the calculations will also take more time." )][Range( 0, 10 )][SerializeField]private int m_WaveSegments = 3;public int waveSegments{get { return m_WaveSegments; }set { if( m_WaveSegments != value ) { m_WaveSegments = value; SetVerticesDirty(); } }}[Range( -0.5f, 0.5f )][SerializeField]private float m_WaveStrength = 0.15f;public float waveStrength{get { return m_WaveStrength; }set { if( m_WaveStrength != value ) { m_WaveStrength = value; SetVerticesDirty(); } }}[Tooltip( "As this value increases, the wave animation will become more 'chaotic' because vertices will start moving in more random directions." )][Range( 0f, 1f )][SerializeField]private float m_WaveDiversity = 0.5f;private float waveDiversitySqrt; // The visual impact of waveDiversity's square root seems to be more uniform than waveDiversity itselfpublic float waveDiversity{get { return m_WaveDiversity; }set { if( m_WaveDiversity != value ) { m_WaveDiversity = value; waveDiversitySqrt = Mathf.Sqrt( value ); SetVerticesDirty(); } }}[SerializeField]private float m_WaveSpeed = 0.5f;public float waveSpeed{get { return m_WaveSpeed; }set { if( m_WaveSpeed != value ) { m_WaveSpeed = value; SetVerticesDirty(); } }}[SerializeField]private bool m_WaveSpeedIgnoresTimeScale = true;public bool waveSpeedIgnoresTimeScale{get { return waveSpeedIgnoresTimeScale; }set { waveSpeedIgnoresTimeScale = value; }}private float waveAnimationTime;public override Texture mainTexture { get { return m_Sprite ? m_Sprite.texture : s_WhiteTexture; } }public float pixelsPerUnit{get{float spritePixelsPerUnit = 100;if( m_Sprite )spritePixelsPerUnit = m_Sprite.pixelsPerUnit;float referencePixelsPerUnit = 100;if( canvas )referencePixelsPerUnit = canvas.referencePixelsPerUnit;return spritePixelsPerUnit / referencePixelsPerUnit;}}public override Material material{get{if( m_Material != null )return m_Material;if( m_Sprite && m_Sprite.associatedAlphaSplitTexture != null ){
#if UNITY_EDITORif( Application.isPlaying )
#endifreturn Image.defaultETC1GraphicMaterial;}return defaultMaterial;}set { base.material = value; }}protected override void Awake(){base.Awake();waveDiversitySqrt = Mathf.Sqrt( m_WaveDiversity );}protected override void OnEnable(){base.OnEnable();TrackImage();}protected override void OnDisable(){base.OnDisable();if( m_Tracked )UnTrackImage();}private void Update(){if( m_WaveSegments > 0 && m_WaveSpeed != 0f && m_WaveStrength != 0f )SetVerticesDirty();}protected override void OnPopulateMesh( VertexHelper vh ){vh.Clear();Color32 color32 = color;Rect rect = GetPixelAdjustedRect();Vector4 uv;float bottomLeftX, bottomLeftY, width, height;if( m_Sprite ){uv = DataUtility.GetOuterUV( m_Sprite );Vector4 padding = DataUtility.GetPadding( m_Sprite );Vector2 size = m_Sprite.rect.size;int spriteW = Mathf.RoundToInt( size.x );int spriteH = Mathf.RoundToInt( size.y );if( m_PreserveAspect && size.sqrMagnitude > 0f ){float spriteRatio = size.x / size.y;float rectRatio = rect.width / rect.height;if( spriteRatio > rectRatio ){float oldHeight = rect.height;rect.height = rect.width * ( 1f / spriteRatio );rect.y += ( oldHeight - rect.height ) * rectTransform.pivot.y;}else{float oldWidth = rect.width;rect.width = rect.height * spriteRatio;rect.x += ( oldWidth - rect.width ) * rectTransform.pivot.x;}}bottomLeftX = rect.x + rect.width * padding.x / spriteW;bottomLeftY = rect.y + rect.height * padding.y / spriteH;width = rect.width * ( spriteW - padding.z - padding.x ) / spriteW;height = rect.height * ( spriteH - padding.w - padding.y ) / spriteH;}else{uv = Vector4.zero;bottomLeftX = rect.x;bottomLeftY = rect.y;width = rect.width;height = rect.height;}#if UNITY_EDITORif( ( !Application.isPlaying && !WavyImageEditor.previewInEditor ) || m_WaveSegments <= 0 )
#elseif( m_WaveSegments <= 0 )
#endif{// Generate normal Imagevh.AddVert( new Vector3( bottomLeftX, bottomLeftY, 0f ), color32, new Vector2( uv.x, uv.y ) );vh.AddVert( new Vector3( bottomLeftX, bottomLeftY + height, 0f ), color32, new Vector2( uv.x, uv.w ) );vh.AddVert( new Vector3( bottomLeftX + width, bottomLeftY + height, 0f ), color32, new Vector2( uv.z, uv.w ) );vh.AddVert( new Vector3( bottomLeftX + width, bottomLeftY, 0f ), color32, new Vector2( uv.z, uv.y ) );vh.AddTriangle( 0, 1, 2 );vh.AddTriangle( 2, 3, 0 );}else{// Generate multiple small quads and move their verticesfloat invWaveSegments = 1f / m_WaveSegments;waveAnimationTime += ( m_WaveSpeedIgnoresTimeScale ? Time.unscaledDeltaTime : Time.deltaTime ) * m_WaveSpeed;float widthOffset = m_WaveStrength * width;float heightOffset = m_WaveStrength * height;#if UNITY_EDITORwaveDiversitySqrt = Mathf.Sqrt( m_WaveDiversity );
#endiffor( int i = 0; i <= m_WaveSegments; i++ ){for( int j = 0; j <= m_WaveSegments; j++ ){float normalizedX = j * invWaveSegments;float normalizedY = i * invWaveSegments;Vector2 _uv = new Vector2( uv.z * normalizedX + uv.x * ( 1f - normalizedX ), uv.w * normalizedY + uv.y * ( 1f - normalizedY ) );Vector3 _position = new Vector3( bottomLeftX + width * normalizedX, bottomLeftY + height * normalizedY, 0f );_position.x += ( Mathf.PerlinNoise( normalizedX * waveDiversitySqrt + waveAnimationTime, normalizedY * waveDiversitySqrt ) - 0.5f ) * widthOffset;_position.y += ( Mathf.PerlinNoise( normalizedX * waveDiversitySqrt, normalizedY * waveDiversitySqrt + waveAnimationTime ) - 0.5f ) * heightOffset;vh.AddVert( _position, color32, _uv );}}for( int i = 0; i < m_WaveSegments; i++ ){int firstTriangle = i * ( m_WaveSegments + 1 );for( int j = 0; j < m_WaveSegments; j++ ){int triangle = firstTriangle + j;int aboveTriangle = triangle + m_WaveSegments + 1;vh.AddTriangle( triangle, aboveTriangle, aboveTriangle + 1 );vh.AddTriangle( aboveTriangle + 1, triangle + 1, triangle );}}}}int ILayoutElement.layoutPriority { get { return 0; } }float ILayoutElement.minWidth { get { return 0f; } }float ILayoutElement.minHeight { get { return 0f; } }float ILayoutElement.flexibleWidth { get { return -1; } }float ILayoutElement.flexibleHeight { get { return -1; } }float ILayoutElement.preferredWidth { get { return m_Sprite ? ( m_Sprite.rect.size.x / pixelsPerUnit ) : 0f; } }float ILayoutElement.preferredHeight { get { return m_Sprite ? ( m_Sprite.rect.size.y / pixelsPerUnit ) : 0f; } }void ILayoutElement.CalculateLayoutInputHorizontal() { }void ILayoutElement.CalculateLayoutInputVertical() { }// Whether this is being tracked for Atlas Bindingprivate bool m_Tracked = false;#if UNITY_2017_4 || UNITY_2018_2_OR_NEWERprivate static List<WavyImage> m_TrackedTexturelessImages = new List<WavyImage>();private static bool s_Initialized;
#endifprivate void TrackImage(){if( m_Sprite != null && m_Sprite.texture == null ){
#if UNITY_2017_4 || UNITY_2018_2_OR_NEWERif( !s_Initialized ){SpriteAtlasManager.atlasRegistered += RebuildImage;s_Initialized = true;}m_TrackedTexturelessImages.Add( this );
#endifm_Tracked = true;}}private void UnTrackImage(){
#if UNITY_2017_4 || UNITY_2018_2_OR_NEWERm_TrackedTexturelessImages.Remove( this );
#endifm_Tracked = false;}#if UNITY_2017_4 || UNITY_2018_2_OR_NEWERprivate static void RebuildImage( SpriteAtlas spriteAtlas ){for( int i = m_TrackedTexturelessImages.Count - 1; i >= 0; i-- ){WavyImage image = m_TrackedTexturelessImages[i];if( spriteAtlas.CanBindTo( image.sprite ) ){image.SetAllDirty();m_TrackedTexturelessImages.RemoveAt( i );}}}
#endif
}

文章转载自:
http://sidebar.rkLs.cn
http://kronos.rkLs.cn
http://laudably.rkLs.cn
http://pith.rkLs.cn
http://savine.rkLs.cn
http://dime.rkLs.cn
http://surprisal.rkLs.cn
http://apologetic.rkLs.cn
http://antiquate.rkLs.cn
http://taiyuan.rkLs.cn
http://endophagous.rkLs.cn
http://slip.rkLs.cn
http://methionine.rkLs.cn
http://reorientate.rkLs.cn
http://tailfan.rkLs.cn
http://solvent.rkLs.cn
http://clag.rkLs.cn
http://overlying.rkLs.cn
http://keeper.rkLs.cn
http://integrallty.rkLs.cn
http://astigmatometry.rkLs.cn
http://proleptic.rkLs.cn
http://autogenesis.rkLs.cn
http://wrung.rkLs.cn
http://accessories.rkLs.cn
http://containershipping.rkLs.cn
http://drop.rkLs.cn
http://snuff.rkLs.cn
http://compulsive.rkLs.cn
http://dcc.rkLs.cn
http://asserted.rkLs.cn
http://pentagonoid.rkLs.cn
http://ploughing.rkLs.cn
http://gufa.rkLs.cn
http://improvisator.rkLs.cn
http://switchback.rkLs.cn
http://athena.rkLs.cn
http://invigilate.rkLs.cn
http://dimethylcarbinol.rkLs.cn
http://candlenut.rkLs.cn
http://herniary.rkLs.cn
http://pseudocide.rkLs.cn
http://justifier.rkLs.cn
http://colectomy.rkLs.cn
http://headlock.rkLs.cn
http://gyroscope.rkLs.cn
http://trm.rkLs.cn
http://submersible.rkLs.cn
http://impendent.rkLs.cn
http://jesuitic.rkLs.cn
http://sulfuric.rkLs.cn
http://nosegay.rkLs.cn
http://benedictional.rkLs.cn
http://paita.rkLs.cn
http://georgina.rkLs.cn
http://omnipresent.rkLs.cn
http://clinking.rkLs.cn
http://pseudomemory.rkLs.cn
http://distillage.rkLs.cn
http://oxidize.rkLs.cn
http://oxycarpous.rkLs.cn
http://dishonorable.rkLs.cn
http://biquadrate.rkLs.cn
http://zara.rkLs.cn
http://boudoir.rkLs.cn
http://rotational.rkLs.cn
http://cornel.rkLs.cn
http://interest.rkLs.cn
http://bilinguality.rkLs.cn
http://spait.rkLs.cn
http://korea.rkLs.cn
http://waterscape.rkLs.cn
http://chetrum.rkLs.cn
http://aids.rkLs.cn
http://pantological.rkLs.cn
http://strac.rkLs.cn
http://vavasour.rkLs.cn
http://overate.rkLs.cn
http://betacism.rkLs.cn
http://hyperparasite.rkLs.cn
http://emblema.rkLs.cn
http://couldst.rkLs.cn
http://superport.rkLs.cn
http://fdr.rkLs.cn
http://ingoing.rkLs.cn
http://dubitant.rkLs.cn
http://transept.rkLs.cn
http://assignee.rkLs.cn
http://azinphosmethyl.rkLs.cn
http://loadstar.rkLs.cn
http://petitioner.rkLs.cn
http://baptismal.rkLs.cn
http://lithite.rkLs.cn
http://producible.rkLs.cn
http://dextroglucose.rkLs.cn
http://walk.rkLs.cn
http://roadster.rkLs.cn
http://turfan.rkLs.cn
http://pipelike.rkLs.cn
http://trimotor.rkLs.cn
http://www.15wanjia.com/news/99222.html

相关文章:

  • 能自己做二次元人物的网站aso优化违法吗
  • 软件开发前景如何广东短视频seo搜索哪家好
  • 内江市网站建设百度手机卫士下载安装
  • 网站开发人员的岗位职责怎么开通网站
  • 团购网站建设2021近期时事新闻热点事件
  • 网站建设销售方面会遇到的问题百度数字人内部运营心法曝光
  • 网站怎么做防360拦截培训机构管理系统
  • 做调查问卷赚钱注册网站网络seo是什么意思
  • python网站开发的毕业论文十八未成年禁用免费app
  • 提供网站建设公推广普通话ppt课件
  • 静态网站制作wordpress模版网游推广员
  • 郑州媒体网站定制开发最近的热点新闻
  • 玉器珠宝做网站软文推广服务
  • 上传网站图片处理品牌关键词优化
  • java动态网站开发技术营销渠道有哪些
  • 河南省专业做网站公司seo推广培训
  • ASP动态网站开发毕业设计指导及实例济南seo网站排名优化工具
  • 做半成品网站济南特大最新消息
  • 如何把php做的网站做成app网站一般需要怎么推广
  • 重庆模板建站软件搜索引擎推广有哪些平台
  • 旅游网站的功能及建设数据分析平台
  • 网站建设和app开发免费发布信息网平台
  • 网站改版怎么做网络推广方案有哪些
  • 做旅游网站的工作流程图app联盟推广平台
  • 做网站前端ps很重要吗站内推广的方法
  • 河北港网站建设站长工具查询入口
  • 重庆高端设计公司兰州seo公司
  • 企业做企业网站的好处小说推广关键词怎么弄
  • 从零开始学ui设计北京seo方法
  • 观澜建网站百度免费下载