Double slider button (min/max)
Hello
I am working on a calculator project with sliders. Now 1 slider needs to have a double button with min and max. I have tried to use examples from others but i can not get it to work in the current script. I hope someone can help me.
This one needs to be double:
// skill slide
skillSb.addEventListener(Event.CHANGE,onSkilChange)
[code]import fl.controls.ComboBox
import fl.controls.Slider
import fl.controls.DataGrid
import fl.controls.dataGridClasses.DataGridColumn
import fl.data.DataProvider
///////////////////////////
var levelArray:Array=new Array("disastrous","wretched","poor","weak","inadequate","passable","solid","excellent","formidable","outstanding","brilliant","magnificent","worldclass","supernatural","titanic","extra-terrestrial","mythical","magical","utopian","divine")
var trainingArray:Array=new Array("Goalkeeping","Defending","Defensive Positions","Crossing","WingAttack","Playmaking","Scoring","Shooting","Short Passes","Through Passes","Set Pieces")
var trainingBase:Array=new Array(3.0206,5.4824,10.9648,3.2341,5.3902,4.6613,4.8536,8.0893,4.2989,5.0575,0.9938)
// years slide
yearsSb.addEventListener(Event.CHANGE,onYearsChange)
// days slide
daysSb.addEventListener(Event.CHANGE,onDaysChange)
// skill slide
skillSb.addEventListener(Event.CHANGE,onSkilChange)
// sublevel slide
subSb.addEventListener(Event.CHANGE,onSubChange);
// coach slide
coachSb.addEventListener(Event.CHANGE,onCoachChange)
// assistans slide
assSb.addEventListener(Event.CHANGE,onAssChange)
// intensity slide
intensitySb.addEventListener(Event.CHANGE,onIntensityChange)
// stamina slide
staminaSb.addEventListener(Event.CHANGE,onStaminaChange)
for (var i=0;i<trainingArray.length;i++){
trainingCb.addItem({label:trainingArray, data:trainingBase})
}
trainingCb.addEventListener(Event.CHANGE,changeEvent)
trainingCb.selectedIndex=0
// datagrid
//dg.columns = ["Week", "Skill", "Length", "Age" ];
var weekCol:DataGridColumn=new DataGridColumn()
weekCol.dataField="Week"
weekCol.sortOptions = Array.NUMERIC;
weekCol.width=50
dg.addColumn(weekCol)
var skillCol:DataGridColumn=new DataGridColumn()
skillCol.dataField="Skill"
skillCol.width=150
skillCol.sortOptions = Array.NUMERIC;
dg.addColumn(skillCol)
var lengthCol:DataGridColumn=new DataGridColumn()
lengthCol.dataField="Length"
lengthCol.width=75
dg.addColumn(lengthCol)
var ageCol:DataGridColumn=new DataGridColumn()
ageCol.dataField="Age"
ageCol.width=75
dg.addColumn(ageCol)
// variables
var years:Number
var days:Number
var yearsFactor:Number
var level:Number
var subLevel:Number
var levelFactor:Number
var trainingFactor:Number
var coachFactor:Number
var assistentsFactor:Number
var intensity:Number
var stamina:Number
var weeks:Number
var skillUp:Number
var baseLevel:Number
var newLevel:Number
// initialise graph mc
var graphMc:MovieClip=new MovieClip()
graphMc.x=80
graphMc.y=680
for(i=0;i<levelArray.length;i++){
var skilLab:skillLabel=new skillLabel()
skilLab.txt.text=levelArray
skilLab.name="sl"+i
skilLab.x=30
var graphPoint:point=new point()
graphPoint.name="gp"+i
graphMc.addChild(skilLab)
graphMc.addChild(graphPoint)
}
addChild(graphMc)
// events
function onYearsChange(e){
yearsVal.text=yearsSb.value.toString()
calc()
}
function onDaysChange(e){
daysVal.text=daysSb.value.toString()
calc()
}
function onSkilChange(e){
skillVal.text=levelArray[skillSb.value-1]
calc()
}
function onSubChange(e){
subVal.text=((subSb.value)/10).toString()
calc()
}
function onCoachChange(e){
coachVal.text=levelArray[coachSb.value-1]
calc()
}
function onAssChange(e){
assVal.text=assSb.value.toString()
calc()
}
function onIntensityChange(e){
intensityVal.text=intensitySb.value.toString()
calc()
}
function onStaminaChange(e){
staminaVal.text=staminaSb.value.toString()
calc()
}
function changeEvent(e){
calc()
}
calc()
function calc(){
years=yearsSb.value
days=daysSb.value
level=skillSb.value
subLevel=subSb.value/10
yearsFactor=Math.pow(1.0404,years+days/112-17)
levelFactor=-1.4595*Math.pow((level+subLevel)/20,2)+3.7535*(level+subLevel)/20-0.1349
trainingFactor=trainingBase[trainingCb.selectedIndex]
coachFactor=1+(7-Math.min(coachSb.value,7.5))*0.091
assistentsFactor=1+(1.041392685-(Math.log(assSb.value+1))*Math.LOG10E)*0.2749
intensity=1/(intensitySb.value/100)
stamina=1/(1-staminaSb.value/100)
weeks=yearsFactor*levelFactor*trainingFactor*coachFactor*assistentsFactor*intensity*stamina
weeks=Math.max(weeks,1)
skillUp=1/weeks
baseLevel=level+subLevel
newLevel=baseLevel
var dosta:Boolean=false
var weeksNo:Number=0
var weeksCount:Number=0
var dp:DataProvider=new DataProvider()
while(!dosta){
weeksNo++
weeksCount++
days+=7
if(days>111){
years++
days=days-112
}
reCalc()
newLevel+=skillUp
if((newLevel-level)>=1){
dp.addItem({ Week: weeksNo, Skill: (Math.floor(newLevel))+"-"+levelArray[Math.floor(newLevel)-1], Length:weeksCount+" weeks", Age:years+"y "+days+"d" })
level++
weeksCount=0
}
if(newLevel>=20 || years>=31){
dosta=true
}
}
dg.dataProvider=dp
drawGraph(dp)
}
function reCalc(){
yearsFactor=Math.pow(1.0404,years+days/112-17)
levelFactor=-1.4595*Math.pow(newLevel/20,2)+3.7535*newLevel/20-0.1349
weeks=yearsFactor*levelFactor*trainingFactor*coachFactor*assistentsFactor*intensity*stamina
weeks=Math.max(weeks,1)
skillUp=1/weeks
}
function drawGraph(dp){
if(dp.length>0){
var lastRow=dp.getItemAt(dp.length-1)
var weekNo:Number=parseInt(lastRow.Week)
var topSkill:Number=parseInt(lastRow.Skill)
var firstRow=dp.getItemAt(0)
var baseSkill:Number=parseInt(firstRow.Skill)-1
var skillH=300/(topSkill-baseSkill)
var weekW=450/weekNo
graphMc.graphics.clear()
// draw greed
graphMc.graphics.lineStyle(2,0xffffff)
graphMc.graphics.moveTo(50,0)
graphMc.graphics.lineTo(50,300)
graphMc.graphics.lineTo(500,300)
graphMc.graphics.lineStyle(1,0xcccccc)
for (i=0;i<weekNo+1;i++){
graphMc.graphics.moveTo(50+(450/weekNo)*i,0)
graphMc.graphics.lineTo(50+(450/weekNo)*i,300)
}
for (i=baseSkill;i<=topSkill;i++){
graphMc.graphics.moveTo(50,300+baseSkill*skillH-skillH*i)
graphMc.graphics.lineTo(500,300+baseSkill*skillH-skillH*i)
}
// draw line
graphMc.graphics.lineStyle(2,0xff0000)
graphMc.graphics.moveTo(50,300)
for(i=0;i<dp.length;i++){
var r=dp.getItemAt(i)
var s=parseInt(r.Skill)
var w=parseInt(r.Week)
graphMc.graphics.lineTo(50+w*weekW,300+baseSkill*skillH-s*skillH)
}
for(i=0;i<levelArray.length;i++){
var sl=graphMc.getChildByName("sl"+i)
sl.y=300-skillH*(i-baseSkill+1)
if(sl.y<0 || sl.y>300){
sl.visible=false
}else{
sl.visible=true
}
var gp=graphMc.getChildByName("gp"+i)
if(i<baseSkill || i>=topSkill){
gp.visible=false
}else{
r=dp.getItemAt(i-baseSkill)
s=parseInt(r.Skill)
w=parseInt(r.Week)
gp.visible=true
gp.txt.text=r.Age
gp.txtW.text=r.Week+" w"
gp.y=300-skillH*(i-baseSkill+1)
gp.x=50+w*weekW
}
}
}
}
/* Click to Go to Scene and Play
*/
Home.addEventListener(MouseEvent.CLICK, fl_ClickToGoToScene);
function fl_ClickToGoToScene(event:MouseEvent):void
{
removeChild(graphMc);
//remove graphMc listeners, if there are any
graphMc=null;
MovieClip(this.root).gotoAndPlay(1, "Scene 1");
}
stop();
[/code]
