ActionScript 物凄い勢いで誰かが質問に答えるスレ
918 :
ムズカイイ:04/03/10 13:54 ID:e4eCkgCX
あ
919 :
ムズカイイ:04/03/10 14:01 ID:e4eCkgCX
教えてください。A,B,Cとボタンがあって、ボタンを押すとダウンイメージのままで
ほかのボタンが押されたらアップイメージに切り替わるようにしたいのですが
どうするのかわかりません。
フレーム移動で移動先のシンボルを変えればいいのかもしれませんが
スクリプトでできないのでしょうか?
初心者でスクリプトのこともあまりよくわかっていませんが
よかったら教えてください。お願いします。
[A][B][C]とボタンがあって
Aを押すと(Aを放しても)
[a][B][C]になって
さらにBを押すと(Bを放しても)
[A][b][C]になるってことか
いろいろ必要なので
ちょっと勉強してから作ってください
922 :
Now_loading...774KB:04/03/10 19:18 ID:eKpuCRTR
質問です。
オブジェクトを回転させるボタンを作りたいのですが
本に出ているのはたいてい
ひとつのボタンにひとつのオブジェクトを対応させていますよね。
私はボタンひとつ、オブジェクト数個で
クリックしたオブジェクトが回転するようにしたいんです。
クリックしたオブジェクトをメインターゲットにするにはどうすればいいですか?
また
そういう場合ボタンおよびオブジェクトには
どのようなスクリプトをつければいいのでしょうか?
よろしくお願いします。
923 :
Now_loading...774KB:04/03/10 19:19 ID:eKpuCRTR
↑
わかりにくい文章ですいません。
>>922 一度オブジェクトをクリックし、その後ボタンを押したらそいつが回るってこと?
なら空のMCを常にマウス追尾させて、オブジェクトクリックした時に
特定のMC(回すためのボタン)じゃなければ_droptargetを空のMCに記憶。
特定のMC(回すためのボタン)であれば記憶されたtargetを回転させればよろし
>>922 う〜む、よくわからんなぁ。つまりこういうこと?
@Objectをいくつか配置する
A回転させたいObjectをクリックする(回転させるものを選ぶ)
Bその後にボタンを押すと、選択したObjectのみが回転する
↑
わかりにくい回答ですいません。
お、かぶった。
クリックでフラグ立ててボタンはifで場合分けとかは?
俺はこんな力業しか思いつかんかった
922はクリックしたら回転するMCを
複数配置したいって言ってるだけじゃ?
>>922 わかりにくいから書き直して。
特にやりたい動作の順序。
>>922の書き方だと
ボタンはいらなくなる。(オブジェクトをクリックとかいってるから)
[_rootかどこか]
state = new Object();
state.turn = new Array[] //配列番号:オブジェクトのid , セット内容 true|false
state.turnの値をチェンジする関数を用意する。turnSwitch()とか。
[各オブジェクト]
this.state = new Object();
this.state = _root.state; //本当はゲッター、セッターでやった方がいいでしょうね。
これでthis.state.turn[this.id]が回転状態
this.onPress = function() { _root.turnSwitch(this.id);とか }
回転状態をチェックして回るスクリプトを用意する。
はしょりましたけど、こんな感じじゃないですか。
あ、new Array()でした。
934 :
春厨:04/03/10 20:40 ID:???
自由落下を行うスプリクトを教えてください。
>>934 擬似なら
this._y += (m-this._y)/k;
系かな。漸化式なのであくまで擬似
ちゃんとやるなら加速度使って絶対的に代入
>>932 this.onPressは一つのMCのみに存在するって質問じゃないのかな?
間違った。
this._y += k/(m-this._y);
初速度無しの自由落下ならこっちか。
937 :
934:04/03/10 20:59 ID:???
>934-935
即レスありがとうございます。
>>935 ・・そうでした
[スイッチになるオジェクト]
this.onPress = function() { _root.turnSwitch();とか }
回転状態をチェックして回るスクリプトを用意する。
て感じでしょうか。
ギャー、また違ってる。
すみません
[スイッチになるオジェクト]
this.onPress = function() { _root.turnSwitch();とか }
[ 回るオブジェクト ]
回転状態をチェックして回るスクリプトを用意する。
>>938 質問者がどこまでしたいのかわからないけど(っていうか話題が先行してる気がするけどw)
例えば何かしら(mc_A)回転させてて他のMC(mc_b)クリックしたとき
1:mc_Aを停止させてスイッチのスタンバイ状態
2:mc_Aは回転したままスイッチのスタンバイ状態(スイッチ押せばmc_A回転したままmc_Bも回転)
3:mc_Aは回転したままスイッチのスタンバイ状態(スイッチ押せばmc_Aは停止し、mc_Bは回転)
4:mc_Aは回転したまま。mc_B回転しだす
etc..
場合によりけり効率いい&&見やすいコードは変わってくると思うよ
1ならMCごとにトリガー用意になるだろうし
2ならスイッチにトリガー用意、など。
>>932だとは外部にトリガーになるもの用意し、MC自身がトリガーになってるでしょ。
質問者の意図がつかめない限り最適と思われるものは(ry
メモリ云々まで言い出すようなら
>>929あたりが最適だろうけどw
↑
わかりにくい文章ですいません。
942 :
Now_loading...774KB:04/03/10 21:20 ID:iv0bV7k0
改めて読み直すと本当にわかりにくいですよね・・・すいません。
ボタンは1回押したら15度回転するボタンです。
オブジェクトが複数あって、
回転させたいオブジェクトをクリックして選び
その後ボタンを押すと15度まわるような。
う〜ん
部屋の模様替えをイメージしています。
上から部屋を見て、外側においてある家具をドラッグして入れて
好きな角度(例:15度単位)に回転できるような感じなんです。
一個一個家具にボタンつけて回転させるやりかたはわかりますが
ボタンが大量になるのでそれは避けたいんです・・・
>>942 /* アクティブに見せるために */
オブジェクトのMCを2フレームにし、stop()かけとく
2フレーム目にはちょっと色を変えた家具
リリースされたら2フレーム目で止めるようにする。
この場合MC自身に判定(リリースの監視)&&動作させちゃだめ
できれば外部で監視、自身に動作させるか外部に自身を動作させる
またアクティブになると同時にそのターゲットを取得しておけばいい
944 :
Now_loading...774KB:04/03/10 21:26 ID:nB8819R5
それでもいきていこうのスレってどこにあんの?
>>943 ターゲットが1つなら、それがいいでしょうな。
_rootとかにクリックした家具の名前を管理する変数などを用意。
taisyo="";
家具にはクリックされたときに、名前を変数「taisyo」に渡す。
on(release){
_root.taisyo=this._name;
}
回転させるボタンは、変数「taisyo」を参照して、特定の家具を回転させる。
on(release){
_root[_root.taisyo]._rotation=+15;
}
一案。
三平方の定理を使って、マウスの位置に対応して、MCを拡大したり縮小したりしようと思って
this.onEnterFrame = function() {
_yscale = _xscale = Math.sqrt(Math.pow(_xmouse,2)+Math.pow(_ymouse,2))
}
って書いてみたら、なんと言うか、分身するというか。
大きい数値と小さい数値が交互に出るというか。
何故でしょうか?
>>942 >>924氏の案が数が増えたときの管理が楽かな
エディタに貼り付けて整形して
//tmp_mc :判定用MC
//tmp_mc._b :登録したいボタン。下の例では_root.b1
//tmp_mc._t :回転させるMC
tmp_mc = createEmptyMovieClip("tmp_mc", 100);
tmp_mc._b = _root.b1;
tmp_mc.onMouseDown = function() {this.startDrag(true);};
tmp_mc.onMouseUp = function() {
var z = eval(this._droptarget);var _t = this._t;var _b = this._b;
if (_t && z == _b) {
_t._rotation += 15;trace(_t+"を回転しました");
} else if (z && z != _b) {
this._t = z;trace(z+"を登録しました");
//ここに目印用のmcを移動させる処理
}
stopDrag();
};
通常のボタンではターゲットパスを判断するのが面倒なので
ボタンはムービークリップにonハンドラを書いたものを使用
どのMCが選択状態かを視覚的に表すには、矢印のMCを別に用意して
指し示すのが楽かな。選択変更時のアニメーションも付けやすいし
なんか難しいことやってないか?
>>948 が一番楽かと。
>>953 クリックした時選択したように見えるようにするのが厄介かと
955 :
Now_loading...774KB:04/03/10 23:11 ID:iv0bV7k0
943さん、948さん、951さん
その他、最初のわかりにくい質問に対して答えてくれた皆さん
明日さっそくやってみます。
どうもありがとうございました。
とうとう、このスレも950を越えたか…
次スレ立てるの?
949 :Now_loading...774KB :04/03/10 22:23 ID:???
>>963が次スレ立ててください
>>1 だけだとなんだから、次スレたてて続けるなら
ちょっとテンプレ考えませんか。
まず最低限ヘルプ読んでググってから質問しろ、とか。
このスレの反省点ってなんだろう。
それがつかめればテンプレはおのずと、ですね。
最低限さえ調べない質問は物質へ誘導、だとすれば
やっぱ最低限調べろ、のスタンスがいいですね。
AS関連の学習サイトのリンクがほすぃ
あとググる以前のプログラムに関する質問も
うまく2-10で捌けるといいんだがー。
どなたか、リヴリーコマンダーを作ってくれる方、いませんか?
本体とデコンパイルしたASはあります。が、当方無知な為、何度か
頑張ったんですが、全く作れませんでした。有料でも構いません。
(5千円〜1万程度で)flaが手に入りさえすれば、その後の改造は
自分でしたいと思っております。相談に乗ってくれる方がいまし
たら、
[email protected]までご連絡ください。
964 :
Now_loading...774KB:04/03/11 11:27 ID:mUYjNpLY
優良参考図書なんかどうでしょうか。
965 :
Now_loading...774KB:04/03/11 15:20 ID:jFjAyqDo
load movieで読み込んだswfの中にまた、load movieでswfを読み込ませてるんですけど
なぜか読み込んだswfの動作が非常に遅くなります。
これはなぜでしょうか?
967 :
Now_loading...774KB:
同じです。
41で作りました。