Merhabalar,

Unity‘nin Slider’larında yuvarlak kenarlara sahip bir 9-sliced sprite kullanmayı denediyseniz, slider’ın Value’su çok ufakken bu sprite’ın scale olduğunu ve bu esnada çirkin durduğunu fark etmişsinizdir. Eğer keşke 9-sliced bir sprite’ı Image‘ın Fill moduyla kullanabilsek dediyseniz, yazdığım script işinize yarayacaktır:

Yapmanız gereken, projenizde SlicedFilledImage adında yeni bir C# script oluşturmak ve script’in içeriğini şuradaki kodla değiştirmek: https://gist.github.com/yasirkula/391fa12bc173acdf5ac48c466f180708

Ardından Canvas‘ınızdaki içi boş bir GameObject’e Sliced Filled Image component’ini eklemeniz yeterli. Slider’ın doluluk oranını değiştirmek için, component’in fillAmount değişkenine [0, 1] aralığında bir değer verebilirsiniz.

Sonraki derste görüşmek üzere!


8 yanıt

  1. Samet Avatar

    Radial fill methodlar için de support olsa tadından yenmez 🙂

    1. yasirkula Avatar

      Radial’a uygulamak baya külfetli gelmişti o yüzden yapmamıştım. Muhtemelen bu özelliği ben ekleyemeyeceğim.

  2. Yagız Avatar
    Yagız

    köşeleri olmayan bir objede nasıl yapacağız sliced de sıkıntısız fill image ım filled yapınca köşeleri mahvediyor

    1. yasirkula Avatar

      9-slice için köşelerin olması gerekiyor. Eğer resim slice edilmemişse normal Image kullanıp onu Fill yapsanız olmaz mı? Ben sorunuzu yanlış anlamış da olabilirim.

  3. Oğuzhan Avatar
    Oğuzhan

    Yasir hocam,
    https://forum.unity.com/threads/sliced-and-filled-image-type-at-the-same-time.480097/#post-5509597
    Sizi bu konuda gördüm.Diğer mesajlardaki önerileri denerken sizin postunuzu görünce ufak bir gülümseme hali oldu. Bilginizi ve tecrübenizi yine konuşturmuşsunuz, harikasınız…

    1. yasirkula Avatar

      Siz de aynı şekilde, teşekkür ederim 😀

  4. MT Avatar

    Hocam önde ve arkada iki resim olsa. Öndekinin ortası şeffaf, arkadaki Fill olsa nasıl olur?
    https://hizliresim.com/Scc9OG

    1. yasirkula Avatar

      Olur ama öndeki resmin köşeleri koyu gri olduğu için, bu slider’ı aynı koyu gri renkte bir Image üzerine yerleştirmezseniz kötü görünecek. Arkaplanın rengini her değiştirmek istediğinizde öndeki resmin köşelerinin rengini de değiştirmek zorunda kalacaksınız.