2011-06-03 16 views
0

我有一個主要的mxml和2個AS類。在主要的mxml中,我有一個滑塊。我想要在AS類中獲取滑塊值,因爲我移動滑塊。flex動態改變函數之間的值

Main.MXML

import First; 
import Second; 
private var my:First; 
privaate var scd:Second; 
public var sd:Date; 

public function init():void { 
    my = new First(); 
    Canvas.addChild(my.getUIComponent()); 
} 

public function dateChange():Date { 
    startDate.selectedDate = new Date(slider.values[0]); 
    endDate.selectedDate = new Date(slider.values[1]); 
    sd = new Date(slider.values[0]); 
    scd.calsldr(sd); 
    return sd;     
} 

<mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="top"> 
<mx:Canvas id="Canvas" backgroundColor="#ffffff" height="600" width="100%" 
      horizontalScrollPolicy="off" verticalScrollPolicy="off"> 
</mx:Canvas> 
</mx:HBox> 
<flexlib:HSlider id="slider" width="100%" height="50" thumbCount="2"      lockRegionsWhileDragging="true" allowTrackClick="true" maintainProjectionCenter="true" 
       change="dateChange();" liveDragging="true" 
       thumbSkin="mx.skins.spark.SliderThumbSkin" 
       trackSkin="mx.skins.spark.SliderTrackSkin" 
       trackHighlightSkin="mx.skins.spark.SliderTrackHighlightSkin" /> 
<mx:HBox x="300" y="300" height="50"> 
<mx:Label text="Start Date :"/>  <mx:DateField id="startDate"/> 
<mx:Label text="End Date"/>  <mx:DateField id="endDate"/> 
</mx:HBox> 

我的第一個AS是first.AS 電話Second.AS

addChild(new Second(str) as Sprite); 

str是一個字符串值

我想使用滑塊值in Second.AS 我試過用這個:

public function calsldr(dat:Date):void { 
    trace(dat); 
} 

private function visualization():void{ } 

我可以從跟蹤(dat)....我的意思是日期的滑塊更改值。 如何在函數可視化中使用此更改值()

PLease help。

+0

嗯...你爲什麼不能打電話的可視化?我在這裏失蹤 – ethrbunny 2011-06-03 11:36:53

+1

您如何告訴我們您要完成的工作?因爲我看到了很多不好的做法,而且我有一種感覺,有一種非常簡單的方式來做您想做的事。 – 2011-06-03 13:48:52

+0

什麼是簡單的方法....我想動態地交換函數之間的值。 – user726629 2011-06-03 18:04:03

回答

0

@J_A_X 第二AS是:從calsldr:(日期STR)

public function Second(str:String){ 
    name = "Second"; } 
public function calsldr(dat:Date){ 
    trace(dat+"fu in maaka"); // As I change the slider the value is changed here } 
protected override function init():void 
    { 
     var ldr:URLLoader = new URLLoader(new URLRequest(url)); 
     _bar.loadURL(ldr, function():void { 
     var obj:Array = JSON.decode(ldr.data as String) as Array; 
     //Sorted the values based on 'str' 
    var data:Data = buildData(newarr); 
     visualize(data); 
     _bar = null; }); 
    } 
public function visualize(data:Data):void{ 
     // I want to get the dat values here when ever the slider moves 
}