Дудник
27.08.2007, 16:11
Есть у меня вот такой state:
<mx:State name="zoom" basedOn="load">
<mx:SetProperty target="{bord}" name="x" value="{calcBordX()}"/>
<mx:SetProperty target="{bord}" name="y" value="{calcBordY()}"/>
<mx:SetEventHandler name="rollOver" handler="null"/>
<mx:SetEventHandler name="rollOut" handler="currentState = ''"/>
</mx:State>
И вот такие две функции:
public function calcBordX():Number {
var res:Number;
if (preview.contentWidth) res = -(preview.contentWidth-75)/2 else res = 0;
trace("preview.contentWidth: " + preview.contentWidth);
return res;
}
public function calcBordY():Number {
var res:Number;
if (preview.contentHeight) res = -(preview.contentHeight-75)/2 else res = 0;
trace("preview.contentHeight: " + preview.contentHeight);
return res;
}
Судя по трейсам вызов функции в value="{calcBordX()}" и в value="{calcBordY()}" не происходит.
В чем дело и как добиться динамического изменения свойства в том или ином стейте?
<mx:State name="zoom" basedOn="load">
<mx:SetProperty target="{bord}" name="x" value="{calcBordX()}"/>
<mx:SetProperty target="{bord}" name="y" value="{calcBordY()}"/>
<mx:SetEventHandler name="rollOver" handler="null"/>
<mx:SetEventHandler name="rollOut" handler="currentState = ''"/>
</mx:State>
И вот такие две функции:
public function calcBordX():Number {
var res:Number;
if (preview.contentWidth) res = -(preview.contentWidth-75)/2 else res = 0;
trace("preview.contentWidth: " + preview.contentWidth);
return res;
}
public function calcBordY():Number {
var res:Number;
if (preview.contentHeight) res = -(preview.contentHeight-75)/2 else res = 0;
trace("preview.contentHeight: " + preview.contentHeight);
return res;
}
Судя по трейсам вызов функции в value="{calcBordX()}" и в value="{calcBordY()}" не происходит.
В чем дело и как добиться динамического изменения свойства в том или ином стейте?