loadMovieで呼び出したswfの不具合
Flash初心者です。
環境は、OSはWindowsXPで、FlashのヴァージョンはCS3です。
loadMovieで呼び出したswfファイルが正常動作しません。
表示枠用に四角形の枠を書き、
ムービークリップシンボルに変換、
シンボル名は「load.mc」
インスタンス名も同じく「load.mc」とし、
タイムラインの1フレーム目に
this.load_mc.loadMovie("●●●.swf");
と記述し、プレビューしたところ
呼び出したswfファイルが正常に動作しませんでした。
また、
on(press){
this.load_mc.loadMovie("●●●.swf");
}
と記述したボタンでも結果は同様でした。
呼び出したswfファイルは、
いくつかの任意の角度から撮影した物体の画像をタイムライン上に並べ
画像の360度回転、拡大縮小をスライダーでコントロールするというもので
因みに、これはMdNムックの
「プロが教えるFlashアイデア工房」の127ページに掲載されていたものの流用です。
尚、掲載されていたサンプルのswfファイルを
試しに同様にloadMovieで呼び出してみたところ結果は同じでした。
swfファイル単独では正常に動作するのですが
loadMovieで呼び出すと、
記述されたスクリプトがクリアされてしまうのか全く動作しません。
何が問題なのか全くわからず途方に暮れています。
どなたかご教授ください。
以下は、
呼び出すswfファイルに記述されたスクリプトです。
_________________________
※画像のムービークリップに記述したスクリプト
↓↓↓
this.onLoad = function() {
rtK = 0.3;//ズームスピード
minSC = 30//縮小時の最小値;
maxSC = 180//拡大時の最大値;
//回転初期設定
frK = 0.3;//回転スピード
maxFr = _totalframes;//最大フレーム数の設定
};
this.onEnterFrame = function() {
//////画像サイズ//////
tarSC = _root.sliderZ.zmSlider()*(maxSC-minSC)/100+minSC;//0で最小、100で最大になるよう変換
vSC = (tarSC-_xscale)*rtK;//目標の値に近づく
this._xscale += vSC;//表示
this._yscale += vSC;//表示
//////画像回転位置//////
tarFr = _root.sliderR.rtSlider()*maxFr/100;//0で最小、100で最大になるよう変換
vFr = (tarFr-curFr)*frK;//目標の値に近づく
curFr += vFr;
tmpFr = Math.floor(curFr);
tmpFr %= maxFr;
if (tmpFr<0) tmpFr += maxFr;//負の値の場合
gotoAndStop(tmpFr+1);//表示
};
this.onLoad();
※回転用スライダーのムービークリップに記述したスクリプト
↓↓↓
this.onLoad = function() {
//回転初期設定
range = 234;//スライダーのドラッグ範囲
minX = 92;//スライダーのX座標の最小値
maxX = minX+range;//スライダーのX座標の最大値
curX = _x;
btPress = false;//ドラッグ中か否か
}
function rtSlider(){
if (btPress) curX = _parent._xmouse;//スライダーのドラッグ
curX = Math.min(curX, maxX);//ドラッグ範囲
curX = Math.max(curX, minX);//ドラッグ範囲
_x = curX;//移動
//
//画像の回転
rtVal = (curX-minX)*100/range;//0から100の値に変換
return(rtVal);
}
this.onPress = function() {
btPress = true;
};
this.onRelease = this.onReleaseOutside=function () {
btPress = false;
};
this.onLoad();
お礼
できました!ありがとうございます。