actionscript2.0でMCの切り替えなど
Flash初心者で勉強中の身なのですがどうか質問させてください。
根本的に間違っていたりできないことをやろうとしていたら申し訳ないです。。
その際にはこう改変した方がいいとのご指示をご教示頂きたいです。よろしくお願いいたします。
attachMovieを使ってライブラリ内のMCをステージに呼び出し、そのMCを押す度にそのMCを切り替えたいと考えています。
ライブラリにはa1,a2,,,a5、b1,b2,,,,b5,c1,d1,e1…という識別子をつけたMCを用意しています。
a-eの横幅は80×80です。
20ずつ間を空けて○1のMCを横一列に配置しました。
_root.attachMovie("a1", "a1",1, {_x: 100, _y: 100});
_root.attachMovie("b1", "b1",1, {_x: 200, _y: 100});
_root.attachMovie("c1", "c1",1, {_x: 300, _y: 100});
_root.attachMovie("d1", "d1",1, {_x: 400, _y: 100});
_root.attachMovie("e1", "e1",1, {_x: 500, _y: 100});
このMCを押すと、MCが数字の大きいものに切り替わる(b1を押すとb2のMCに…で5まで)ようにしたいので、
ひとつひとつを下記のscriptで記述しました。
_root.attachMovie("b1", "b1",1, {_x: 200, _y: 100});
b1.onPress=function(){
b1.removeMovieClip();
_root.attachMovie("b2", "b2",1, {_x: 200, _y: 100});
b2.onPress=function(){
b2.removeMovieClip();
_root.attachMovie("b3", "b3",1, {_x: 200, _y: 100});
b3.onPress=function(){
b3.removeMovieClip();
_root.attachMovie("b4", "b4",1, {_x: 200, _y: 100});
b4.onPress=function(){
b4.removeMovieClip();
_root.attachMovie("b5", "b5",1, {_x: 200, _y: 100});}}}}
これをa-e同じことを繰り返しています。
ここからが問題なのですが、
ここで例えば a2,b5,c1,d3,e1 という風に適当に押されてMCが切り替わり、整列させるボタンが押された時、
その数字を参照して 縦に20pxずつ空けながら
b5
(空行/4があった場合の行)
d3
a2
c1(20pxの空白)e1
と並べ替えたいと思っています。
つまり、a-eが現在どの数字(○1,○2..)なのかを調べ、その数字の若い方から順に縦に配置させたいと考えています。
また、上のc1,e1のように1の数字のMCが2つ以上あった場合は、同じ行に20pxずつ空けて横に配置していきたいのです。
その調べた数字の順に縦と横に並べ替える(新たにステージ上に配置し直す)というルール付けをどういうscriptを書けば上手く行くかが自分ではどうにも分からず、ここから進めない状態です。。
誰がどんな回数押したとしてもそれに準じた整列をして欲しいのですが、そのやり方があるようでしたらどうかご教示頂きたいです。
また、上記の私の書き方では難しいようでしたらそこから改変したものをお教え願いたいです。
分からないことばかりで申し訳ないのですが、何卒よろしくお願いいたします。
お礼
はじめから新規で作ると、動作しました。 ありがとうございました。
補足
_root.back_mc.onPress = function() { _root.back_mc._x = _root.back_mc._x-50; }; this.onPress = function() { this._x = this._x-50; }; 上の2つでも動きませんでした。よろしくお願いします。