Non ho un tutorial completo per voi, ma qui sono i primi passi nella creazione di un componente hslider personalizzato . Spero che sia d'aiuto.
iniziare a guardare la pelle hslider che si compone di 2 parti, un pollice e una traccia:
<s:Button id="track" left="0" right="0" top="0" bottom="0" minWidth="33" width="100"
skinClass="spark.skins.spark.HSliderTrackSkin" />
<s:Button id="thumb" top="0" bottom="0" width="11" height="11"
skinClass="spark.skins.spark.HSliderThumbSkin" />
Ora, creare una nuova pelle, tranne dargli due pulsanti:
<s:Button id="track" left="0" right="0" top="0" bottom="0" minWidth="33" width="100"
skinClass="spark.skins.spark.HSliderTrackSkin" />
<s:Button id="thumb" top="0" bottom="0" width="11" height="11"
skinClass="spark.skins.spark.HSliderThumbSkin" />
<s:Button id="thumb2" top="0" bottom="0" width="11" height="11"
skinClass="spark.skins.spark.HSliderThumbSkin" />
Creare un nuovo componente che estenda HSlider e chiamarlo qualcosa come MultiButtonSlider. Sostituisci la funzione partAdded() e prendi un riferimento a thumb2 quando viene aggiunto.
override protected function partAdded(partName:String, instance:Object):void{
if(partName == "thumb2"){
thumb2 = instance as Button;
}
}
Spero che questo ti spinga nella giusta direzione. Non dimenticare di impostare MultiButtonSlider.skinClass = "YourNewSkin"
I prossimi passi sarebbero renderlo trascinabile e convertire il suo punto in un valore. Vedi la funzione HSlider.pointToValue().