ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Flashコミュの(質問)ActionScript move()の設定

  • mixiチェック
  • このエントリーをはてなブックマークに追加
今自分のポートフォリオを作るためFLASHを使ったホームページを色んな参考書片手に作成しているんですが、どうしても解決しないので力を借りたいと思います。

画像のようなMenuを作っていて各Menuを選ぶと白い枠が移動するという物を作ろうとしています。

白い枠のMCには
onClipEvent (load) {
xPoint = [0, 118, 0, 118];
yPoint = [0, 0, 40, 40];
a = 0;
function move(x) {
a = x;
}
}
onClipEvent (enterFrame) {
this._x += (xPoint[a]-this._x)/5;
this._y += (yPoint[a]-this._y)/5;
}

を埋め込み
各フレームごとに

navi_frame.move();

を入れmoveの()のなかに0〜5を入れてます。
しかし0~3は正常に動くのですが、
4、5が上手くいきません。
photo と contactに移動するためにはどのように記述したら出来るでしょうか?
わかりにくかったらすいません。

ちなみに使っているのはCS4です。

コメント(3)

xPointとyPointのなかの数字が0〜3までの座標しか入っていないので、4,5は動きません。
例えば move();の中に入れる数字4と5の座標がそれぞれx=45 y=45、x=50 y=50であれば

xPoint = [0,118,0,118,45,50];
yPoint = [0, 0, 40, 40,45,50]

としてください。;
xPoint = [0, 118, 0, 118];
yPoint = [0, 0, 40, 40];

これだと
配列 xPoint にも 配列 yPoint にもそれぞれ
0〜3 までの要素しか入っていません。

xPoint = [0, 118, 0, 118];

これ↑をバラして丁寧に書くと,
次↓のようになります。

//配列 xPoint を作成
xPoint = new Array();
//配列 xPoint の 要素0 に 0 を代入
xPoint[0] = 0;
//配列 xPoint の 要素1 に 118 を代入
xPoint[1] = 118;
//配列 xPoint の 要素2 に 0 を代入
xPoint[2] = 0;
//配列 xPoint の 要素3 に 118 を代入
xPoint[3] = 118;

配列 xPoint には (配列 yPoint にも),
要素0 〜3 までのデータしか入っていないのですから,
4、5が上手く行くはずがありません。
データのない座標になど行けるはずがないということです。

初心者用スレッドのご質問ではないので,
この辺で終わります。


ところで,
なんでそんな古いスクリプト( Flash 5 スタイル の ActionScript 1.0) を使っていらっしゃるのでしょうか?
Flash 5 スタイルは,スクリプトを色々分ける必要があってややこしいです...。
(Flash Lite 1.x にも使えない Flash 5 スタイルを使う意味はまずないと思いますが。)
noguさん
ありがとうございます!!!
いい例え感謝します!
理解出来ました♪

ささきちさん
返信ありがとうございます!
分解の仕方ありがとうございます!
なんせスクリプトのスの字もわからない所から始めて、
色んな数字入れたりしながら試してみてルールを理解していってるんですが、
今回ルールが解けなかったんですよ。。。
教材が古いんですかね(((・・;)w
CS4なのでAS3も使えるのに、どれがAS2でどれがAS1か理解出来てないんです。。
もう少し慣れたら、Scriptの本見て頑張ろうと思います!
ありがとうございました!

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Flash 更新情報

Flashのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング