トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   とにかくFLASH【FLASHに関して全般】
     MCの制御
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kanakana
Åê¹ÆNo.10941
投稿日時: 2004-9-19 4:25
半人前
居住地: 宝塚
投稿: 51
使用環境:
(SP2)
pro7.2
:Flash8 pro
MCの制御
kanaです。

FSP2004の森さんの紹介してくださったスピログラフを作っています。

resumeの12/22のSTOPとSTARTのボタンのスクリプトで詰まっています。

小さな円MCも大きな円MCも
onClipEvent (enterFrame) {
_rotation +=○○;
}


で回っています。
これをどっやって止めればいいのでしょうか?
スタートは止め方によって違ってくるのですよね。

過去LOGも見ましたがよく分かりませんでした。
よろしくお願いします。


野中文雄
Åê¹ÆNo.10944
投稿日時: 2004-9-19 4:54
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: MCの制御
アニメーションの処理に条件となる変数を設定し、その変数が特定の値のときのみアニメーションが実行されるようにスクリプトを作成します。このようなテクニックを、プログラミングの用語で「フラグ」を使った処理といいます。

具体的には、「マウスカーソルをmcにし、クリックで通常のマウスカーソルへ」のスレッドが参考になるでしょう。
引用:
kanaさんは書きました:
小さな円MCも大きな円MCも
onClipEvent (enterFrame) {
_rotation +=○○;
}


で回っています。
これをどっやって止めればいいのでしょうか?


----------------
 

kanakana
Åê¹ÆNo.10957
投稿日時: 2004-9-19 12:34
半人前
居住地: 宝塚
投稿: 51
使用環境:
(SP2)
pro7.2
:Flash8 pro
Re: MCの制御
野中様をありがとうございます。

フラグの処理を調べてみました。

引用:
アニメーションの処理に条件となる変数を設定し、その変数が特定の値のときのみアニメーションが実行されるようにスクリプトを作成します。このようなテクニックを、プログラミングの用語で「フラグ」を使った処理といいます。


_rootのタイムライン フレーム1に

flag = false;


_rootではMCインスタン名daienが回っています。

stopボタンには

on (release) {
  if (flag == false) {
   this.daien._rotation = 0;//回転を止めるになってない
   frag = true;
   } else {
   this.daien._rotaton += 15;//この処理も変ですね
   frag = false;
  }
}


としました。

コメント行にも書きましたが回転を止めることになっていないので変な動きをします。
アニメーションの停止が課題です。
ヒントをいただけると助かります。
野中文雄
Åê¹ÆNo.10958
投稿日時: 2004-9-19 13:03
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: MCの制御
onClipEvent (enterFrame)ハンドラの処理は、どうなったのでしょうか?

「マウスカーソルをmcにし、クリックで通常のマウスカーソルへ」でkero835さんが作成されたスクリプトと、もう1度見比べてください。

フラグは、信号機の役割をします。信号機が直接自動車や電車を停止できるのでしたら、信号機を設置する意味はありません。フラグのオン(青信号)/オフ(赤信号)と、それを見て実行されるアニメーションの処理とは独立しているからこそ、フラグが必要なのです。
引用:
kanakanaさんは書きました:
stopボタンには
on (release) {
  if (flag == false) {
   this.daien._rotation = 0;//回転を止めるになってない
   frag = true;
   } else {
   this.daien._rotaton += 15;//この処理も変ですね
   frag = false;
  }
}

としました。

コメント行にも書きましたが回転を止めることになっていないので変な動きをします。

アニメーションの「停止」というのは、アニメーションの「処理を行わない」ということです。
引用:
アニメーションの停止が課題です。


----------------
 

kanakana
Åê¹ÆNo.10967
投稿日時: 2004-9-19 20:55
半人前
居住地: 宝塚
投稿: 51
使用環境:
(SP2)
pro7.2
:Flash8 pro
Re: MCの制御
kanaです
野中様たびたびありがとうございます。

先ほど投稿してからもこのやり方じゃフラグたてる意味ないよねーと思っていました。

引用:
フラグは、信号機の役割をします。信号機が直接自動車や電車を停止できるのでしたら、信号機を設置する意味はありません。フラグのオン(青信号)/オフ(赤信号)と、それを見て実行されるアニメーションの処理とは独立しているからこそ、フラグが必要なのです。


信号を見て止まるのは電車の方ですよね。
回転しているMCに書かねば行けませんよね。

onClipEvent (load) {
	flag = false;
}
onClipEvent (enterFrame) {
	if (flag == false) {
		_rotation += 15;
	}
}


回転しているMCの中で回転しているMCにも同様に書きました。

stopボタンには

on (release) {
	this.daien.flag = true;
	this.daien.en.flag = true;
}


STARTのボタンには


on (release) {
	this.daien.flag = false;
	this.daien.en .flag= false;
}


と何とかできました。
動いた(止まった)時にはガッツポーズ(古い?)でした。
ありがとうございました。

ただ、スタートボタンを押すと前に書いていた物のつづきに線を書くので一度クリアーにして最初から線を書くようにしたいのでスタートボタンに

_root.clear();


を入れると動き始めても何も描いてくれません。
何が違うのでしょうか?
せっかくガッツポーズしたのに…
森 巧尚
Åê¹ÆNo.10969
投稿日時: 2004-9-19 23:25
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: MCの制御
引用:

kanakanaさんは書きました:
_root.clear();


を入れると動き始めても何も描いてくれません。
何が違うのでしょうか?

clear()すると、作っていたペン(太さ、色)までクリアしてしまったからですね。
そのあとにlineStyle()でペン(太さ、色)を作り直してください。


----------------
森 巧尚
http://www.ymori.com

kanakana
Åê¹ÆNo.10971
投稿日時: 2004-9-20 0:18
半人前
居住地: 宝塚
投稿: 51
使用環境:
(SP2)
pro7.2
:Flash8 pro
Re: MCの制御(解決)
kanaです。
森さんありがとうございます。

最後の仕上げできました。

引用:
clear()すると、作っていたペン(太さ、色)までクリアしてしまったからですね。


今回森さんをはじめ、野中さんにも色々とアドバスを頂き大変勉強になりました。

ほんの少しですがASのおもしろさが分かったような気がします。
ありがとうございました。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops