PDA

View Full Version : Slider returns Number or String?


pbryd
08-02-2009, 11:59 AM
I have started a thread in the Actionscript 3 forum but think I should be asking my beginner questions here instead.

I have a basic slider component which give returns a number from 1 to 10.

A dynamic text field display the number on the stage.

I understand this number is a String because all attempts to multiple the returned variable results in NaN.

here's the sliders (http://tynesidegraphics.co.uk/slider/slider1.html)

variables are len and wid

defined at the start of the AS code as

var len:Number;
var wid:Number;


full code here...

stop();
//import slider classes;
import fl.controls.Slider;
import fl.events.SliderEvent;

var len:Number;
var wid:Number;

length_mc.addEventListener(SliderEvent.CHANGE, lengthChange);
width_mc.addEventListener(SliderEvent.CHANGE, widthChange);

function lengthChange(e:SliderEvent):void {
lengthTxt.text = e.target.value;
len = e.target.value;
trace(len);
}

function widthChange(e:SliderEvent):void {
widthTxt.text = e.target.value;
wid = e.target.value;
trace(wid);
}

Any help to multiply len*wid and get a number rather than NaN would be great.

Thanks.

Phil

pbryd
08-02-2009, 12:33 PM
Actually I've got half the answer, I've changed string to a number by altering the functions to..

function lengthChange(e:SliderEvent):void {
lengthTxt.text = e.target.value;
var lenN:Number = Number(lengthTxt.text);
trace (lenN);
}

function widthChange(e:SliderEvent):void {
widthTxt.text = e.target.value;
var widN:Number = Number(widthTxt.text);
trace(widN);
}

now i need a funtion to multiply lenN * widN and disply it in a dynamic text field calcTxt

pbryd
08-02-2009, 04:40 PM
Looks like I've sorted it. I'm pretty pleased with it so far.

Here's the calculator as it stands so far (http://tynesidegraphics.co.uk/slider/slider3.html)

and the code..

stop();
//import slider classes;
import fl.controls.Slider;
import fl.events.SliderEvent;

length_mc.addEventListener(SliderEvent.CHANGE, lengthChange);
width_mc.addEventListener(SliderEvent.CHANGE, widthChange);
stage.addEventListener(MouseEvent.MOUSE_MOVE, multip);

function lengthChange(e:SliderEvent):void
{
lengthTxt.text = e.target.value;
}

function widthChange(e:SliderEvent):void
{
widthTxt.text = e.target.value;
}

function multip(e:MouseEvent):void
{
var widN:Number = Number(widthTxt.text);
var lenN:Number = Number(lengthTxt.text);
calcTxt.text = (("the area is ") + (widN*lenN) + (" m/2"));
}