
お世話になります。
Flash CS5 ActionScript 3.0 で作成しております。
mybuttonというカスタムクラスを作成して、toggle=trueの時に、
selectedの状態がtrue,falseの時で、色を変えたいと思い
下記のソースを作りました。
しかしながら、下記のソースでは、
ステージにmybuttonを置く→(ソースではなく、画面上から)プロパティを選択してselected=trueにした場合、起動時に※(1)を通らずに、※(2)を通ってしまい
うまくいきません。
一度起動した後は、きちんとselected=true:(1) selected=false:(2)となり、意図した
動きとなります。
目的としては、(ソースではなく、画面上の)プロパティでselected=trueで起動した
場合に(1)を通るようにしたいのですがどうしたらよいでしょうか?
※ソースでselected=trueを書くのは×です。
すみませんがよろしくお願いします。
----------------myButton.as--------------------
package
{
import fl.controls.Button;
import fl.controls.*;
import flash.events.*;
import flash.geom.*;
import flash.text.*;
public class myButton extends Button
{
var color0 : ColorTransform = new ColorTransform;OFFの色
var colorON : ColorTransform = new ColorTransform(0,0,0,0.5,1,1,1,0);ONの色
//fontとサイズの変更
var buttonLabelFormat:TextFormat=new TextFormat();
//コンストラクタ
public function myButton()
{
buttonLabelFormat.font = "MSゴシック";
buttonLabelFormat.size =8;
addEventListener(Event.CHANGE,myButton_Change);
Change();
}
public function myButton_Change(e:Event):void{
Change();
}
public function Change():void{
if(selected)
{
transform.colorTransform = colorON;※(1)
}
else
{
transform.colorTransform = color0;※(2)
}
}
}
}
No.1ベストアンサー
- 回答日時:
コンストラクタ中にインスタンスメソッドを呼び出しているため、インスタンス未生成で空振りしている気がします。
loadイベントを定義して、インスタンス生成時に正しくメソッドを叩けばいいいかもしれません。
// コンストラクタ
// 常識的にはクラスおよびコンストラクタメソッドはPascalCase
public function MyButton(){
addEventListener('load', onLoadMC);
}
public function onLoadMC(){
addEventListener(Event.CHANGE,myButton_Change);
Change();
}
使っているマシンにFlashがインスコされてなくて試せていません。
外していたらごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VB.NET】別Formのボタンが押...
-
ウインドウハンドルとインスタ...
-
DataTableの件数を取得したい
-
VB6.0で、フォームから、別のフ...
-
画像を一定時間ごとに切り替え...
-
インスタンスとポインタ
-
変数に256文字以上のテキストを...
-
四乗根を英語で言うと・・・
-
UWSCのBTN関数について。
-
else if文の順序を変えることに...
-
別のアプリケーションのテキス...
-
漢字入力した値のカタカナ変換...
-
マウスオーバーで色が薄くなる...
-
VBAからPDFのテキストフィールド
-
POIでのテキストボックス作成に...
-
空白で入力フォームのボタンを...
-
当たり判定で一度だけ音をなら...
-
ムービー上の特定の座標上にマ...
-
ダブルクリックと2回クリックの...
-
FLASHで「かるた」を作りたいの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CreateDialogについて
-
flash MXのスクロールパネルに...
-
3つ以上のインスタンスの移動
-
ペンによる手書きの様に
-
VB6.0で、フォームから、別のフ...
-
CREATESTRUCT と GetWindowLong
-
_widthから数値を導き出したい
-
シューティングゲームの自機の...
-
前の質問が消えてしまいました
-
【ActionScript】コンボボック...
-
【VB.NET】別Formのボタンが押...
-
レイヤー内のすべてのMCのX...
-
C#で、コントロールの受け渡し...
-
フォームの生成と破棄
-
画像を一定時間ごとに切り替え...
-
ムービークリップ内に配置した...
-
外部swfが表示されません
-
Androidで共通のレイアウトを使...
-
Flash ActionScriptで変形点を...
-
チェックボックスの制御(onCli...
おすすめ情報