制作環境AS3.0、CS4です。
フルスクリーンでMovieClipを右移動させて、
画面右で切れた分(部分)を左から表示させたいです。
(ドキュメントサイズとMovieClipは同サイズで
途切れることなくひと続きのようにループしたいです)
フルスクリーン(画面可変)のため数値で指定できないため
応用がきかずに困ってます・・・
以下、現状ソースです。
var speedX:Number=20;
back_mc.addEventListener(Event.ENTER_FRAME, onEnterframe);
function onEnterframe(eventObj:Event):void {
var mc:MovieClip=eventObj.target as MovieClip;
//ステージの右に出た分だけ・・・
if (mc.x+stage.stageWidth>stage.stageWidth) {
//ステージの左に表示
mc.x-=stage.stageWidth-mc.x;
} else {
mc.x+=speedX;
}
}
そもそも1つのMovieClipでつなぎあわせるのは、if文では無理かもしれませんが・・・
詳しい方、ご教授お願いしたいです。
No.1ベストアンサー
- 回答日時:
ムービークリップ内に
最初から2つとか3つの(場合によっては4つや5つの)
そのル画像を(または画像入りムービークリップを)
横並びに入れておけば良いのではないでしょうか。
1つの画像が例えば
|谷山川山谷|
だったとすると
|谷山川山谷|谷山川山谷|谷山川山谷|…
みたいに入れておくわけです。
その横長ムービークリップの基準点は
ムービークリップの左上コーナーにしておくものとします。
そして,
その横長ムービークリップを
コンスタントに +方向(右方向) に20pxずつ動かすのですが
基準点がステージの左端(x座標=0)を超えた瞬間だけ
その瞬間の座標から画像1枚分の横幅だけ -方向(左方向) に一気に移動させます。
するとループしているように見えます。
//-------------------------------------------
//ステージ内の拡大縮小なし(?)
stage.scaleMode = StageScaleMode.NO_SCALE;
//ステージの左上コーナーを基準として整列
stage.align = StageAlign.TOP_LEFT;
var speedX:Number=20;
//画像1枚の横サイズ(例:320px)
var pictureW:Number = 320;
back_mc.addEventListener(Event.ENTER_FRAME, onEnterframe);
function onEnterframe(eventObj:Event):void {
var mc:MovieClip=eventObj.target as MovieClip;
//
//コンスタントに右移動
mc.x+=speedX;
//
//基準点のx座標が0を超えた瞬間だけ
//(この瞬間の姿は実際には見えない)
if (mc.x > 0) {
//画像1枚分左に移動
mc.x -= pictureW;
}
}
//-------------------------------------------
↓イメージ図↓
ご丁寧にありがとうございます!
すごく助かりました。
実際はステージ内の拡大縮小ありでしたので
以下、少しアレンジさせていただいて解決しました。
//-------------------------------------------
var speedX:Number=20;
back_mc.addEventListener(Event.ENTER_FRAME, onEnterframe);
function onEnterframe(eventObj:Event):void {
var mc:MovieClip=eventObj.target as MovieClip;
//
//コンスタントに右移動
mc.x+=speedX;
//
//基準点のx座標が0を超えた瞬間だけ
//(この瞬間の姿は実際には見えない)
if (mc.x > 0) {
//画像1枚分左に移動
mc.x -= back_mc.width/3;
}
}
//-------------------------------------------
いただいたように発想というか、センスというか
もしくは経験かもしれませんが
ちょっとしたことでも行き詰まることが多いので・・・
もっとがんばります。
以上、どうもありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Illustrator(イラストレーター) ペイントでサイズを小さくする 5 2023/06/17 10:33
- Safari(サファリ) 画面のサイズ 1 2023/05/28 14:00
- その他(ソフトウェア) IrfanView で画像のスクロール?できますか 1 2022/08/31 13:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで改行の入ったデータの正規...
-
VBAユーザーホームテキストボッ...
-
エンドロール風テキストの表示...
-
photoshopで書いた四角の枠の中...
-
YOASOBI
-
【Photoshop】レイヤー効果の境...
-
ドラッグ&ドロップからの取得
-
VS2008 C# ボタンのテキストを...
-
テキストボックスの中身をリセ...
-
PythonのTkinterイベントについて
-
python ボタンを押すと複数の関...
-
VBScriptでMsgBoxのYesNoボック...
-
五芒星は、悪魔崇拝とどういう...
-
変数に256文字以上のテキストを...
-
キープレスとボタンクリックの...
-
パーセントで配置したフラッシ...
-
×ボタンを無効化したいのですが...
-
【VB.NET】別Formのボタンが押...
-
テキストボックスにセルの値を...
-
斜めに移動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで改行の入ったデータの正規...
-
VBAユーザーホームテキストボッ...
-
外部SWFファイルを再生バーでコ...
-
縦横比率のを変えずに画像のサ...
-
テキストファイルから読み込ん...
-
自由線とレイヤー画面との位置関係
-
ピクチャーコントロールのデバ...
-
四角形の端っこをドラッグした...
-
AS3でうまく動作しません
-
看護師です。体温表のマクロを...
-
AS3.0 でフェードイン、
-
ステージの背景画像のみ拡大縮...
-
AS3 mc0~5をまとめて処理する
-
AS3.0でマウスボタンの状態を調...
-
AS3.0 設置した画像を次のラベ...
-
外部より取り込んだ.swfのサイ...
-
spriteで直線を引いたときに線...
-
xmlから作ったサムネールを移動...
-
Flash マウスの位置で速さの変...
-
flash ブラウザのサイズに合わ...
おすすめ情報