メイン 迷える子羊の部屋【初心者専用】 再びドラッグする | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kanakana | Åê¹ÆNo.38653 投稿日時: 2008-5-2 1:46 |
半人前 居住地: 宝塚 投稿: 51
使用環境:
(SP2) pro7.2 :Flash8 pro |
再びドラッグする ステージにドラッグできるインスタンス名mc1を配置し
ボタンを押すと指定の場所に移動するようにフレームアクションを以下のように書きました。
指定の場所(_x=100)に戻ったmc1をもう一度ドラッグして移動させたいのですが、ドラッグ中に_x100の位置に戻ってしまいます。 ボタンを押すたびに指定の位置に移動したmc1をドラッグして移動させるにはどうしたらいいでしょうか。 お手数ですが教えていただけると幸いです。 |
ひろゆき | Åê¹ÆNo.38654 投稿日時: 2008-5-2 2:05 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 再びドラッグする
「目的地に近づく (1)」 移動を何度も行いたいのであれば、
|
永井勝則 | Åê¹ÆNo.38660 投稿日時: 2008-5-2 17:04 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: 再びドラッグする 論理的(コンピュータが得意とする方法)にいうと、"mc1"には
1)ドラッグできる状態 2)ドラッグできない状態 3)移動中の状態 という3つの状態が考えられ、 質問の場合では2)と3)はほぼ同じ状態かもしれませんが、 1)と2)は相反する状態、つまり同時には存在し得ない状態です。 これは、コードの記述とはまた別の、設計に関係してくる基本的な考え方です。 この考えを踏まえつつ、その状態を設定する方法を関数に置き換えてコードを記述すると、たとえば次のようなコードになります。 (一部、ひろゆきさんのコードを拝借しています)
とはいえいきなりこのコードにたどりつくわけではなく、 まずは、前述した”状態を分ける”方法を考えるところが入口になると、思います。
|
永井勝則 | Åê¹ÆNo.38662 投稿日時: 2008-5-2 22:13 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: 再びドラッグする <追加>
"状態"を管理する場所として、ムービークリップのフレームを利用する方法があります。 前述の方法は、メインのタイムラインにいっさいのコードを記述しているため、状態の変化が直感的に分かりづらいと思うので、 以下にムービークリップのフレームを使ったコードを書きます。 testMCとbtnは前と同様、コードで行っている主な内容も変わりません。 ただtestMCに移動先のフレームラベルをつけて、その移動先フレームで、状態の設定を行っているだけです。
|
kanakana | Åê¹ÆNo.38663 投稿日時: 2008-5-2 23:19 |
半人前 居住地: 宝塚 投稿: 51
使用環境:
(SP2) pro7.2 :Flash8 pro |
Re: 再びドラッグする ひろゆき様
ありがとうございました。 考えていた動きになりました。 二つ目の
これはボタンでの動きをはじめに設定しておくことだったのですね。 この設定の仕方の発想が出来ませんでした。 勉強になりました。 |
kanakana | Åê¹ÆNo.38664 投稿日時: 2008-5-2 23:26 |
半人前 居住地: 宝塚 投稿: 51
使用環境:
(SP2) pro7.2 :Flash8 pro |
Re: 再びドラッグする 永井様
ありがとうございました。 「設計に関する基本的な考え方」 とてもよくわかりました。 それを自分で構築していく力がまだまだです。 コードを一つ一つ見て勉強していきます。 私の力では「メインのタイムライン」にコードを書いている方が理解がしやすい(把握しやすい)のですが、MCのタイムラインに書く方が直感的にわかりやすいのですね。 そこの理解からしなければなりません。 |
永井勝則 | Åê¹ÆNo.38665 投稿日時: 2008-5-3 0:21 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: 再びドラッグする 理解しやすい方でまったく問題ないです。
ここで”論理”などど偉そうにいっていることは、何のことはないただの”場合分け”のことです。 つまり、 if(aが1なら){ //aが1のことを行う } else if(aが2なら) { // aが2のことを行う } else if(aが3なら) { // aが3のことを行う } という”場合分け”をまず思いつく必要があります。 "場合分け"は、コンピュータの身になって考えます。 コンピュータは難しいことは分からず、大体が、aとbの2つを比べることくらいしかできません。 で次に、その各場合ごとに、何をどうすれば自分の思っていることが実現できるかを考えます。 これはテクニックです。なので同じような結果を生み出せる方法はいくつもあります。 質問された内容は、このように2段階で分けて考え、思いつく必要があるのです。 ”場合分け”をうまく思いつくことができたら、後の各場合で行うことはどうやったら実現できるかを考えます。 この場合でいうと、 ・ドラッグを可能にすること ・ドラッグを不可能にすること は等価で並列的です。 なので、逆に入れ替えることもできます。 移動中のドラッグは可能にも不可にもできます。 ただしそれも適切な場合分けがあって初めて、どちらにするかを選べるようになります。
|
野中文雄 | Åê¹ÆNo.38666 投稿日時: 2008-5-3 0:51 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 再びドラッグする スクリプトをどこに書くかは、設計やプロジェクトの内容によって変わってきます。
参考:「ActionScriptどこに書く? ? MXスタイルからAS2.0まで」 引用: kanakanaさんは書きました: |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |