
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
> 以下のような書き方だと
> オブジェクトAがオブジェクトBに入っている間
> ずっとpointが+1されてしまいます。
それは
書かれていらっしゃるスクリプトの部分に元々原因があるのではなくて
その if文 の実行のさせ方に元々の原因があるのでしょう。
おそらく
onClipEvent (enterFrame) {} の{}内や
onEnterFrame = function() {}; の{}内,
または
onClipEvent (mouseMove) {} の{}内や
onMouseMove = function () {}; の{}内などで
if文を実行させているから
「ずっと point が +1 される」のではないでしょうか?
あと,
「どうなったときに point が +1 され,
どうなったときに point が +1 されなくして,
さらにどうなったときに 再びpoint が +1 されるように戻したいのか。」
この辺もハッキリさせる必要があります。
つまり,
ムービークリップA と B が接触した瞬間にだけ point を +1 して
その後は一切 point を +1 する必要はないのでしょうか?
それとも
またいつかは point を +1 させるような必要が出てくるのでしょうか?
ということです。
結局,
「今はどうしているのか」
そして
「だからどうしたいのか」
が良くわからないということですね。
これらのことがわからなくても漠然とした回答ならできます。
しかし具体的な回答はできないので
私が勝手に作った1つの対策入りの状況例を書きます。
_root のフレーム1のステージ上には
インスタンス名「a」というムービークリップと
インスタンス名「b」というムービークリップがあるとします。
※【図】↓
その場合の,
「a」や「b」が存在するタイムライン(_rootなど)のフレーム(フレーム1など)に書くスクリプト例です。
//------------------------------
//変数 point の値の初期化
var point:Number = 0;
//フラグとなる変数「flg」を用意
var flg:Boolean = false;
//「b」をプレスしたときに実行する関数を定義
b.onPress = function():Void {
//「b」のドラッグを開始
this.startDrag();
//
//マウスが動いたときに実行する関数を定義
this.onMouseMove = function():Void {
//もし「b」が「a」と接触した上で
if (this.hitTest(_root.a)) {
//もし「flg」が false であれば
if (!flg) {
//「point」の値を 1 加算
_root.point += 1;
//試しに 「point」の値を出力
trace(_root.point);
//「flg」をtrueにする
flg = true;
}
//「b」が「a」と接触していなければ
} else {
//「flg」をfalseにする
flg = false;
}
};
};
//「b」を放したときに実行する関数を定義
b.onRelease = b.onReleaseOutside=function ():Void {
//「b」のドラッグを終了
this.stopDrag();
//
//マウスが動いたときに実行する関数を削除
delete this.onMouseMove;
};
//------------------------------
※ActionScript 2.0
Flash MX 2004 以降で使用可
Flash Player 6 以上で動作可
スクリプトが書けましたら
「制御」→「ムービープレビュー」で
「b」をドラッグして動作検証してみてください。
勝手に作った状況での具体的な回答ではなく
漠然とした回答を書くとするなら
「フラグを用意してそのフラグを切り替えて
動作の分岐をすれば良いのではないでしょうか。」
ということです。
またはフラグなど用意せずに
バッサリと
delete ○○.onMouseMove; や
delete ○○.onEnterFrame; などをしてしまっても良いかもしれません。
その辺は
「今はどうしているのか」
そして
「だからどうしたいのか」
によって変わります。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python ボタンを押すと複数の関...
-
pythonの画像の貼り付けについて
-
else if文の順序を変えることに...
-
SharedObjectの動作がうまくい...
-
四乗根を英語で言うと・・・
-
Pythonのtkinterについて
-
テキストボックスの中身をリセ...
-
as3 getChildByNameに変数を利...
-
テキスト広告の作り方教えてく...
-
テキストボックスにセルの値を...
-
VB6.0のHideのバグ?
-
ボタンの重ね順について
-
photoshopで書いた四角の枠の中...
-
変数に256文字以上のテキストを...
-
動かした画像を元の位置に戻すには
-
ただただ無駄な
-
複数行テキスト領域に中の文章...
-
FlashでドラッグしたMCをリセッ...
-
グラデーションマスクのかけ方...
-
全てのテキストボックスをセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python ボタンを押すと複数の関...
-
四乗根を英語で言うと・・・
-
PythonでSetWindowPosを使うに...
-
else if文の順序を変えることに...
-
SNMPの標準MIBについて
-
スライドショーの制御
-
Pythonを使ってせん断応力図、...
-
レーダーチャートの描画
-
FlashCS5 ActionScript2.0で3...
-
ADに参加していないPCからADサ...
-
addchildからrootに命令
-
pythonの画像の貼り付けについて
-
C++インタプリタを探してます
-
複数の外部SWFの読み込みする場...
-
node* ってなんなのでしょうか?
-
クリックされたインスタンス以...
-
acttionscript2.0から3.0へ。。...
-
ムービーをクリックしてボタン...
-
スライドショーのフェードイン...
-
goto文が動かない orz
おすすめ情報