質問ページ2 / 57


質問ページ2 / 57

質問ページ2/57

概要Stop(); が動かない?
投稿者Parafla Quality
状態
カテゴリーActionScript
投稿日2007-10-31 (水) 09:35:58
バージョン1.37

質問内容

インスタンス名Whiteで onClipEvent? (load) { // 一度だけ実行

	x_start = 0; // 最初の位置を変数に記録する
	x_end = 200; // 最後の位置を変数に記録する
	framecount = 30; // フレームカウント
	x_henka = (x_end - x_start) / framecount;
	_x = x_start;

}

  • onClipEvent? (enterFrame) { // 毎フレーム実行
    	_y = _y + y_henka;
    }

このようなスクリプトを書き、ボタンをつくり 上記のWhiteの動きを止めようと思っているのですが ボタンのところに on(press) {

	white.stop();

} このように描いてもwhiteがとまってくれません。 _root.white.stop();等も試したのですが とまりませんでした。 何かほかに設定ミス等があるのでしょうか? よろしくお願いします。

回答

  • on(press){white._y = white._y} //whiteのY座標を現在のY座標に固定する -- 2007-10-31 (水) 11:48:42
  • いわれたとおりにやってみたのですが動きませんでした。 -- 2007-10-31 (水) 13:14:11
  • ↑ サンプルをあげたので見てもらえませんか? http://homepage3.nifty.com/yutaka-tp1st/uncomp.zip -- 2007-10-31 (水) 13:16:10
  • インスタンス名.stop(); は、そのスプライトの中を停止させるもの。 enterFrameはrootに配置されたスプライトに記述されているので、stopの対象になっていない …のではないでしょうか。実際トレースウィンドウは毎フレームごとに数値を吐き出していますので -- 2007-10-31 (水) 17:44:12
  • もしボタンでstopを実装するなら、一番簡単なのはスクリプトではなく、whiteの中で白.pdrを30フレームほどで移動するように指定しておき、rootのボタンでwhite.stop(); とするのが手っ取り早いかと -- 2007-10-31 (水) 17:46:32
  • 解決しました。 止まるボタンを押したかどうかを判定させ押されたら_x=_xで止めるといった手段を用いました。 いろいろなコメントありがとうございます。 -- 2007-10-31 (水) 19:39:21
  • ↑解決したサンプルをあげておきます。  http://homepage3.nifty.com/yutaka-tp1st/comp.zip -- 2007-10-31 (水) 19:42:16