- ベストアンサー
テキストフィールドからムービークリップの色を変える方法
- ActionScript3.0を使用して、テキストフィールドの色情報を取得し、それを利用してムービークリップの色を変える方法について教えてください。
- colBox2というテキストフィールドでRGB色情報を表示し、マウスを上げるとその場所の色情報を取得します。
- 取得した色情報を利用して、boardというムービークリップの色を変えるためにColorTransformとTransformを使用しますが、色が変わらない問題が発生しています。解決方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
そもそも 関数 mouseUp 内のスクリプトは なぜそんなにまわりくどいの(遠回りなの)でしょうか? 色を数値にして その数値を文字列にして その文字列を数値にして その数値を色にする そんな遠回りをせずに普通に 色を数値にして その数値を文字列にする また その数値を色にする で良いのではないでしょうか? ↓つまり↓ function mouseUp(evt:MouseEvent) { var pixelValue:uint = bmpData.getPixel(evt.stageX,evt.stageY); colBox2.text = pixelValue.toString(16);//取得したカラーを代入 colorTrans.color = pixelValue; trans.colorTransform = colorTrans; } あえてご質問のようにまわりくどくする場合は 次のように↓するとか, function mouseUp(evt:MouseEvent) { var pixelValue:uint = bmpData.getPixel(evt.stageX,evt.stageY); colBox2.text = pixelValue.toString(16);//取得したカラーを代入 colorTrans.color = uint("0x" + colBox2.text); trans.colorTransform = colorTrans; } または, 次のように↓するとか, function mouseUp(evt:MouseEvent) { var pixelValue:uint = bmpData.getPixel(evt.stageX,evt.stageY); colBox2.text = pixelValue.toString(16);//取得したカラーを代入 var color_num:uint = new uint("0x" + colBox2.text) colorTrans.color = color_num; trans.colorTransform = colorTrans; } ですかね。
お礼
返答有り難うございます。正にそのとおりですね。回りくどくしなくても素直に変換すればよかったです。うまくいきました。お礼申し上げます。