рдПрдХрддрд╛ рдпреВрдЖрдИ рдореЗрдВ рдХрд╕реНрдЯрдо рдЖрдХрд╛рд░ рдмрдЯрди

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореБрдЭреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдЧреИрд░-рдорд╛рдирдХ рдлреЙрд░реНрдо рдХреЗ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдиреЗ рдореБрдЭреЗ рдХреБрдЫ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирд╛ рджрд┐рдпрд╛ред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдорд╛рдирдХ рдпреВрдЖрдИ рдмрдЯрди рдкрд╛рд░рджрд░реНрд╢реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рднреА рдХреНрд▓рд┐рдХ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИред рдЗрд╕реА рд╕рдордп, рдмрдЯрди рдШрдЯрдХ рдореЗрдВ рд╕реНрд╡рдпрдВ (рдирд┐рд░реАрдХреНрд╖рдХ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ) рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмрдЯрди рдХреЗ рдХреМрди рд╕реЗ рдХреНрд╖реЗрддреНрд░ рд╣реЛрд╡рд░ / рдХреНрд▓рд┐рдХ рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред


рдХреБрдЫ рд╕рдордп рдЗрдВрдЯрд░рдиреЗрдЯ рдФрд░ рдзреВрдореНрд░рдкрд╛рди рдкреНрд░рд▓реЗрдЦрди рдкрд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдпрд╛, рдЗрд╕ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рд╛рде:

(рдореИрдВ рддреБрд░рдВрдд рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдПрдХ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдг рдПрдХрддрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рд╣реИ , рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдЗрд╕рдХрд╛ рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд░рд╛рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ)

using UnityEngine; using UnityEngine.UI; public class ButtonClickMask : MonoBehaviour { [Range(0f, 1f)] //1 public float AlphaLevel = 1f; //2 private Image bt; //3 void Start() { bt = gameObject.GetComponent<Image>(); bt.alphaHitTestMinimumThreshold = AlphaLevel; //4 } } 

  1. рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛ рдЗрдВрд╕реНрдкреЗрдХреНрдЯрд░ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реНрд▓рд╛рдЗрдбрд░ рдХреЛ 0 рд╕реЗ 1 рддрдХ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред
  2. рдиреНрдпреВрдирддрдо рдЕрд▓реНрдлрд╛ рдЪреИрдирд▓ рдХрд╛ рдореВрд▓реНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд▓рд┐рдХ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реНрд╕рд░ рдХреЗ рдКрдкрд░ рдмрдирд╛рд╡рдЯ рдХрд╛ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  3. рдПрдХ рдмрдЯрди рдХреА рдЫрд╡рд┐ рдШрдЯрдХ (рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдмрдЯрди рдХреЗ рд╕рд╛рде рдирд╣реАрдВ)ред
  4. AlphaHitTestMinimumThreshold рдкреИрд░рд╛рдореАрдЯрд░ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╣реИ рдЬреЛ рдмрдирд╛рд╡рдЯ рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдХрд╛ рдиреНрдпреВрдирддрдо рд╕реНрддрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рджрдмрд╛рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд░ рд╕рдХреЗред

рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреИрдпрд╛рд░ рд╣реИред рдЕрдм рдмрдЯрди рдХреА рдмрдирд╛рд╡рдЯ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдХреЛрдб рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрдпрд╛рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрдирд╛рд╡рдЯ рдореЗрдВ рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВред



рдЕрдм рд╣рдо рд╡рд╛рдВрдЫрд┐рдд рдмрдЯрди рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ, рдЕрд▓реНрдлрд╛ рд╕реНрддрд░ рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдорд╛рди рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ - 1) ...



... рд╣рдо рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЦреБрд╢реА рдордирд╛рддреЗ рд╣реИрдВ рдХрд┐ рдмрдЯрди рдЕрдм рдкрд╛рд░рджрд░реНрд╢реА рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ!

Source: https://habr.com/ru/post/hi478734/


All Articles