Powered by Movable Type 3.16Syndicate this site(XML)
< Soccer is very Life. | | ACTION : FLVPlayback >
2008.03.17

[SCRIPTACTION : Setting random Colors

配列に入れた色をランダムに適用しようとしたら
setRGBが上手く動かなかったので、原因を調べてたら
配列に入れた16進数が10進数になってしまうことに気づいた。
だからセットするときにまた16進数に戻してやらなあかん。面倒くせっ。

ちなみに配列に入れなければ、0x------のままでも大丈夫なんだよな。
というか配列に入れた時点で、オブジェクトのタイプが違うってことなのかな?
toStringで数に戻してるのかな?

function setMyColors(){
	//色相を選ぶ
	//1:赤、2:青、3:黄、4:緑
	var colorRange:Number = Math.floor(Math.random()*4);
	
	//色の各配列(パネル7以外)
	if(colorRange == 1){//赤
		var colorAry:Array = [0xCC0000,0xFF3333,0xDD9999,0xEE9966,0xDC3210,0xF93919,0xC56558];
	}else if(colorRange == 2){//青
		var colorAry:Array = [0xCC0000,0xFF3333,0xDD9999,0xEE9966,0xDC3210,0xF93919,0xC56558];
	}else if(colorRange == 3){//黄
		var colorAry:Array = [0xCC0000,0xFF3333,0xDD9999,0xEE9966,0xDC3210,0xF93919,0xC56558];
	}else if(colorRange == 4){//緑
		var colorAry:Array = [0xCC0000,0xFF3333,0xDD9999,0xEE9966,0xDC3210,0xF93919,0xC56558];
	}
	

//色をセットする(パネル7以外)
var colorsNum:Number = colorAry.length;
//
for(var i:Number=0; i<=colorsNum; i++){
//色を配置
this["panelC"+i].setColorName = colorAry.splice((Math.random()*colorAry.length),1);
//色オブジェクト設定
this["panelC"+i].colorObj = new Color(this["panelC"+i]);
this["panelC"+i].colorObj.setRGB(this["panelC"+i].setColorName.toString(16));
/*
//this["panelC"+i]._alpha = 0;
*/
}


//パネル7の色をセットする
if(colorRange == 1){
var colorObj7:Color = new Color(panelC7);
colorObj7.setRGB(0xFF0000);
//panelC7._alpha = 0;
}else if(colorRange == 2){
var colorObj7:Color = new Color(panelC7);
colorObj7.setRGB(0x0000FF);
//panelC7._alpha = 0;
}else if(colorRange == 3){
var colorObj7:Color = new Color(panelC7);
colorObj7.setRGB(0xFFCC00);
//panelC7._alpha = 0;
}else if(colorRange == 4){
var colorObj7:Color = new Color(panelC7);
colorObj7.setRGB(0x00FF00);
//panelC7._alpha = 0;
}

}

setMyColors();

Posted by inami at March 17, 2008 02:34 PM
CopyRight© ´MNGN.COM´. All Rights Reserved.