FLASHの出力エラーについて
FLASHの出力エラーの原因がわかりません。
プレビューを押したとき
ArgumentError: Error #2004: パラメータの 1 つが無効です。
at flash.display::Graphics/drawRect()
at _fla::MainTimeline/xClick()
とでてしまいます。
詳しい方、ご教授お願い致します。
↓アクションスクリプトです
add_btn.addEventListener(MouseEvent.CLICK, xClick);
function xClick(evt) {
var num1:Number = Number(in1_txt.text);
var num2:Number = Number(in2_txt.text);
var h:Number;
if (num1 < 18) {
h = 60;
} else if ((num1 >= 18) && (num1 < 20)) {
h = 50;
} else if ((num1 >= 20) && (num1 < 23)){
h = 40;
}
var black:Number;
if (num1 < 18) {
black = (0xb0c4de);
} else if ((num1 >= 18) && (num1 < 20)) {
black = (0x8e9db2);
} else if ((num1 >= 20) && (num1 < 23)) {
black = (0x66707f);
} else if ((num1 >= 23) && (num1 < 26)) {
black = (0x232933);
} else if(num1 > 25) {
black = (0x232933);
}
var iro:Number;
if (num1 < 18) {
iro = 0.3;;
} else if ((num1 >= 18) && (num1 < 20)) {
iro = 0.4;
} else if ((num1 >= 20) && (num1 < 23)){
iro = 0.5;
}else if (num1 >50){
iro = 1.0;
}
var color:Number;
if ((num2 >= 18) && (num2 <=25)){
color = (Math.random() * 0xffffff);
} else if ( (num2 >=40) && (num2 <= 50)) {
color = (0x999966);
} else if(num1 > 50){
color = (0x996633);
} else {
color = (Math.random() * 0xffffff);
}
var k:Number;
if ((num1 >= 23) && (num1 < 25)) {
var mae:Shape=new Shape();
mae.graphics.beginFill(color);
mae.alpha = 0.5;
mae.graphics.drawRect(645 ,410, 310, 30);
mae.graphics.endFill();
addChild(mae);
for( y = 455 ; y <= 770 ; y = y + 255 ) {
var ye:Shape=new Shape();
ye.graphics.beginFill(black);
ye.graphics.drawRect(645 ,y, 310, 35);
ye.graphics.endFill();
addChild(ye);
}
for( y = 505 ; y <= 700 ; y = y + 55 ) {
var shima:Shape=new Shape();
shima.graphics.beginFill(color);
shima.alpha = 0.5;
shima.graphics.drawRect(645 ,y, 310, 28);
shima.graphics.endFill();
addChild(shima);
}
}
var m:Number;
if (num1 >= 25) {
var bod:Shape=new Shape();
bod.graphics.beginFill(color);
bod.alpha = 0.5;
bod.graphics.drawRect(645 ,410, 310, 10);
bod.graphics.drawRect(645 ,490, 310, 10);
bod.graphics.drawRect(645 ,660, 310, 20);
bod.graphics.drawRect(645 ,685, 310, 5);
bod.graphics.endFill();
addChild(bod);
for( y = 430 ; y <= 700 ; y = y + 265 ) {
var rec:Shape=new Shape();
rec.graphics.beginFill(black);
rec.graphics.drawRect(645 ,y, 310, 50);
rec.graphics.endFill();
addChild(rec);
}
for( y = 500 ; y <= 655 ; y = y + 40 ) {
var ran:Shape=new Shape();
ran.graphics.beginFill(color);
ran.alpha = 0.5;
ran.graphics.drawRect(645 ,y, 310, Math.random()*30);
ran.graphics.endFill();
addChild(ran);
}
}
お礼
(F-siteしかりのフォーラムで策を探しましたが) 確かに押されたときに関数を実行すればよい。 私の考えた方法は不適切でした。 用途に合わせてよりよいコーディングが出来るようにします。 今後は質問の仕方に気をつけます。 回答ありがとうございました。