全てActionScriptだけで、動作させています。
・Loadされたら、MCの移動量を定義
・フレームに入ったら、ブラウザの縦横サイズを設定
{毎フレームごとに移動量を座標に足す
{もしMCが右端+100の位置に来たら、
(MCを左端-100に戻す) }
上記の{ }部を3回繰り返したら停止する、というものを作成したいのですが。
for文を入れて+Stop();を最後に記載したのですが、ダメでした。
回数を指定しないと、ちゃんと動作しますが当然ながら無限に動きます。
すみません、どなたかご教示頂けませんでしょうか。
どうぞよろしくお願いします。
※当方Flash8にて制作しております。
No.1ベストアンサー
- 回答日時:
> ブラウザの縦横サイズを設定
という部分が ActionScript では無理ですね。
ブラウザはブラウザであって,Flash の範疇ではありません。
つまり,
documentクラス とか windowクラスというものが Flash には存在しないので,
その大きさを指示したり,プロパティを取得することなどもできません。
というより,
ブラウザのウィンドウは,普通 SWF 外にあるので,
そういうところまでムービークリップを持っていくことがそもそも無理ですから,
あっても無意味に近いと思います。
ActionScript で動かしたり表示させたり座標指定ができるのは,SWF 内止まりです。
HTML や ブラウザのエリアまで座標指定するのは無理です。
それに,
ブラウザのサイズはモニタのサイズや手動による拡大縮小によって決定しますから,
ActionScript では絶対に無理です。
また ステージの大きさも HTML で指定するのが普通ですから,
そこら辺(HTMLのタグを書き替える)まで ActionScript が指示するのも不可能です。
そして,HTML や ブラウザ 内で,
SWF をパーセント表示する場合も,
モニタのサイズや手動による拡大縮小によって決定しますから,
そこら辺(人間の意志を操作する)まで ActionScript が指示するのも不可能です。
======================
しかし,
SWF の 「ステージの縦横サイズを取得する」 まででしたらできますよ。
Stage クラスの widthプロパティ (Stage.width) や,heightプロパティ (Stage.height) で取得することができます。
その 3回 左から右に行く MC に書くスクリプト例です。
----------------------------------------
onClipEvent (load) {
// Loadされたら、MCの移動量を定義
idou = 10;
// そしてステージの横サイズを取得
stgW = Stage.width;
// 回数をカウントする変数 cnt 初期化
cnt = 1;
}
//
onClipEvent (enterFrame) {
// 毎フレームごとに移動量を座標に足す
this._x += idou;
// もしMCが右端+100の位置に来たら、
// なおかつ cnt の値が 3 未満であれば
if (this._x>=stgW+100 && cnt<3) {
// 回数をカウントする変数 cnt に +1
cnt++;
// MCを左端-100に戻す
this._x = -100;
} else {
/*
ここに3回繰り返したらどうするのか書く
(書かなくても良いですが)
*/
}
}
----------------------------------------
for 文 というのは,
スクリプトの処理を瞬時に繰り返すものです。
上のように同じ動作を3回繰り返す場合は,
その動作を繰り返すたびにその都度何かを処理しなければなりません。
sassakun様
前回に引き続き、大変ご丁寧な解説を頂きまして
誠にありがとうございます。
ステージの大きさの件、十分に理解しました。
また、繰り返すスクリプトも非常に分かりやすいです。
いつも助けていただきまして、ありがとうございます。
お陰様で、ようやく完成できそうです。
本当にありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語でのマウスを移動とマウス...
-
DataTableの件数を取得したい
-
photoshopで書いた四角の枠の中...
-
VBScriptでMsgBoxのYesNoボック...
-
AS3.0 Timerの使い方
-
テキストボックスの中身をリセ...
-
python ボタンを押すと複数の関...
-
【ActionScript】テキストボッ...
-
【Photoshop】レイヤー効果の境...
-
ESD保護区域等のシンボル入手先
-
VB.NET2005 DataGridViewでレコ...
-
Active Report と SQL
-
マウスが押されているのか(DOWN...
-
C# chart controlの透過について
-
シンボル化解除の方法
-
POIでのテキストボックス作成に...
-
バナーの枠を飛び出して動くア...
-
今日の残り時間を表示する時計...
-
アナログ時計の針を透過させた...
-
経過時間を計るには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マウス自体の移動量の取得
-
画面の範囲選択
-
楕円の軌道に傾斜をつける方法...
-
FLASHでの座標取得
-
C言語でのマウスを移動とマウス...
-
MCが放物線を描いて移動
-
角度を指定して回転
-
マウスオーバーで画像ズーム(...
-
スライドバーを用いて画面の拡...
-
マウスオーバー(クリック)画...
-
マウスを追いかける
-
画面をランダムに動き回るアク...
-
回転運動の減速停止方法
-
MCの移動,透明の仕方について...
-
[AS3]自動的に画像が重なってい...
-
マウスの移動方向によってマウ...
-
ActionScript■指定回数でループ...
-
photoshopで書いた四角の枠の中...
-
Pythonを使ってせん断応力図、...
-
python ボタンを押すと複数の関...
おすすめ情報