2016-03-20 20 views
0

Bir TextButton'um var ve bunu devre dışı bırakmak istiyorum. Varsayılan kaplama kullanıyorum.Bir Aktör için görünümün devre dışı bırakılması nasıl ayarlanır

  • setDisabled şey
  • setTouchable(Touchable.disabled) eser yapar ama

Ben uiskin.json dosyasını kontrol görünümüyle hiçbir şey yapmaz ama sadece yaklaşık up ve down durumlarını ve hiçbir şey tanımlar:

Ben öğrendik devre dışı durum:

com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: { 
    default: { down: default-round-down, up: default-round, font: default-font, fontColor: white }, 
    toggle: { down: default-round-down, up: default-round, checked: default-round-down, font: default-font, fontColor: white, downFontColor: red } 
}, 

Ne yapmalıyım? Yeni bir stil oluştur ve onu devre dışı bıraktığımda düğmeyi uygulayın. Yoksa kullanmam gereken yerleşik bir durum var mı?

cevap

2

Yeni bir stil oluşturun veya varolanlarınızdan birine ekleyin. disabled adlı bir arka plan çizilebilir ve disabledFontColor ile bir yazı tipi rengi tanımlayabilirsiniz. Bunlardan birini stilinizden çıkardığınızda, o eleman setDisabled'u aradığınızda değişmez.

+0

Bu isimler zorunlu mu? Neden varsayılan cilt dosyasına bir stil koymadılar? – Nestor

+0

İsteğe bağlılar, bir istisna oluşturmadan bunları dışarıda bırakabilirsiniz. "Varsayılan" stili gerçekten varsayılan değil, değil mi? Projenize kopyalayıp yapıştırmanız gerekiyor. Tam bir ten olmaktan çok uzaktır. Ondan bir sürü şey eksik. – Tenfour04

+0

Belli bir widget'ın stili için neleri yapılandırabileceğinizi öğrenmek isterseniz o stildeki Javadoc sayfasına veya kaynak koduna bakın. – Tenfour04

0
  • setDisabled

Görünümde ani bir değişiklik fark etmemenizin nedeni, skin.JSON dosyasındaki veya program aracılığıyla devre dışı bırakılmış düğmenin durumunu yapılandırmamış olmanızdır.

Cobolfoo, libGDX ile kullanmanız için bir cilt editörü oluşturdu. Son işlem 2 yıl önceydi, ancak o zamandan beri hiçbir şey değişmedi ve cilt editörü kusursuz bir şekilde çalışmalı.

Skin-Editor on github

ben çok dolayısıyla imo sadece zaman kaybıdır cilt dosyaları ile işe yaramaz, bakmak almaya öneriyoruz.

+0

Yalnızca "setDisabled" kullanılırsa, click olayı hala tetiklenir, dolayısıyla setTouchable işlevini kullanmam gerekiyordu. – Nestor

İlgili konular