モーショントゥイーン以外では,
質問:横スクロールするテキスト
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2239837
↑教えて!goo ↓OKWave (同じです)
http://okwave.jp/kotaeru.php3?q=2239837
で他の方が回答してくださっているような,
-----------------------------------
this.onEnterFrame = function() {
if (_root.my_txt._x<-_root.my_txt._width) {
_root.my_txt._x = Stage.width;
} else {
_root.my_txt._x -= 1;
}
};
-----------------------------------
これの,
ムービークリップのフレームスクリプト &Flash4 風フレームグルグルループ版 の仕組みで行く方法がすぐに思いつく方法です。
========================================
まず,テキストフィールド(静止テキスト?)に,
「あいうえおかきくけこさしすせそたちつてと」
のような文字列を用意し,
そのテキストを選択して,ムービークリップに変換します。
Flash Lite 1.1 まででは,
テキストフィールドにインスタンス名を持てない(1つのオブジェクトとして扱えない)ので,ムービークリップに変換して動かす必要が出てきます。
テキストをムービークリップに変換するときは,
///////////////////////////////////////////////
名前(N):[ 任意の名前 ]
タイプ(T): ◎ ムービークリップ 基準点(R):■□□
○ ボタン □□□
○ グラフィック □□□
///////////////////////////////////////////////
のように,
基準点を左上に持って来る方がいろいろと計算しやすいです。
テキストをムービークリップに変換して,
そのムービークリップ内のタイムラインを次のようにします。
1 2
□ レイヤー 筆・・|○ | ○| ←スクリプト用レイヤー
□ レイヤー 筆・・|●//[]| ←テキストを置いたレイヤー
そして,
その ムービークリップ内 の タイムライン の フレーム2 に次のようなスクリプトを書けば,
上記の回答のスクリプトのような動きをします。
------------------------------------------------
if (getProperty("", _x)<-getProperty("", _width)) {
setProperty("", _x, 250);
} else {
setProperty("", _x, getProperty("", _x)-1);
}
gotoAndPlay(1);
------------------------------------------------
要所に出てくる "" は,現在でいうところの this です。
ターゲットパスやターゲット名を "" で省略すると,this になるのです。
ちなみに "/" が _root です。
"/myMC" が _root.myMC です。
また,
Stage.width (ステージの幅)はFlash Lite では求められないので 250 という定数にしています。
作っていらっしゃるステージの幅と同じ数値を入れると,その定数で行けます。
慣れないとわかりにくいかもしれませんが,
Flash Lite 1.1 までは,とにかく,動詞が前に来ます。
現在 ActionScript1.0 以降は,オブジェクト(ターゲット)が先に来ます。
Flash Lite(Flash 4) は
現在のようにちゃんとした オブジェクト指向 の言語として確立していない状態なので,慣れないとややこしいとは思いますが,
Excel など VBA に慣れていらっしゃるかただと,むしろ,Flash Lite の文法の方がわかりやすい気はします。
文法的な,もっと詳細はこの辺り↓で,私が必要以上に主観を交えてベラベラと書いています。
お目触りでなければ,読んでください。
特に読む必要もないといえばないですが。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2118535
↑教えて!goo ↓OKWave (同じです)
http://okwave.jp/kotaeru.php3?q=2118535
お礼
ありがとうございます!やっぱりフレームアクションを使ってスクロールさせるしかないのですね。 一番したのリンク読ませていただきます☆