| Name |
ポルカドット |
| Date |
2008年12月17日 (水) 19時01分 |
| Message |
始めまして。
最近アクションスクリプトに目覚め
日々習得に励んでいるところです。
さて,クリックすると色を変えたい
ということでこんなスクリプトを作りました。
適当なムービークリップを作り
ムービークリップアクションとして
onClipEvent(load){
color_num=0;
theColor=new Color(this);
}
onClipEvent(mouseUp){
if(this.hitTest(_root._xmouse,_root._ymouse,1)){
color_num++;
if(color_num==1){
theColor.setRGB(65280);
}if(color_num==2){
theColor.setRGB(5592405);
}if(color_num==3){
theColor.setRGB(4473924);
}if(color_num==4){
theColor.setRGB(209715);
}if(color_num>4){
color_num=0;
}
}trace(color_num);
trace(theColor.getRGB());
}
クリックするたびにcolor_numを1から4に変化させ,
それに合わせて色を変えたいのですが,
実行されたらお分かりになると思いますが
どうしても思い通りにいきません。
イメージとしては4色の色をクリックするたびに変えていく,という感じです。
color_num=0
のところを変えてもイメージ通りに動いてくれません。
現時点でどこをどのように変えればいいのかわかりません。
どうぞご教示ください。 |
Response
01
|
| 2008年12月17日
(水) 22時12分> joy
|
|
惜しかったですね。
以下で、試してみて、下さい。
//ここから
onClipEvent (load) {
color_num = 0;
theColor = new Color(this);
}
onClipEvent (mouseUp) {
if (this.hitTest(_root._xmouse, _root._ymouse, 1)) {
color_num++;
if (color_num == 1) {
theColor.setRGB(0x000000);//16進数で記載する
} else if (color_num == 2) {
theColor.setRGB(0x000080);
} else if (color_num == 3) {
theColor.setRGB(0xFF0000);
} else if (color_num == 4) {
theColor.setRGB(0xFFC0CB);
color_num=0;//4回押されたら、初期値の0に戻す
}
trace(color_num+" / "+theColor.getRGB().toString(16));//getRGBを、16進数へ変換する
}
}
//ここまで
となります。
|
|
Response
02
|
| 2008年12月18日
(木) 05時48分> ポルカドット |
|
joyさん
ありがとうございます!
惜しかったのですね。
なんだか嬉しかったです。
(間違っていましたけど)
試しましたら,思った通りになりました。
そこで基本的なことを一つお聞きしたいのですが
最初適当にムービークリップを作ってしまうと
読み込まれた瞬間(?)に表現される色と
その直後にクリックして1→2→3→0と変わるときに
読み込まれた瞬間の色と0の色が違うのですけど
これはムービークリップを作成するときに
0で表現される色で作成すればいいのでしょうか?
それかスクリプトで制御できるできるものでしょうか?
|
|
Response
03
|
| 2008年12月19日
(金) 00時17分> joy
|
|
以下で、ロード時の初期値の黒に、戻ってから、色変更が繰り返されます。
onClipEvent (load) {
color_num = 0;
theColor = new Color(this);
theColor.setRGB(0x000000);//初期値は、黒
}
onClipEvent (mouseUp) {
if (this.hitTest(_root._xmouse, _root._ymouse, 1)) {
color_num++;
if (color_num == 1) {
theColor.setRGB(0x1F00EF);//16進数で記載する
} else if (color_num == 2) {
theColor.setRGB(0x000080);
} else if (color_num == 3) {
theColor.setRGB(0xFF0000);
} else if (color_num == 4) {
theColor.setRGB(0xFFCCCB);
} else if (color_num == 5) {//5回クリックされたら、初期値の黒に戻し、
theColor.setRGB(0x000000);
color_num = 0;//5回押されたら、初期値の0に戻す
}
trace(color_num+" / "+theColor.getRGB().toString(16));//getRGBは、10進数なので、16進数の変換
}
}
|
|
Response
04
|
| 2008年12月19日
(金) 08時02分> ポルカドット |
|
joyさん
ありがとうございました!
スクリプトに試行錯誤していた時
load時に
カラー設定をしていたのですが,
どうしても思うようになりませんでした。
もちろんそれは私のスクリプトが間違っていたからでしたが・・・。
考え方としては
よかったんだなと思いました。
何度もありがとうございました!
これで,自分の作りたいものの完成へと
近づくことができました。
アクションスクリプトがとっても楽しいです。
本当にありがとうございました!
|
|