読者です 読者をやめる 読者になる 読者になる

【ActionScriptというよりFlex】rollOver rollOut

imageをrollOverで文字を表示させたり、rollOutでサイズを変えるコードはこれでいいらしい。
Stateの終了タグのすぐ上にSetEventHandlerの、nameを自分のさせたい動き(rollOutなど)にしてやればいいみたい。
rollOverはimageタグの中に、rollOver="currentState = 'bookDetails'"で、bookDetailsというstateを呼び出している。

ここで、注意しなければならないのは、SetEventHandlerでrollOverは出来ないという事。

何故なら、stateが起動された時に、state内のSetEventHandlerが動くと言うことは、state内にrolloverを記述しても、stateが起動しないわけであるから、rollover出来ない。
imageタグにrolloverを記述すれば、それが起爆剤となって、stateを呼び出し始めるので、SetEventHandlerが動き出す。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:states>
		<mx:State name="bookDetails">
			<mx:AddChild position="lastChild">
				<mx:Text width="380" x="110" y="275" fontWeight="bold" text="aaaaeeee-"/>		
			</mx:AddChild>
			<mx:AddChild position="lastChild">
				<mx:Text width="135" fontWeight="bold" text="ISBN: 1677788888998887" x="236" y="380"/>
			</mx:AddChild>
				<mx:SetEventHandler name="rollOut" target="{jacobsBook}" handler="currentState = ''"/>
				<mx:SetProperty target="{jacobsBook}" name="scaleX" value="0.5"/>
				<mx:SetProperty target="{jacobsBook}" name="scaleY" value="0.5"/>
		</mx:State>
	</mx:states>
	<mx:Image id = "jacobsBook" x="180" y="25" source="assets/jacobs.jpg" rollOver="currentState = 'bookDetails'"/>	
</mx:Application>


本に書いてある部分だと、

				<mx:SetEventHandler name="rollOut" target="{jacobsBook}" handler="currentState = ''"/>
				<mx:SetProperty target="{jacobsBook}" name="scalex" value="0.5"/>
				<mx:SetProperty target="{jacobsBook}" name="scaley" value="0.5"/>

のように、name="scalex"などと、xとyが小文字になっているのですが、それではエラーが出てしまいます。
また、value=".50"となっていたのですが、これは大丈夫なようです。