トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     swfで読み込むとスクロールバーが動きません。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shun
Åê¹ÆNo.19373
投稿日時: 2005-8-10 9:10
常連
居住地: 海外
投稿: 66
使用環境:
MacOSX,
flashMX,
Safari 1.3.2,
Explorer5.2
swfで読み込むとスクロールバーが動きません。
皆さんこんにちは、
flash歴3ヶ月の初心者です。

このサンプルを使って
スクロールバーをつくりました。
しかし、ムービープレビューするとしっかり動くのですが、
これをswfで読み込むとまったく動かなくなります。

top = _root.movMask._y;
bottom = _root.movMask._y+_root.movMask._height-_root.movScroller._height;
left = _root.movMask._x;
right = _root.movMask._x+_root.movMask._width;
_root.movIn._y = top;
_root.movIn._x = left;
_root.movScroller._y = top;
_root.movScroller._x = right;
_root.movScroller.onMouseDown = function() {
if (hitTest(_root._xmouse, _root._ymouse)) {
startDrag("_root.movScroller", false, right, top, right, bottom);
}
};
_root.movScroller.onMouseUp = function() {
stopDrag();
};
setInterval(Update, 10);
function Update() {
var ratio = (_root.movIn._height-_root.movMask._height)
(_root.movMask._height-_root.movScroller._height);
_root.movIn._y = ((_root.movMask._y-_root.movScroller._y)*ratio)+_root.movMask._y;
}

パスを変えていろいろ試したのですがうまくいきません。


解決策があれば教えていただけますか?
よろしくお願いします。

ひろゆき
Åê¹ÆNo.19383
投稿日時: 2005-8-10 12:41
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: swfで読み込むとスクロールバーが動きません。
引用:
このサンプルを使って
スクロールバーをつくりました。
しかし、ムービープレビューするとしっかり動くのですが、
これをswfで読み込むとまったく動かなくなります。

他人が作ったサンプル、特に、書籍などにあるサンプルの場合には、
無断転載が禁じられている場合もあると思います。取り扱いには注意しましょう。
また、引用する場合でも、出典を明らかにすべきでしょう。
FlashMove Forum - Scroll function not working in loaded movie

また、「swfで読み込む」というのは、外部swfを読み込むということでしょうか?
だとしたら、どのようにして外部swfを読み込んだのかを具体的に提示すべきでしょう。

そうではなく、StandAlone FlashPlayer で表示させたということでしょうか?
それとも、swf を HTML で表示させたということでしょうか?


----------------
質問する際は、回答者に具体的な情報を与えてください。

ebi
Åê¹ÆNo.19388
投稿日時: 2005-8-10 20:19
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: swfで読み込むとスクロールバーが動きません。
ebiです。また外してたらごめんちゃい(´?`;)ゞ

「読み込む」が具体的にどういう意味か分かりませんが、
ひろゆきさんがおっしゃる通り「外部swf」だとして…

おそらく!

原因は_rootじゃあないかと。
外部swfを読み込んだ際の、_rootは
読み込み元の_rootを差します。
この辺に誤解はありませんかね?

そうでなくても絶対パスで書かれたものを
相対パスにせっせと直すのは間違いの元です。

ってわけで_lockrootっていうプロパティを使うと
外部swfの_rootを固定する事ができます。

やり方は外部swf側の_rootタイムライン上で

this._lockroot =true;

と、書いとくだけです。便利! お試しあれ。
読み込み元でもやれたと思いますが、
今、パッとでてきません。(´?`;)ゞ
ebi
Åê¹ÆNo.19389
投稿日時: 2005-8-10 20:33
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: swfで読み込むとスクロールバーが動きません。
ふたたびebiです。

『おしえて!!FLASHMX2004ActionScript』の
57ページに解説ありました。

……。

FlashMX2004(FlashPlayer7以降)からの
プロパティらしいです。(*´?`*)ゞ
shun
Åê¹ÆNo.19393
投稿日時: 2005-8-11 0:51
常連
居住地: 海外
投稿: 66
使用環境:
MacOSX,
flashMX,
Safari 1.3.2,
Explorer5.2
Re: swfで読み込むとスクロールバーが動きません。
ひろゆきさん、ebiさん、
早々のご指導ありがとうございます!

このスクロールバーをswfで保存して、
あるページから、そのswfを読み込むということなのですが、
おそらく、ひろゆきさんのおっしゃる、
「外部swf」です(?)。

ebiさんのおっしゃる通り、
僕は相対パスにせっせ、せっせと直していました。
それにしても、
_lockroot すごく便利!!革命的ですね!
早速試してみますね。
ありがとうございました

ひろゆきさん、
サンプルの転載のご指摘、勉強になりました。
以後気をつけます。
ちなみにこのサンプルはあるサイトのフリーサンプルなのですが、
大丈夫でしょうか?
それから、standalone flashplayerとは何でしょうか?
恥のかきついでに教えていただけますか?
よろしくお願いします。

皆さんありがとうございました!
ひろゆき
Åê¹ÆNo.19394
投稿日時: 2005-8-11 1:18
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: swfで読み込むとスクロールバーが動きません。
引用:
このスクロールバーをswfで保存して、
あるページから、そのswfを読み込むということなのですが、
おそらく、ひろゆきさんのおっしゃる、
「外部swf」です(?)。

相変わらず、よく分からないのですが。
HTML上に、単にswfを表示したいということでしょうか?
main.html
 |_ scrollBar.swf

もし、外部swfの読み込みならば、
main.html
 |_ main.swf
 |_ scrollBar.swf
のようなファイル構成になっていて、
loadMovie などをお使いだと思いますが、
そのスクリプトは提示されないのでしょうか?

また、shunさんが最初に書かれたスクリプトは、どこに記述されたのでしょう?
パスに問題があると思われているのであれば、そういった情報も付記すべきでしょう。
サンプルファイルを添付して質問をしたいのですが。。。

引用:
ちなみにこのサンプルはあるサイトのフリーサンプルなのですが、
大丈夫でしょうか?

フリーで配布されていると言っても、
自分で加工する分には構わないが、スクリプトを転載されるのは嫌!
という場合もあるでしょう。
あるいは、二次配布は認めていない場合もあるでしょう。
#「二次配布とは」などでGoogle検索してみましょう

配布されているサイトには記載されていないのでしょうか?


引用:
それから、standalone flashplayerとは何でしょうか?

ブラウザでswfを見るときには、ブラウザのプラグインとしてのFlashPlayer が使われています。
デスクトップ上で、swfを見るときには、StandAlone FlashPlayer が使われています。
例えば、swfをダブルクリックすれば、SAFlashPlayer が起動すると思いますが。


----------------
質問する際は、回答者に具体的な情報を与えてください。

ebi
Åê¹ÆNo.19395
投稿日時: 2005-8-11 4:50
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: swfで読み込むとスクロールバーが動きません。
ebiです。早起きです。

引用:
_lockroot すごく便利!!革命的ですね!


shunさんのFlashのバージョンで使えるかどうか分かりませんので悪しからず…。っていうか使えてもPlayerがver7からなので公開するならバージョンチェックが必要でしょう。

引用:
ちなみにこのサンプルはあるサイトのフリーサンプルなのですが、大丈夫でしょうか?


元々の意味はともかくも“フリー”の意味合いが混沌としちゃってる現状があります。…とはいえ、受け取る側のひいきめ解釈で サンプルそのものを“フリー=何したって自由(加工・転載などなど)で無料”ってのは、あんまりないと思います…。ひろゆきさんがおっしゃる通り、扱いについては配布元で確認された方が良いと思いますよ。
shun
Åê¹ÆNo.19518
投稿日時: 2005-8-19 6:15
常連
居住地: 海外
投稿: 66
使用環境:
MacOSX,
flashMX,
Safari 1.3.2,
Explorer5.2
Re: swfで読み込むとスクロールバーが動きません。
ひろゆきさん、

返事が遅くなってしまい申し訳ありません。
また、お手数をおかけしております。

単に、standAlone FlashPlayerで
main.swf上にscrollbar.swfを読み込んだときです。
main.swfで読み込みには成功するのですが、
scrollbar.swfがまったく機能しなくなるのです。
やはりパスの問題なのでしょうか?

main.swfにはボタンを設置し、
on (release) {
screen1.loadMovie("scrollbar.swf");

}
と書きました。

引用:

フリーで配布されていると言っても、
自分で加工する分には構わないが、スクリプトを転載されるのは嫌!
という場合もあるでしょう。
あるいは、二次配布は認めていない場合もあるでしょう。
#「二次配布とは」などでGoogle検索してみましょう


いろいろ検索してみたのですが、
やっぱり二次配布、転載は控えた方がいいようです。
今後気を付けます。
ご指摘ありがとうございました。
shun
Åê¹ÆNo.19519
投稿日時: 2005-8-19 6:38
常連
居住地: 海外
投稿: 66
使用環境:
MacOSX,
flashMX,
Safari 1.3.2,
Explorer5.2
Re: swfで読み込むとスクロールバーが動きません。
ebiさん、
返事が遅くなってしまい申し訳ありません!

またまた質問なのですが、
そのscrollbarを公開した場合、
閲覧者のバージョンも7でなければ「_lockroot」は機能しないのでしょうか?

よろしくお願いします!
ひろゆき
Åê¹ÆNo.19520
投稿日時: 2005-8-19 9:40
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: swfで読み込むとスクロールバーが動きません。
引用:
main.swfで読み込みには成功するのですが、
scrollbar.swfがまったく機能しなくなるのです。
やはりパスの問題なのでしょうか?

「まったく機能しなくなる」というのは、どういう状態なのでしょうか?
第三者にも分かるように説明をするか、
同じ環境を回答者に再現させるため、配布元のURLを提示するかされては?

おそらく、ターゲットパスの問題だと思います。

引用:
パスを変えていろいろ試したのですがうまくいきません。

単に、すべての _root を this に変えただけではダメですし、
そのスクリプトがどこに書かれているかによっても変わってくるでしょう。

例えば、_root のフレームアクションに
_root.mc1.onRelease = funtion() {
	_root.mc2.gotoAndStop(2);
}
というスクリプトが書かれている場合であれば、
this.mc1.onRelease = funtion() {
	this.mc2.gotoAndStop(2);
}
だと上手く行かないのではないでしょうか。
#thisは _root を指すが、thisは、mc1 を指す。のだと思います。

mc1.onRelease = funtion() {
	mc2.gotoAndStop(2);
}
とか、
this.mc1.onRelease = funtion() {
	this._parent.mc2.gotoAndStop(2);
}
とかでないとダメな気がします。
#確認していないので、間違っているかも。

引用:
やっぱり二次配布、転載は控えた方がいいようです。
今後気を付けます。

すでに転載しちゃったものは?


----------------
質問する際は、回答者に具体的な情報を与えてください。

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops