D0812022 自動スクロールメニューで縦にスライダーを移動させたい
Name みき
Date 2008年12月02日 (火) 10時59分
Message 憲ちゃん、みなさんはじめまして。いつも勉強させていただいております。

今回、No656No875「自動スクロールメニュー」を参考にさせていただき、
縦にメニューが配置されているFLASHを作成しております。

画像が左に1枚移動したら、スライダーが1つ下に移動するよう設定したのですが
4枚目のムービーが表示されたあと、ローディングのままになってしまい、右に配置したボタンも効かなくなってしまいました。

初歩的な質問で大変申し訳ございませんが、ご教授いただけましたら幸いです。
よろしくお願いいたします。


以下スライダーに記述したスクリプトです(下に38px移動するよう設定しました)

onClipEvent (load) {
Sec = 5;
Speed = 20;
Over = false;
_parent.screen._alpha = 0;
this._y = oldNum = num = cnt = 0;
}
onClipEvent (enterFrame) {
if (Over) {
cnt = 0;
} else {
cnt++;
if (cnt > Sec*24) {
cnt = 0;
oldNum = num;
num++;
if (num > 3) {
num = 0;
}
}
}
if (oldNum < num ) {
spd = Speed;
} else {
spd = -Speed;
}
if (this._y != num*38) {
Check = false;
_parent.screen._alpha += (30-_parent.screen._alpha)/4;
this._y += 38;
_parent.mc._x -= 400;
} else {
Check = true;
_parent.screen._alpha -= _parent.screen._alpha/4;
}
}
Response 01
2008年12月04日 (木) 22時16分> tashiro 
こんばんは。
■ボタンでも選択できる自動スクロールメニュー
細かい解説はここを読んでいただくとして、
下記のように変えると良いと思います。

onClipEvent (load) {
Sec = 5;
Speed = 19;//38を割り切れる値にする
Over = false;
_parent.screen._alpha = 0;
this._x = oldNum=num=cnt=0;
}
onClipEvent (enterFrame) {
if (Over) {
cnt = 0;
} else {
cnt++;
if (cnt>Sec*24) {
cnt = 0;
oldNum = num;
num++;
if (num>3) {
num = 0;
}
}
}
if (oldNumBR>spd = Speed;
} else {
spd = -Speed;
}
if (this._y != num*38) {
Check = false;
_parent.screen._alpha += (30-_parent.screen._alpha)/4;
this._y += spd;//変更
_parent.mc._x -= spd*400/38;//変更
} else {
Check = true;
_parent.screen._alpha -= _parent.screen._alpha/4;
}
}
Response 02
2008年12月08日 (月) 17時12分> みき 
tashiroさん ありがとうございます。
こちら↓で出来ました!

onClipEvent (load) {
Sec = 5;
Speed = 19;//38を割り切れる値にする
Over = false;
_parent.screen._alpha = 0;
this._y = oldNum=num=cnt=0;
}
onClipEvent (enterFrame) {
if (Over) {
cnt = 0;
} else {
cnt++;
if (cnt>Sec*24) {
cnt = 0;
oldNum = num;
num++;
if (num>3) {
num = 0;
}
}
}
if (oldNum < num ) {
spd = Speed;
} else {
spd = -Speed;
}
if (this._y != num*38) {
Check = false;
_parent.screen._alpha += (30-_parent.screen._alpha)/4;
this._y += spd;//変更
_parent.mc._x -= spd*400/38;//変更
} else {
Check = true;
_parent.screen._alpha -= _parent.screen._alpha/4;
}
}

このページの先頭へ