actionscriptに行き詰まった厨が語り合うスレ2 (746)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
*50レス目のネタでFLASHを作れ Part46 (253)
衝撃的だったFLASH (487)
【戦争と】歴史・政治・思想FLASH総合スレ・3【平和】 (890)
【無料】Motion SWFで行こう【パラパラマンガ】 (518)
:...............C o o l 2 ................: (418)
FFAA公開停止反対スレ (188)
actionscriptに行き詰まった厨が語り合うスレ2
1 :03/08/04 〜 最終レス :2013/02/16 まったり語れ 俺になんでも聞け
2 : 2
3 : 3
4 : マスターした人って、独学ですか? 今プログラミング苦戦しています
5 : ID:Ft9XqdLxの>>1 と>>4 のギャップにワラタ。
6 : てかこっち。 ActionScript中〜上級者用スレ http://pc4.2ch.net/test/read.cgi/swf/1054659810/l50
7 : >>6 そっちは厨〜錠級なので行きづらいでつ ここは初級スレでつか?(´・ω・`)
8 : >>7 わかる範囲でなら協力しますよ〜。
9 : |ω・`)じゃ、ここブックマークしとこ。また来まつ。
10 : アクションスクリプトの配列の使い方教えてください。 解説したページとかでも結構です。
11 : 配列の使い方とは具体的にどういったことでしょう? //配列(オブジェクト)の生成 my_array = new Array(); //配列に値を入れる my_array[0] = "foo"; my_array[1] = "bar"; my_array[2] = "baz"; //まとめて値を入れる my_array = ["foo", "bar", "baz"]; //値の参照 trace(my_array[0]);//foo #sage進行でいきませんか?
12 : >>11 失礼しました。 どうもありがとう。
13 : キーボードを4回入力するとムービーを表示するアクションスクリプト作ってみたんだけど、うまく動きません。 これを1フレーム目に配置したんだけど、どこがおかしいんでしょう? myListener = new Object(); Key.addListener(myListener); v_c = 0; myListener.onKeyDown = function() { if(v_c < 4) { v_c = v_c + 1; } else { loadMovie("1.swf",this); v_c = 0; } };
14 : 自宅じゃないのでトリプなしで。 >>13 「うまく動きません」は110してただ「事件です!」と 言っているような物です。何の意味もありません。 事件が起こっているのは110した時点でわかります。 何でもなければ110しないわけですから。 「窃盗」事件や「殺人」事件かぐらいの情報は添えるようにしましょう。 まるなげな感じがしてイヤーんです。 とまあ、始まって間もないスレなのでお説教はこの辺にしてw まず、「うまく動きません」事件が「何」事件なのか特定しましょう。 そうすれば、容疑者を特定しやすくなります。 捜査の基本は「聞き込み」です。trace()を使うことで聞き込みできます。 現場をみて、推測できる事件は 「キーダウン取得未遂」、「if分岐」、「loadMovie未遂」、「movie行方不明」、「ミスタイプ」 myListener.onKeyDown = function() { trace("Key is down");//「キーダウン取得未遂」事件か? if(v_c < 4) { v_c = v_c + 1; trace("true v_c : "+v_c); //「if分岐」事件か? } else { loadMovie("1.swf",this); trace("false v_c : "+v_c);//「if分岐」事件か? v_c = 0; } };
15 : さて、以上の聞き込みからは、犯行に関する情報は得られなかったとすると、 「loadMovie未遂」、「movie行方不明」、「タイプミス」事件だと思います。 「タイプミス」の線はなさそうです。「loadMovie未遂」、「movie行方不明」事件のどちらか、 あるいは両方です。複数犯の可能性もあります。ですが犯人がloadMovie、"1.swf"、 thisの中にいることは間違いありません。ここまできたら、取調室で、尋問です。 まずloadMovieアクションについての情報をしらなければなりません。 シンタックスは loadMovie("url",level/target[, variables]); "1.swf"を調べましょう。"url"のファイルがアクセスできるパス上に 存在するのか?loadMovieをgetURLに変えて呼び出してみましょう。 getURL("1.swf");//呼ばれれば、こいつは無罪です。「movie行方不明」ではないようです。 では次にthisを調べましょう。loadMovieの上の行あたりでtrace(this);してみましょう。 こいつが何者かがわかります。[object Object]です。 「loadMovie アクションを使用する場合は、ムービーをロードする先の Flash Player のレベルを指定するか、ターゲットムービークリップを指定します。」 とあります。 loadMovieの第2引数は_levelまたはMovieClipでなければなりません。 もうお分かりですね。「loadMovie未遂」事件の犯人は「this」です。 Now_loading...8KB ◆t314./Fks.でしたw
16 : >>15 ありがとう。 しかし、余計なコードを取っ払って、loadMovieだけを書くと、これでも動くから不思議なんですよね。
17 : >>16 thisを理解して無いとみた。
18 : >>17 そうかも。 余計なコードをとっぱらってない場合のThisは何を指しているんですか?
19 : >>15 thisをrootにしたら動きますね。 勉強させていただきました。
20 : もう一つ教えてください。 プロジェクタで吐き出すとloadMovieが効かないようですが、ムービーを表示させるのによい代替方法はありますか?
21 : >>18 動くコードと動かないコードの違いを 聞き込み(trace)して調査してみましょう。 でないと、また同じ小石でつまずいちゃいますよ。 でも一応答えると、 myListener = new Object(); myListener.onKeyDown= function(){ trace(this); } のthisは>>15 でも言ったようにobject Object(つまり、myListener) _rootのタイムラインに trace(this); の場合のthisはこれが書かれているMovieClip Object(つまり、_root) thisについての詳細はAS辞書を参照です。 >>20 winですか? C:\直下に置いても動作しませんか? パスに2バイト文字が使えないビルドのプレイヤーを使用していませんか? 2バイト文字の使用には、アップデートが必要です。
22 : (⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
23 : >>20 C直下に置いたら動きました。 アップデートしてみます。 ありがとう。
24 : |ω・`)ビミョーンにラベルが高そう。でも期待。
25 : solファイルが消えるときってどんなときでしょうか? たとえばユーザーがファイル自体を消したときに消えるのはわかりますが、何日かたったら消えるとか、クッキー削除の時にきえるとか、そんなこともあるんでしょうか? データを保存するのに使おうかどうか悩んでます。 教えてください。
26 : >>25 すみません、チェックしてませんでした。 >solファイルが消えるときってどんなときでしょうか? んーと、漏れの汁限りですと、 ユーザーサイドで意図的に削除するか、 フラッシュサイドで意図的に削除するのみ だと思います。 >何日かたったら消えるとか、クッキー削除の時にきえるとか、 (今現在では)そういう仕様にはなってないです。 ですので、クライアントサイドにデータが溜まっていきます。 個々のデータはたいした容量ではないかもしれませんが、 消さないと残ってしまう仕様は極悪ですね。 クライアント(ユーザー)サイドのデータの扱いに関してはこちらをチェックしてください。 http://www.macromedia.com/jp/support/flashplayer/help/localinfo/#1_1 //マターリペースでよければ、質問してください。 //各質問スレのほうがレスは確実に早いですからね。。。
27 : >>26 詳細に教えていただいて、ありがとうございます。 マターリペースでも、十分に見合う情報量でございます。
28 : 恥ずかしいのでこっそり。 this._x=200;と setProperty(this,_x,200); の違いを教えてください。
29 : >>28 またまた、遅くなりました。すみません。 >this._x = 200;と setProperty(this, _x, 200);の違い 意味はいっしょです。 違いはと言うと、this._x = 200はflash5以降でないと使えません。 dotシンタックスと言うやつですね。 ECMAscriptに準拠した"ActionScript"というスクリプト言語が flash5以降では使われているからですね。 flash5以前では、slashシンタックスが使われ, "アクション"が実装されています。 setProperty()はアクションです。flash4から使用可能です。 コーディングスタイルによっては、 flash4以降でもsetProperty()を使用する人もいますから、 flash5以降のものをつくる場合は、どちらでも良いと思います。 ※個人的にはdotシンタックスで統一した方がいいと思いますが。
30 : >>29 丁寧で分かりやすい回答ありがとうございました。 また何かあったらよろしくお願いするかもしれません。
31 : |∀・) flash5しか知らなかったから、setPropertyなんて知らなカターヨ。
32 : 外部テキストファイルを読み込むムービーを作成中ですが詰まりました onClipEvent(load){ this.loadVariables("txtfile.txt"); } このコードを書く場所がわかりません 1、レイヤー1の1フレーム目 2、AS用レイヤー2の1フレーム目 3、テキストボックスのMC内の1フレーム目 この3つを試しましたが、1と2はエラーを吐き、3は何も表示されませんでした 書く場所としては3が正しいのですか? あと一度配置したテキストボックスのMC内に再び入る方法を教えてください ダブルクリックしたらカーソルがアイビームになるし
33 : すんません、 >>一度配置したテキストボックスのMC内に再び・・・ ってのはわかりました
34 : |∀・)ジー。 テキストボックスはダイナミックテキスト。値はTextField1にでもしておく。 それをシンボルにしてMCにする。 そのMCのオブジェクトアクション(フレームじゃない)に、コードを書く。 txtfile.txtの中身は、TextField1=ほにゃらら そんな感じ。エロイ人が補足してくれるとうれしい。
35 : 34氏の言う通りにやってみたら出来ました。 オブジェクトアクションというのがイマイチ良く分からないのだけど、 ルートでMCをワンクリックしてASを書いたものがオブジェクトアクション? ということは、この例で言うとテキストボックスのMCの中に入ってしまうと、 そこではオブジェクトアクションは書けないの? あと、プロパティで「ActionScript用に書き出し」にチェックを入れる必要は必ずしもないのですか? 文字化けするという問題は残ってるけど、こっちは自力で何とかします。 根本的なところが分かってないので迷惑かけます。スマンね。
36 : >ルートでMCをワンクリックしてASを書いたものがオブジェクトアクション? そうです。flashにはコードを記述できる場所が3ヶ所あります。 フレーム、ムービークリップ、ボタンです。それぞれはフレームアクション、 ムービークリップのオブジェクトアクション((ムービー)クリップアクション)、 ボタンのオブジェクトアクション(ボタンアクション)と呼ばれてます。 ムービークリップアクションとボタンアクションは、イベントハンドラでなけれ ばなりません。具体的に言うと、クリップアクションでは、onClipEvent()、 ボタンアクションでは、on()を使って記述するということですね。 >そこではオブジェクトアクションは書けないの? そうですね。ムービークリップ自身の内部にクリップアクションは記述できません。 >「ActionScript用に書き出し」にチェックを入れる必要 これは、アクションスクリプトを利用して、動的にMCやサウンドを生成する場合に使います。 MovieClip.attachMovie()メソッドやSound.attachSound()メソッドで使用する場合ですね。 ですから、通常はチェックする必要はありません。 >文字化けするという問題 もう解決されているかとも思いますが、ログのために少々。 これは、頻出ですね。おそらくflashMXをご使用だと推測しますが、 flashMXの内部文字コードはUTF-8です。外部ファイルは、Shift-JISで 書かれているのではないでしょうか?どちらかの文字コードに合わせな ければなりません。外部ファイルをUTF-8にするか、flashMXでShift-JISを 読めるようにするかです。外部ファイルをUTF-8にするには、utf-8対応の エディタを使用することで可能です。 flashMXでShift-JISを読める(厳密には少し違います)ようにするには、 _rootの1フレーム目に System.useCodepage = true; と記述してください。
37 : |∀・) エロイ人の補足は、納得だな。 文字化けは頻出だけど、MXじゃないから、忘れてたよ。
38 : アクションスクリプトからダイナミックテキストフィールドに配列を書き出したいのですが、一つ書くごとに改行を入れたいです。 改行ってできるんでしょうか。 改行させるコードがあれば、教えてください。
39 : >>38 どういう動作がしたいのかイメージしかねます。 何が分かっていて何が分からないのかもわか らないです。もう少し具体的に説明していただけ ると答えられるかもしれません。 開発環境がわからないので一般的なことを。 改行は改行文字を記入すればできますです。
40 : >>39 ありがとうございます。 開発環境はWindows2000&FlashMXです。 al_array = ["山田太郎", "山田花子", "山田次郎"] みたいな配列があるとして、それをテキストフィールドに 山田太郎 山田花子 山田次郎 と言う感じで改行して表示したいんです。 _root.t1 = "this\nis"; などとやってみましたが、thisしか表示されませんでした。
41 : >>40 こんな感じでしょうか。 my_array = ["foo", "bar", "baz"]; my_txt.text = my_array.join("\r");
42 : >>40 "<BR>"モアルヨ(・∀・)
43 : 四角いシェイプが、マウスポインタとの距離により拡大/縮小するASを組んでいます。 シェイプの中心に近づくと拡大、離れると縮小です。 この時にシェイプの中央を中心として拡大縮小したいのですが、 左上を中心として拡大縮小してしまいます。 ライブラリ上では中心点はちゃんとシェイプ中央になっています。 一つ問題があって、このシェイプにはLoadMovie時に外部のJPEGを読ませているということです。 このスクリプトを止めたところ、きちんと中央を中心点として動くことを確認しました。 こういう場合、どうしたらよいのでしょうか? お助けを。
44 : >>43 読み込んだムービークリップは中心点の座標に左上端が付く。 読み込んだ後に対象ムービークリップの_widthと_heightプロパティの 値を調べてその半分の値を_xと_yプロパティにセットすればいい。
45 : 間違えた。半分の値を-1で掛けた値、ね。 clip._x = -(Math.floor(clip._width / 2)); clip._y = -(Math.floor(clip._height / 2)); こう。
46 : loadMovieするとなんかズレる感じってあったなぁ。 普段使わないから、原理とか理由はわからないけど。 >>44 が理由なのか。(・∀・)へぇー
47 : >>46 読み込んだ元クリップに取っての座標は読み込んだ元クリップが作成された Stageオブジェクトに対しての座標だから、それが消失してる。 だから取りあえずクリップの最も若いフレームに存在するオブジェクトの内 最も左上に近い部分の端が読み込んだ側のStageの0,0座標に付く。 だから、読み込み対象のクリップを別に作成する時は、1フレーム目に 全体の幅を示す透明な塗りとかマスクとか配置して置くと、読み込んだ先 で配置計算しやすい。 JPEGとか画像は元からそのような形なのでその点考慮する必要は無いが。
48 : 単に矩形を描いただけのFlashをloadmovieで呼び出しているんですが、画面がloadingのまま変わりません。 直接開くと見えるんですが……。 また、同じスクリプトでjpgやネットから落としたsfwなどを読み込めば、ちゃんと読み込めます。 何が悪いんでしょう? 多分厨にもほどがある質問だと思いますけど、よろしければ教えてください。
49 : (´・ω・`)漏れのスキルじゃわからんなぁ。 現状で問題の切り分けすると、loadmovieが失敗しているか、loadingが失敗している。 で、直接見ると見える。でも、他のを読みこむと読める・・・。 読みこむ方のloadingのスクリプトが失敗しているに1票かな。 なんかscript上はあってるのに、色々組み合わせていくとうまくいかないって事あったよ。 自分の場合はローディングにシーンで切り分けした時だっけな。
50 : >>49 どうもありがとうございます。 ちゃんと読み込めてるんだけど、サイズがはみ出していて見えないだけですた。 すみません。
51 : (゚Д゚;)ズガーン。でも報告(・∀・)bグッジョブ。
52 : 便乗loadmovie質問 loadmovieで読み込んだムービーの再生が終わったら次のムービーを再生するようにして2つ連続で再生させたいんだけど、どうすりゃいいんでしょう? 時間で切り替えるか、再生が終わったことをキャッチする方法があるのかなと想像してるんだけど。 ヒントください。
53 : 自分だったら、loadmovieするムービーの最後にplayを入れておくかな。
54 : >>53 なるほど。 どうもありがとう。 外部ムービーを編集できない場合にはどうします?
55 : 外部ムービーを編集できない場合は… level0のフレームの長さを調整して合わせるぐらいしか思いつかない。(俺は。)
56 : >>55 サンクス。 勉強させていただきました。
57 : onClipEvent(enterFrame){ if(Key.isDown(Key.SPACE)){ i++; _root.attachMovie(tama,"MC_tama"+i,i); _root["MC_tama"+i]._x = this._x; _root["MC_tama"+i]._y = this._y; } } 上記のスクリプトを入れてみたんですが複製されません。 何か間違ってますか?
58 : >>57 書き出し時に含めるオプションをした?
59 : >>58 リンケージ識別子っていうのなら設定しました
60 : >>58 解決しました〜。 有難うございました。
61 : >>60 (゚д゚;)どうしてできなかったのか書いていってくれ・・・
62 : 〓〓〓〓〓 |〓| |〓| 毛 |〓| (⌒⌒) \/ 〓 【チンコお守りレス】このお守りを見たあなたは超超超幸せ者! 2週間以内に必ず彼氏・彼女が出来るよ! すでにいる人は超〜ラブラブ みんなが幸せになりますように… そのかわりこのコピペを1時間以内に、5つ別のスレに貼り付けてね・・ でないと、あなたはインポや性病になります。
63 : >>61 リンゲージ識別子をString型で渡してなかったのを修正したんじゃないか?
64 : 外部MCを動的に読んで、そのMC内の1フレーム目に書き出してある配列にアクセスする スクリプトを書いているだけど、連続して頻繁にMCを読み込むと配列自体がundefinedになる事がある。 デバッグで変数書き出しさせるとちゃんと存在してるし、全て読み込んだかの チェックもして読み込めてるのは間違いなさそうなんだが。 外部MCに配置情報を持たせたアニメーションを複数組み合わせて表示させて、 その一部を動的に入れ替えできる物を作ろうと思って、外部のデータは もう用意してあるんだけど、簡単にできるだろうと思った制御側でどつぼに… 怪しいかなと思ってるのはupdateAfterEvent()でムービーのfps以上の更新してる 事とswapDepths()使ってるぐらいなんだけど、関連が思いつかないし完全にお手上げ状態_| ̄|○ 教えて偉い人。
65 : this.hoge.duplicateMovieClip("hoge"+higo,higo+100); this["hoge"+higo]._x=80+higo*10; this["hoge"+higo].hogefunction(); という処理を行なった時に、 2行目は動いてくれる(x座標が変わる)のですが、 3行目が動いてくれません。 ちなみに、3行目を this.hoge.hogefunction(); //もとのMCのfunctionを呼び出す にした場合は動きます。 これはどこがおかしいのでしょうか。 教えてください。
66 : 親のムービークリップ内の変数は、複製されたムービークリップにコピーされない。 メソッドも同じで、duplicateMovieClip()で複製したMCにはhogefunction()が 存在してないので動かない。
67 : >>66 お答えいただきありがとうございます。 3行目を、 this.hoge.hogefunction(eval("hoge"+higo)); としておいて、hogeに処理をさせる方法で動かすことができました。 ただ、これは一般的な方法なのでしょうか? それとももっと簡単にできるのでしょうか? もしそんな方法があるのでしたら、ぜひお教えくださいませ。
68 : よくある「文字を震えさせる」のはどういうASを使えばいいんですか?
69 : よくあるのか?イメージがわかないんだけども、自分だったら ただブルブルするだけなら、乱数でMC表示位置をブラつかせるが、 なんかこれはイクナイ方法な気がする。
70 : Flash MXを使用していますが、ソースを印刷する時って もしかしてノートパッドとかにコピペしてそこから印刷という手順を踏まないとだめ?
71 : >>70 ごめん。この質問は忘れてくれ。_| ̄|○
72 : (・∀・)?マ、イイカ
73 : ActionScript中〜上級者用スレにカキコしちゃった内容なんですが、 あそこは、質問スレじゃないらしいので改めてここに書き込ませて 頂きます。すいません。。。 サウンドのスクリプトで質問です。 getDateなどで取り出した数値をattachSoundに出力するにはどうすれば よいのでしょうか?サウンドはライブラリのリンケージで「11月」 「23日」とかにしています。 例えば、 Days = mydate.getDate(); Datesound.attachSound("Days+'日'"); こんなんじゃ駄目なんでしょうか? よろしくお願いします。
74 : >>73 Datesound.attachSound(Days+"日");
75 : >>74 上手く音声が出力されました!ありがとうございます!! しかし、次の難関が出てきました。。。 次は、「11月」「24日」「月曜日」というように 音声を続けて出力したいのですが、 どう記述すればいいのかが分かりません。 mydate = new Date(); Mon = (mydate.getMonth()+1); Days = mydate.getDate(); WEEK = "日月火水木金土"; WW = substring(WEEK, mydate.getDay()+1, 1); とした上で、 MS.attachSound(Mon+"月"); DS.attachSound(Days+"日"); WS.attachSound(WW+"曜日"); と言う風にすれば、一つ一つは出力されました。 ボタンを押せば音声が出力され、次のラベルに進むように しています。 on (release) { _root.Datesound.start(); this.gotoAndPlay("datecomplete"); } 僕的にはSound.onSoundCompleteを 使えばいいのかな、と思っていますが… すいませんが、よろしくお願いします!
76 : 色々試してみた結果、 attachSoundを記述した後に MS.onSoundComplete = function() { gotoAndPlay("date02");} という記述をして次のラベルにてまた 次の音を鳴らす、というようにすれば上手く連続して 音声を出力できました。 色々ご迷惑をおかけしました。 どうもありがとうございました。
77 : >>76 何々が完了したら次へ進むって処理は、 それを開始する前に記述する癖をつけた方がいいかも。 onSoundCompleteじゃ関係ないだろうけど、一応癖ってことで・・。
78 : よく読んだら、サウンドをスタートしたあとにってわけじゃなくてattachSoundの後か・・・。 蛇足スマネ・・・。
79 : >>77-78 いえいえ、わざわざありがとうございます。 開始する前に記述する癖はつけたほうがいいですよね。 以後参考にしていきたいと思います。
80 : ふぅ 勉強してみてももう忘れたよ 製品買ってまた挑戦しようかな
81 : Action Scriptってなんの略ですか?
82 : あ、間違えた。 ASってなんの略ですか?
83 : 面白くね
84 : ぎゃーーーーはははははは! 釣れた釣れた!今時こんなネタで釣れるとは思わなんだ!! ぶぱははははむっはぁぁぁあぁぁぁぁ!!! おいみんな!>>82 を見ろよ!ネタにマジレスだよ!! ひぃーーーひぃーーー胸が苦しいぃぃぃ!! ぶひょひょひょひょひょ!!!
85 : flashの本どおりのASを書いて 雪を降らせようとしたのですがなぜか雪が動いてくれません。 何が間違ってるのか自分でわからないのですが 誰か教えてください。 flaファイルを晒した方がいいんでしょうか。
86 : 釣られてしまった… _| ̄|○
87 : >>85 そりゃそうだが。 でも結論は、本の通りじゃないからだぞ。本の通りならできるはずだ。 (が、たまに本が間違っている時があるので、その本のサイトで訂正出てたりする。) まずは使った本のサイトをのぞいてみるべし。
88 : ダイナミックテキストにアルファを適用したいのですが、どうすればよいのでしょう。 教えてください。
89 : >>85 C言語を完全にマスターしてからFLASHしなつぁい。
90 : >>89 え!?C言語とかやった方がいいのか? 俺普通にflashだけしかやったことなくてASやってるけど・・・ >>85 のレベルだったら簡単に作れるけどC言語に手を出した方がいいのかな?
91 : >>88 自分の能力では無理だな。色を変える位しか思いつかない。
92 : >>88 fpsを高くして、1フレーム毎に表示・非表示を切り替えて擬似的に・・・ ちらつくだけだな_| ̄|○
93 : >>88 |`)・・・ 遅すぎだけど、フォント埋め込みすれば適用できるのね・・・始めて知ったよ。 日本語文章とかだとサイズがでかくなり過ぎて、実用的じゃないけど。
94 : >>93 (・∀・)つへぇーへぇー。最初からできないとあきらめてたよ。 数字位ならできるんだな。
95 : >>94 漏れもそう思ってた。 でも、それだと ttp://www.mdn.co.jp/Wdesign/F5DF/n04/S00/ こういう奴が作れないなと思って、調べてみて出来ることに気がついた。 alphaだけじゃなくて、rotationとかscaleも行けるから、応用が利きそう、 アルファベットと数字ならサイズ増加もたいしたこと無いし。
96 : その場にいったら読み込んで、その後はそこにいったら もう読み込みの時間なしで表示してくれる なんてことはできるんでしょうか。 loadmovie使えばいいんでしょうか。。。
97 : >>96 getBytesLoaded()とgetBytesTotal()または、_framesloadedと_totalframesを 使えば出来ると思う。
98 : >>97 ありがとうございます。 試してみます。。。
99 : loadMovie("1.swf",this); の行が原因だと思われます。 このスクリプトはフレーム1に記述したのですよね。 だとするとloadMovieのtargetであるthisはフレーム1のことになります。 loadMovieはtargetのム−ビークリップとロードしたいムービークリップを入れ替えるという動作をさせるものなので targetとして指定するのはムービークリップでなければいけません。 この場合はムービークリップではなくフレームを指しているためロードできないのです。 修正してみましたので参考にしてみてください。 _root.createEmptyMovieClip(mc1); //この行でmc1という空のムービークリップを作製します。 myListener = new Object(); Key.addListener(myListener); v_c = 0; myListener.onKeyDown = function() { if(v_c < 4) { v_c = v_c + 1; } else { loadMovie("1.swf",mc1); v_c = 0; } }; おそらくこれで動くはずです。
100 : 余裕で100ゲット!
101 : AS物凄い勢(ryスレとかぶってる_| ̄|○ こっちに誘導します
102 : はじめまして、桜と申します。 外部のswfを読み込むと通常左上が中心点になりますが、 読み込んだswfの縦横の中心を中心点にしたいのですが どうすればいいのでしょうか?
103 : >>102 ムリ ターゲット読み込みするMCを左上(0,0)に合わせて調整するしかない!
104 : >>102 無理なこと無いけど onClipEvent (data) { h = Stage.height/2; w = Stage.width/2; gb = this.getBounds(); _x += w-(gb.xMax-gb.xMin)/2; _y += h-(gb.yMax-gb.yMin)/2; } 普通>>103 の言うとおり調整します。
105 : すみません、TeamFlashSozaiさんの紅白に出した作品の機能で質問があるんですけど、 あのFLASHは進行状況とかが自然に保存されてるじゃないですか。 あんな風に進行状況とかを保存するためには絶対なにか必要なので、 どうすればいいのでしょうか?
106 : 「〜じゃないですか。」とかいわれてもそんなの知らないんで。
107 : 他のFlashについて質問するんなら、 URL貼っとけよバカ。
108 : >>107 ttp://fsozai.hp.infoseek.co.jp/fla50rw2003Type/ ↑これです。
109 : >>108 flashの下に書いてあるでしょ「この作品はSharedObjectを使用しています 」って。 ググれば詳しい解説してくれてるページがあるぞ。
110 : >>109 ありがとうございます、試してみます。
111 : 関係ないけど、今回の紅白SharedObject使ってる人結構多かったなぁ・・・。 NNSJさんとかも設定の保存に使ってたし。
112 : 便利だもんなぁ。5は無いからクッキーで保存するしかない。
113 : flash単体で出来るのは便利だね。 ただ、クッキー代わりに使う企業も増えてきたみたいだから、注意しないとな・・・ クッキーは拒否できるけどflashは知らない人多いし、一括拒否とか受け入れるかどうか 毎回聞くような設定付けないと、そのうちに問題になりそうだけどな・・・
114 : >>113 すまん、その設定あるな・・・
115 : いちいちMMのサイトに接続しないと設定できないのか・・・不便だ
116 : 初めまして。 テキストフィールドに外部txtファイルを読み込ませ、 HTML形式で表示させようとしています。 が、jpgイメージをimgタグで囲っても表示されません。 同じ階層に置き、FlashPlayerのバージョンも7にしました。 他のフォントタグなどは正しく表示されています。 そのテキストファイルの拡張子をHTMLにするとやはり正しく表示されます。 img以外のタグも使用しているので例のバグ?も関係ないと思います。 何が原因でしょうか。お知恵を拝借。
117 : >>116 使用してるFlashのバージョンは? MX2004からはimgタグ使えるようになったけど、MXでは使えないから・・・ 2004なら使ってないから、スマンが力になれん。
118 : >>117 えっ?imgタグって2004からなのか・・・。 使用バージョンはMXでつ。 つまらん事聞いてすんませんでした。 ご回答ありがとうございました。 つか、良く考えたらASの質問じゃなかったね・・・。それもゴメン。
119 : 教えてください。 オブジェクト内にオブジェクトを持たせることはできますか? 下記のようにやったらできなかったのですが、やり方が間違っているのか、 そもそもできないものなのかがわかりません。 myClass = new class1(); // オブジェクトの生成 myClass.sub_class.p1 = "video"; // オブジェクト内のオブジェクトに値を持たせる myClass.sub_class.p2 = "DVD"; function class1(){ // メイン・オブジェクト sub_class = new class2(); // サブ・オブジェクトを生成 } function class2(){ // サブ・オブジェクト var p1; var p2; }
120 : function class1(){ this.sub_class = new class2(); }
121 : >>120 うまくできました! どうもありががとうございます。助かりました。
122 : 教えてください。お願いします。 オブジェクトが徐々に消えたり、浮かび上がったりするようにしたいと 思います。 で、徐々にアルファを落としていって、 alphaが特定の値に達したら、 今度は増やして行くとようにしたいのですが onClipEvent(enterFrame){ _alpha -=10; } ここまでで詰まってしまいました。 どのように記述すればいいのでしょうか。
123 : >>122 if(){} と false,true を使え!
124 : >>122 俺なら三角関数を使う。
125 : >123 >124 レス、有り難うございます。 三角関数…はちょっと自分のレベルでは手につかないので、 まず123さんのやりかたでやってみようと思います。 ありがとうございました
126 : このスレ乗っ取ります 質問は↓へ ActionScript 物凄い勢いで誰かが質問に答えるスレ http://pc4.2ch.net/test/read.cgi/swf/1070704688/
127 : >>126 おまえが乗っ取る前に2chは閉鎖なんだよ!w http://news4.2ch.net/test/read.cgi/news/1075664207/l50
128 : 【また】FlashGameFestival'04【イベントか】 スレがたったみたいです。 参加はしますが書き込みはまだやってません。 乗っ取ったはいいがナニをするか決めてないのは秘密だ。
129 : 勝手に乗っ取るんじゃねーよゴルァ(゚Д゚#)スレ住民の気持ち考えろ。
130 : ここには推定200人の行き詰まラーがいます。
131 : 10日以上も書き込み無くて、 それ以前のものも質問スレや技術交換スレでやるべきものだけっぽいから乗っ取ったんだが? あとね、こどもの日スレとはまったく関係ないから。
132 : ここは乗っ取りに行き詰まったcascade ◆YU1mgokxPcと語り合うスレになりました。
133 : Enterキーを押したときに、 Text1というテキストボックスにフォーカスがある時はAというルーチン、 Text2というテキストボックスにフォーカスがある時はBというルーチンを 実行させようとしています。 Text1のMCアクションOnClipEvent(KeyDown)にAルーチンを書き、 Text2のOnClipEvent(KeyDown)にBルーチンを書きました。 しかしEnterを押した時にText2にフォーカスがあるのにAルーチンを拾ってしまいます。 FlashでOnClipEvent(KeyDown)は、フォーカスに関係なく、とにかく押せば全て拾ってしまうものなのでしょうか? 一応Text1のMCアクションにSelection.getFocusで分岐させて正しく動くようにはなりましたが、しっくり来ません。 それとも他に方法があるのでしょうか?お願いします。
134 : >>133 Selection.getFocusで分岐させてあげないと あなたにはわかってもplayerにはわかりません。 そういうものです 質問は↓へ ActionScript 物凄い勢いで誰かが質問に答えるスレ http://pc4.2ch.net/test/read.cgi/swf/1070704688/ 技術話は↓へ 【AS】ActionScript技術交換スレ Part2 http://pc4.2ch.net/test/read.cgi/swf/1071929938/l50
135 : ほ〜い
136 : >>132 チトワラタ >>134 勝手に俺ルールで仕切るなゴルァ。ここはまったりやってんだよ
137 : Communication Serverを使用しないでライブカメラ配信は できます?
138 : >>137 jpg吐くソフトとか使えばできるかもな コマ数はあまり出ないだろうけど
139 : >>138 あんがと。 Flash アプリケーションに実行時にロードできるメディアファイルとしては、 SWF、MP3、JPEG、FLV ファイルの 4 種類があります。
140 : まったく放置してるくせにいざ有効利用されそうになると住人の気持ち云々とか寝言ぬかす馬鹿が住人気取るスレはここですか。
141 : そうですが伺か?
142 : >>141 午前4時スレに貼られたからって態々来なくていい。
143 : >>142 こんなスレあるのか・・・知らなかった。 【今は】午前4時になると突然もり上がるスレ【朝?】 http://pc4.2ch.net/test/read.cgi/swf/1074366329/l50 もうFLASH関係ないなw
144 : >>143 違うかったのか! スマソ、言い過ぎた。
145 : あああ
146 : (ノД`)・・・
147 : そろそろ乗っ取ってもいいですか?
148 : だめ。 また俺が疑われるから(w のっとるんなら誰も書き込んでないくそスレが他にも腐るほどあるからそれにしとけ。
149 : ワラタ。
150 : ウォッチャー多すぎ レス少なすぎ
151 : age
152 : すいません質問です。 ボタンのインスタンスに クリックしたら2秒ほどのムービーが再生されるのを作りたいんですが、 「ダウン」のとこにムービークリップを入れても マウスをreleaseしてしまったらそのムービーが「アップ」の ものに変わってしまうじゃないですか? 一回クリックしたら2秒ほどのムービーが流れるようにできるには どのようなスクリプトを入力すればいいか教えてください! よろしくお願いします。
153 : MCで作れ
154 : ボタンシンボルの特徴は アクションスクリプトを書かなくても 通常・オーバー・ダウン・感知範囲の4つの状態を書くことができる フレームが用意されていること、ボタン自身の階層位置をもたないので、 パスの表記が少し違う というところであります。 >>153 さんのいうとおり ボタンで作るのではなく、MCでボタンの機能を作りましょうということです。 フレームラベルに_up _over _down って書いたりするだけでボタンと同じになるよ。 _hitは関係ないので this.hitArea=範囲を指定したインスタンス名;で対応しよう! MC自身の階層位置のパス表記になることに注意しないとね(・∀・)b というわけで、今回の場合は通常状態に戻るというボタン特有機能とかがいらないので 自分で作りましょうってことですね。 今回の相談内容からして… きっとボタンをリリースしたときには新しいフレームに飛んだりしないんだろうから on(rollover){オーバーしたときのムービーのあるフレームへ飛ぶ指定} on(rollout){はなれたときのムービーがあるフレームへ飛ぶ指定} on(release){なにか他のインスタンスへの指示} という感じになるんだろうなぁ。 行き詰った際には またのご来店お待ちしておりますm_m がんばれ!
155 : >>153 >>154 できました!こんな方法があったんですね。 ホント感謝です。どうもありがとうございました!
156 : 助けてください!急に Google 検索ボタンを MC ボタンを用いて作ろうと思いたちました。 ただ、on (release) ではなく、リリース後、数秒後にジャンプしたいんです。 テキスト入力の変数を q として、getURL を実行したいのですが、この場合、フレームにはどのように記述すればよいのでしょうか。 release 時に飛んだ先の最終フレームに getURL("ttp://www.google.co.jp/search","_blank","GET"); とだけ書いたのでは、q を拾ってくれない…ようなのです…が?
157 : >>156 どぞ。 on (release) { jumpGoogle = function () { getURL("http://www.google.co.jp/search?q= "+"macromedia", "_blank", "GET"); clearInterval(intervalID); }; intervalID = setInterval(jumpGoogle, 2000); //2000ミリ秒後ならね }
158 : >>157 すみません、言葉足らずでした。 数秒後ってのは、単に数秒後ってわけじゃなくて、release 処理で飛んだフレームから先にアニメーション区間があり、 その最終フレームで処理をしたいという事なんです。 テキスト入力 → MC ボタンクリック → ちょっと動いて → 最終フレームで Google にジャンプ。 それで、最後のフレームに記述すればいいのかな…と。 つーか、あの… "GET" で取得できるのって、ナニ?くらいな人で申し訳ないです。
159 : 最終フレームでgetUrlすればいいと思われ。 getURL("http://www.google.co.jp/search?q= "+q, qを最終フレームまで引き継いで来ないとダメだけど
160 : >>159 それです。まさにその引き継ぎするためのコードつーか手法が知りたいんです。 あ、環境は Win2000 で FLASH MX です。
161 : スレ違い http://pc4.2ch.net/test/read.cgi/swf/1076854191/l50
162 : りょうかい。 べんきょしてきま。
163 : え(゚д゚)スレ違いなん?
164 : FlashMXです。 モーショントゥイーンを使ってるムービークリップにAS組み込んだのですが、 ASが黒丸の部分でしか動かないのです。 ──────────────────── 黒丸と黒丸の間は動かない 【レイヤー1】 |●──────────────●l 【 A S 】 |a. l ──────────────────── 1フレーム毎にASを組み込むのは手間がかかりますし、 作業の効率も悪くなってしまいます。。 説明が悪く、理解しにくいかもしれませんが 何か良い方法はないでしょうか・・・ ASなんて嫌いだァァァァァァッ!ヽ(`Д´)ノ
165 : >>164 うん。説明が悪くてまったく理解できない。 けどAS嫌いになって欲しくないので、勘で返答。エスパーと呼んでくれ。 もう一枚レイヤー作って、キーフレームはレイヤー1の一つ目のキーフレームと同じフレームにあるだけにして そこにon(enterFrame)で処理を書くってのはどう?
166 : スイマセン、自己解決しちゃいました・・・。 エスパーさん もとい>>165 さん、ご迷惑おかけしました。
167 : >>166 どういう風に解決したか、書いていってホスイのう。
168 : >>167 さん [できねー(゚Д゚)] ↓ [返事 キタ━(゚∀゚)━!!] ↓ [でもヤパーリ デキネー('Д`;)] ↓ [『応用』 してみるテスト(´-`)] ↓ [デケタ━('∀`)━!!] こんな感じです。
169 : >>168 喪まいさんは、ASやる前に日本語勉強しる。
170 : >>168 ヤベーワラタ。
171 : >>168 解決「手段」のほうを書いて欲しいのよ。
172 : ストップウォッチはどうやったら作れるのでしょうか? now = new Date(); nowtime = now.getSeconds(); これだと0秒から始まらないのです・・・
173 : getTimerを使いなさい
174 : ボタンを押すと1.2.3.4と秒を出したいのですがどうしたらいいですか?
175 : >>174 ボタンを押すと1.2.3.4って普通に秒を出すって事?
176 : FlashMXなら、samplesフォルダにTimer.flaってのがある
177 : お尋ねをいたします。 FlashMX ActionScriptで 外部または内部参照データを元に結果を表示したいのです。 具体的には、参照データは以下のもので さる いぬ ⇒A ネコ ブタ ⇒B いぬ ウシ ⇒C トリ ウシ ⇒D さる ネコ ⇒NG(組み合わせに無いもの) 2つのテキストボックスに格納されているそれぞれ2つのデータ がさるといぬの組み合わせ(逆順いぬとさるでも同様)であれば 別のテキストボックスにAを表示し、ネコとブタではB いぬとウシはCとし、組み合わせになければ、NGという ように参照データをもとに 表示をかえたいと考えております。 このような関数というのがあるのかも不明です。 エクセルでいうmatch関数とlookup関数を使ったようなもの というのでしょうか? こんな関数があるよ・・・というのでも結構です。 よろしくご教授くださいませ。 OS :WINXP アプリ:FLASH MX
178 : 文章を一文字づつ出すのってどうしたらいいですか? お願いします。 ttp://www.geocities.co.jp/SiliconValley-Sunnyvale/9343/as_text1.html
179 : >>177 関数はわからないや。自分なら2次元配列作って判定するかな。 >>178 アウトライン取ってあるね。 単純にテキストボックスに1文字ずつ吐き出してるだけじゃ無さそうだなぁ。 でも動的に表示する文字アウトラインで記憶にひっかかるなぁ・・・
180 : >>178 ttp://homepage1.nifty.com/OMEGAPOINT/web/flash/script/01.htm
181 : >>180 できました。ありがとうございました。
182 : >>179 ありがとうございます。 二次元配列についてのヒントを戴けますでしょうか?
183 : >>182 条件を表にしてみる。 さる いぬ ネコ ブタ ウシ トリ さる NG A NG NG NG NG いぬ A NG NG NG C NG ネコ B ブタ B ウシ C D トリ D で、さる〜トリまでを1〜5に対応させて 二次元配列で、結果を取り出す。という事を考えたんだけど。
184 : _| ̄|○ズレてるなぁ・・・訂正 条件を表にしてみる。 さる いぬ ネコ ブタ ウシ トリ さる NG A NG NG NG NG いぬ A NG NG NG C NG ネコ NG NG NG B NG NG ブタ NG NG B NG NG NG ウシ NG C NG NG NG D トリ NG NG NG NG D NG で、さる〜トリまでを1〜6に対応させて 二次元配列で、結果を取り出す。という事を考えたんだけど。
185 : >>184 ひぇーーー、難しそう。 書籍で調べてやってみますです。
186 : マウスの移動速度って簡単に取得できますか?
187 : >>184 確かに二次列配列がぴったりきますです。 こんな感じかな?と思うのですが、肝心の判定で つまずいています。 >で、さる〜トリまでを1〜6に対応させて というのは、インスタント名に1〜6を対応させればいいのでしょうか? test=new Array(); test[0]=new Array("A","NG","NG","NG","NG"); test[1]=new Array("A","NG","NG","NG","C","NG"); test[2]=new Array("NG","NG","NG","B","NG","NG"); test[3]=new Array("NG","NG","B","NG","NG","NG"); test[4]=new Array("NG","C","NG","NG","NG","D"); test[5]=new Array("NG","NG","NG","NG","D","NG"); trace(test[0][0]);
188 : 1文字ずつ文字を表示してて、クリックしたら全部表示とか、 ブラウザ風に「もどる」「進む」とかで今まで進んだ画面を戻って確認 とかをやってみたいんですけどASをどう組めばいいですか?
189 : >>188 gotoAndPlay
190 : あ、一文字ずつ表示するのは上の方にあったんですね しかし、クリックしたら一気に全部表示ってやり方がわかりません よかったらそれの組み方を教えてください
191 : >>190 全部表示したフレームに>>189
192 : >>190 何の事は無い。 >>180 の方法なら、最初に設定した文章を表示すれば良いだけ。
193 : あの、俺はアホなんでしょうか? >180のやつをそのままコピペしても「・任_」で止まってうまくいきません
194 : やっぱ俺がアホでした 同じフレームに全部書いてました
195 : >というのは、インスタント名に1〜6を対応させればいいのでしょうか? ↓ >というのは、インスタント名を1〜6として対応させればいいのでしょうか? の誤りです。
196 : インスタントラーメン
197 : >>187 うん、そんな感じ。
198 : >>196 激しく同意
199 : 失礼しました。 ×インスタント ○インスタンス
200 : 初歩的な質問で非常に申し訳ないのですが、ご指南お願いします。 ボタン(シンボル名:bottun01)をマウスオーバーしたら 変数(変数を含むMC名:TIME)を表示する時、 どのように記述すればよいのでしょうか? ボタンシンボル内のオーバーにMCを配置し、 変数を定義し、 TIME = (〜〜〜) と入力しても出力されません。 TIMEの前に何か入れればいいことまでは分かるのですが… よろしくおねがいします!!
201 : Flash Playerのメニューバーをどうにか消す方法はありませんか? 「ファイル」とか「表示」とか「制御」とか... よろしくお願いします!!
202 : >>201 釣りと分かっててマジレス。 ブラウザ
203 : 少し言葉が足りませんでした つまり、swfをローカルにダウンロードして開くと「Macromedia Flash Player 」って起動しますよね? それにある、メニューバーです それをどうにか消すためのASを教えていただきたいんですけど
204 : >>203 ASじゃどうにもなりません 諦めてください Javascriptで枠を消したウィンドウを作って そこにダウンロードしたswfを表示させるのがいいかと思います
205 : >>200 自分だったら、逆に、MCの内部にボタンを置くな。 で、マウスオーバーやマウスアウトで親のMCに表示、非表示の指示を送る感じ。
206 : >>201 Stage.showMenu = false;
207 : それは右クリックのメニューだな
208 : >>207 そそ、右クリック消す奴。 でもこれ宣言するとSAプレーヤーのメニューバーも消える罠。
209 : おお 本当だ いいことを聞いたアリガd
210 : >>208 おおお!そうだったのかー試してみよう!
211 : すげー!なったよ!便利だ!!。プロジェクタまでは無理か。
212 : >>211 試したことないけど、次の命令で隠せないかな?(プロジェクタ用) fscommand("showmenu","false");
213 : ただし、それをやるとSAで見る場合に上下に余白ができる罠。 なのでそれも考慮したムビ作りを心がけましょう。
214 : あ、Stage.showMenu = false; に関してね。
215 : >>213-214 あ、そのことすっかり忘れてた(汗 上下の空白に関する回避方です、確かこれでOKなはず。 Stage.showMenu = false; Stage.scaleMode = "exactFit";
216 : なんでここでこんないい技が披露されているんだ・・
217 : 質問です! プロジェクタに再生とか巻き戻しとかのショートカットキーがありますよね? それらを無効化するASってありますか?
218 : ASは無いよ
219 : >>217 fscommand("trapallkeys","true");
220 : >>219 おぉ!できました!!ありがとうございます
221 : 質問です。 いくつかあるMCの中からアルファ値が50の MCのターゲットパスの取得はどう表せばいいのでしょうか?
222 : (´・ω・)難しいねぇ。 自分だったら、MC名を配列で持って総当りで取り出すとかしか思いつかないや。
223 : >221 for (obj in oyaMC){ if (oyaMC[obj]._alpha==50){ //処理を記述 //本来ならif (typeof(oyaMC[obj])=="movieclip")くらいやった方がいいが //_alphaなんてどうせMCにしかないでしょ。 } } ところで俺も質問させてくだちい。 ブラウザで <PARAM NAME=movie VALUE="swf/myFlash.swf">などと 書いたとき、swf側から表示してるhtmlのURLを調べる方法はないですかねぇ。 _urlだと、swf自体のURLを表示しやがるもので。
224 : >>223 勝手に外部にあpされたときに再生できなくでもする気か? サンドボックスの仕様上できない気がするが自信はない
225 : javascript使って窓の情報抜き出す
226 : 質問です。 「たて」と「よこ」のテキストボックスがあります。 複数の図形が並んでいて、クリックしたときに そのサイズがテキストボックスに表示されるようにしたいのですが どうしたらいいんでしょうか。 ASの組み立てがわからなくて困ってます。 よろしくお願いします
227 : 1 テキストボックスをダイナミックテキストにする 2 テキストボックスの情報の変数ってところに、tateとyokoと入れる 3 テキストボックスをMCにして、tatebox、yokoboxとインスタンス名を付ける 4 クリックする図形をMCにして on(release){ _root.tatebox.tate = this.height; _root.yokobox.yoko = this.width; } と、全ての図形に書く。
228 : on(release){ _root.tatebox.tate = this._height; _root.yokobox.yoko = this._width; } に訂正
229 : swfを外部読み込みしてmovieを入れたいんですが, どう書けばいいんでしょうか。 ちなみに,私が書いた物は, on (press) { _root.BEAT.loadMOVIE("BEAT.swf"); } です。 全く動かず。 それと,シンボル(BEAT)はボタンに設定していても大丈夫でしょうか。
230 : >229 loadMOVIEを loadMovie に変えて、試してみよう。 こういうのは、大文字小文字を勝手に変えてはいけない。
231 : >227さん できました!ありがとうございました。
232 : 10→1フレームの順番に再生(逆再生)していくにはどうしたらいいのでしょうか? やっぱりフレームをコピーして逆に並べないといけないんでしょうか?
233 : 逆再生する function onRollOut(){ onEnterFrame = function(){ if (_currentframe <= 1) { onEnterFrame = null; } else { gotoAndStop(_currentframe - 1); } } }
234 : on (press) { myLoadVars = new LoadVars(); myLoadVars.load("http://127.0.0.1/*****.txt "); myLoadVars.onLoad = function() { _root.text1 = this.list1; _root.text2 = this.list2; }; } というボタンを作って、ダイナミックテキストの変数 text1、text2 に *****.txt から変数を読み込んで入れたいのですが日本語が文字化けしてしまいます。 英数字の場合は問題なく読み込めるんですが・・・ system.useCodepage = true; が、機能してないのか他に何か原因がるのか。もし何かわかる人がいたら教えてほしいです。 (*****.txtの中身) &list1=明日/6000 &list2=明後日/2000
235 : 自己解決しました。 system.useCodepage = true; ↓ System.useCodepage = true; でした。Flashのヘルプの 次のコードを追加します。 system.useCodepage = true; を鵜呑みにしてコピペしたのが原因でした。
236 : フラッシュの中のテキストにリンクを貼る方法しってます? あ、テキストボックス単位ではなくて同じテキストボックスの中に 複数のリンクを貼る方法。 具体例をあげるとするとgarni(MICROSCOPE)さんのリンクみたいな感じに。 ホント馬鹿な質問だとは思いますが、おしえていただけませんか? MXです。 どっかでこれと同じレス見かけるかも知れませんが、ホント困ってます。 御願いします。
237 : >>236 文字の上に透明の長方形ボタンを置こう。普通にボタン作って 配置したボタンいんすたんすのアルファを0%にするのですよ。 で on(release){ Geturl("ミャーの人のURI"); } 頑張って! もっと効率のいい方法あったらごめんなさい。
238 : HTML読み込んだらアンカータグって死んじゃうんだっけ?
239 : スレ違いかもしれませんけど、ビヘイビアを表示させるにはどうしたらいいでしょうか? スクリプトには関係ないかも知んないけど・・・
240 : >>237 あほか
241 : >>239 ビヘイビアって何?
242 : Flashを再生したり、停止したり、巻き戻ししたりするプログラム(? らしい
243 : >>236 なんか、ダイナミックテキストにタグで色々書いたテキスト読み込めば良いかもしれない。
244 : >>236 テキストボックスの中「に」貼るのか、 テキストボックスの中「から」貼るのか、で全然違うんだが、 中「に」貼る方法の質問だよな? >>239 これかな? ttp://www.macromedia.com/jp/support/flash/ts/documents/fl0299.html
245 : >236 単純に、 myTextField.html = true myTextField.htmlText = "<a href='http://www.yahoo.co.jp'> ヤフー</a>とか<br>"; myTextField.htmlText += "<a href='http://2ch.net'> 2ちゃんねる</a>とか"; じゃダメなんだろうか?
246 : 質問です。 fcsでサーバに録画するスクリプトを作っています。 制限時間で再生を止める事もできるのですが、録画を止める事ができません。 どうか知恵をお貸しください。 たとえば、普通のflashで制限時間で動作を止めるスクリプトはどうやるのでしょうか? よろしくお願いします。
247 : >246 NetStream.publish()にはlengthパラメータがないから、その辺は 工夫で乗り切ろう。たとえば: myStream_ns.publish(myVideo, "record"); としたうえで、setIntervalをつかい、お望みの秒数で myStream_ns.close(); もう少し詳しい状況を教えてくれれば、多少はマシな答えが できるかも知れない。
248 : >>246 setIntervalで変数記録してclearIntervalで止める.。 レス書いてて自分でなんか作りたくなったw
249 : DataGridで仮想列を作って下のような動作をさせています。 dataGridColumn3.labelFunction = function(item) { return Math.ceil(item.col1 / item.col2); }; 困っているのは、「Math.ceil(item.col1 / item.col2)」 の部分を サーバからスクリプト文字列を受け取って実行させたいのですが、 下のように書いたところ「Math.ceil(item.col1 / item.col2)」 と表示されてしまいます。 dataGridColumn3.labelFunction = function(item) { return scriptString; }; eval もactionscriptでは駄目でした Function の中身を文字列から作ることは可能でしょうか? 良い方法を教えてください。
250 : Flashじゃないんだけどこれの曲のタイトル何でしょう。 とっても聞いたことはあるんだけど思い出せない。 http://pya.cc/pyaimg/pimg.php?imgid=1880
251 : うわっ!スレ間違えました。 近くにあったみたいでクリックし間違えた・・・; ごめんなさい。
252 : gotoAndStopって同一シーン内のフレームでしか飛べないのですか??
253 : >>252 違うシーンにもgotoできます。ノーマルモードでASを組めばシーンを 指定したり、フレームを指定したり、サポートしてくれるパラメータエリアが表示されて 初心者でもASを組めるはずなんですけどねぇ。
254 : 質問させてください。 MX2004 Proで外部flvファイルをASの new NetConnection() new NetStream() など使ってストリーミング再生するんですけど、 ローカル(PC)上では正常に再生するのに webサーバーにファイルをウぷすると再生しない状態でつ。 これってwebサーバーの側仕様も関わってきますか? どなたかご教授ねがいまつ。
255 : 上記修正します。 >ローカル(PC)上では正常に再生するのに >webサーバーにファイルをウぷすると再生しない状態でつ。 ではなくて、 Flashアプリのプレビューで確認すると正常に外部flvを再生しますが、 ブラウザでこのドキュメント(swf)が埋め込まれたhtmlにアクセスすると 外部flvが表示されないでつ(ローカル上、web上共に)。 ただ外部flvがswfに読み込まれているのは確かです。 だけど表示しない。。
256 : ASなんてわっかんねーよ!
257 : >255 「ブラウザの」プラグインのバージョンは最新? バージョン6だと、FCSにしか対応してくれないから アップデートしておこう。
258 : >257さん もちろん最新です。 というのも、やはりブラウザだろうがswfを直開こうが、 ローカルでは映像が見れます。 Webにうpすると×なんですよねぇ(外部flvはダウンロードされているのに)。 NetConnection系のスクリプトがあやしいのかなぁ。。
259 : いや、NetStream系っぽいな
260 : swfで参照するファイルってパーミッションとか転送とか関係ないのん?
261 : 自己解決。 flvをうpする時のFTP設定 or MIME設定が ビミョーに絡んでたようで。 お騒がせしまつた。
262 : >>245 だいぶ時がたってますがかなり感謝。嬉しいです。 レスの直後に言えずに申し訳ありませんでした。
263 : ポストペットのようなペット物を作ってます。 とりあえずペットのしぐさ(歩く・歌う・踊るなど)のMCは出来たんですが、 ・ステージの決められた範囲を歩くしぐさのMCでランダムなコースを通って歩き回る。 ・歩いている途中で時々立ち止まる。 ・立ち止まっている間は歌ったり踊ったりをランダムに発現。 ・再び歩き出すときは歩くMCで。 この辺のことをASでやりたいんですがどうかご教授を。
264 : ・ステージの決められた範囲を歩くしぐさのMCでランダムなコースを通って歩き回る。 ・歩いている途中で時々立ち止まる。 ・立ち止まっている間は歌ったり踊ったりをランダムに発現。 ・再び歩き出すときは歩くMCで。 変数を使う。いじょ。
265 : って答えだけじゃ可哀想なんで、ちょっとヒントだな。 変数を使って、フラグを設定すれば良いと思う。 hoge=0 から始まって、hoge=0 の時に、ランダムで方向を設定する変数を取得(vect)。 8方向に対応してるとして、1-8の変数を取得。 vectが○ の時、 ○の方向へ移動。同時に移動する際に、hogeをランダムで+していく。 hogeがXX以上になった時、hoge=0 に戻して、再びvectを取得させる。 これでランダムに動くって動作は行けるだろう。 MCの構造とかについては、人それぞれだから、vectとgotoAndStopを同じ値にするとか、そう言う工夫については言及しない。 ここまでが分かれば、if(hoge=ZZ){踊る} 等の細かい設定もフラグ立てで分かるはず。
266 : >>264-265 早速レスありがとう。 正直ASはgotoくらいしか書いたことないんでかなり難航しそうだけど どうにかヒントを読み取って動かしたいと思いまうす。
267 : http://2ch.senshin.org/owarai/cgi-bin/img-box/img20040427134335.lzh 昼食後に雨強くて暇だったんで、適当にやってみたよ。 記述に関して、もっと簡略化出来る!とかは勘弁ね。 とりあえず、このソースでランダムに動かすって事は理解出来ると思う。 これが分かれば、後は条件設定の分岐を増やしてやるだけ。
268 : >>267 DLして覗いてみたらすごい分かりやすくコメントしてあってビックリしました。 取りあえずは改造してランダムに動き回らせることが出来ました。ありがとう! あとはどうにか色んな分岐を書いてみます。 早くゼロからサクサク書けるようになりたい…。
269 : いまいち値の参照と代入の挙動がわからないんだけど var test1 = new Number(23); var test2 = new Object(); test2.hoge = test1; test1 = 233; trace(test2.hoge); こうすると出力は23になるけど、233を表示させるにはどういう風にすればいいの? 参照元の値を書き換えて参照先の値を動的に変化するようにしたいのです。
270 : >>269 >test2.hoge = test1; >test1 = 233; >trace(test2.hoge); これでは、いつまでやってもtest2は、233にはならないよねぇ。 自分なら関数というか、オブジェクトの内部変更のメソッド的なものを用意して 変更するだろうな。
271 : >>263 いる?
272 : >>269 さらに深くするとか var test1 = new Object(); test1.val = new Number(23); var test2 = new Object(); test2.hoge = test1; test1.val = 233; trace(test2.hoge.val);
273 : >>265 イマスヨー。 スクリプト関連のスレを定期的に巡回してます。
274 : >>263 どんな具合? 360方向にランダム移動する物を作ってみたんだが。 http://2ch.senshin.org/owarai/cgi-bin/img-box/img20040428234318.spl
275 : >>265 ヌオ、凄い。 取りあえずは前回UPしてもらったソースを改造して、 ・vectのパターンを増やして斜め方向に歩く。 ・同じくvectパターン増やしてランダムなモーションをする。 ってのは出来ました。 やり方あってるのか分からないけど取りあえず思うように動いたのでかなり助かりました。 (作ってるのが某電子ペットのコラみたいなんでUPは気が引けマス…)
276 : UPする必要ないでしょ。 語り合いスレだし。暇潰しの馴れ合いスレだと思ってれば良いんで無い? 質問スレとは独立してるし。 漏れもポスポみたいなの興味あったし、勉強にもなりますから。 上の奴。 sx = math.random()*90 sy = math.sqrt(8100-sx*sx) vect = math.floor(math.random()*4+1) 円関数が、y~2 + x~2 = r~2 って所から、 y = √((r~2 - x~2)) に分解して関数定義させ、 座標取得とは別に、vectで4方向を定義して、条件分岐で結果的に 4*90 の360方向を叩き出してみた。 もし斜めに動かすなら、三角関数から移動距離を算出した方がより正確に動くかと思って。 参考までにどうぞ。精度を求めないようだったらスルーでOKっす。
277 : 今度は日本語の説明文の理解すら危うくなってきました_| ̄|○ やっぱりスクリプト以前にやりたいことを数学的にイメージできないと厳しいんですかねー。 と言うわけで、すぐ上のサンプルはかなり面白い動きをしてるけど理解が追いつくまでコピペして封印しときます。 アクションスクリプト恐るべし。
278 : >>263 ちょっと分かりにくく書いたかもしれないや。 例えば8方向だと、上方向に100動く、右方向に100動くって設定するとしてそれは問題ないと思うけど、 右上に動く場合は45度の二等辺三角形だから、ピタゴラスの定理から 1 : √2 = hoge : 100 ってなるよね。 1:1:√2 って奴だね。 _x _y を同時に動かして斜め移動を表現するならば、移動量は100にしたい訳で、 移動量100を求める為には、やはりピタゴラスさんが重要になってきてしまうよね。 右上に+100移動させる時、_x _y ともに、+(100/√2) させると、ちょうど右上に100移動してくれる訳。 8方向なら手作業で入力しても余裕でそ。
279 : 質問です。 テキスト入力でエンターが押されたら云々という処理をやりたいと思い、 //textbox=テキスト入力のインスタンス名 textbox.onSetFocus = function() { flag = true; }; textbox.onKillFocus = function() { flag = false; }; a = new Object(); a.onKeyDown = function() { if (Key.isDown(Key.ENTER)) { if (flag) { text = textbox.text; textbox.text = ""; } } }; Key.addListener(a); のように書いたのですが、もっと一般的な方法があるのでしょうか? もしあれば教えてください。
280 : >>279 Key.ENTERで判断すると日本語入力の場合は IME作業中のENTERもとってきちゃうので Key.getCode() == 13 にした方がいいかも。 あとテキストが複数になると>>279 のコードを全部の テキストボックスsetFocus指定しなきゃならんので Selection.addListener(リスナー名)とかにして、そのリスナーの中に リスナー名.setFocus = function(){ if(対象がテキストボックスだったら){ >>279 の内容 } } って書くといいかな。
281 : と思ったら、上の方法では日本語入力を確定するためのEnterで引っかかってしまって思ったように動きませんでした。 どうすればよいでしょうか。
282 : かぶってしまいました。 ありがとうございます!
283 : >>276 あー、なるほど。 上では色んな方向で移動量を同じにしてるんですな。 しかし思いっきり文系だったんで、そうしたい!と思っても パッと公式出てこないのが痛い…
284 : http://rose.zero.ad.jp/~zaf63490/flash/ball.html この間のランダム移動君を利用して簡単なゲーム作ってみた。 初めてのゲームっぽい物だったから苦労したわぁ・・・。 ヘロンの公式覚えてて良かった。
285 : >>284 GJ!(AAry なかなかおもろい
286 : >>284 リブルラブル思い出した。189914
287 : >>284 ありがとー。 ちなみに、面積がベースポイント+特殊ボーナスって形で得点弾き出してます。 広ければ良いって訳でもなく、どちらかと言えば形が綺麗な方が点数高いかもねー。 とりあえず、特殊ボーナスの一部として、2点が凄く近い、凄く遠い、垂直or水平方向の直線に近い。 あたりはボーナスポイント高めっす。 狙ってみると楽しいかも。
288 : アンカーミス >>285 >>286
289 : すません、loadMovieしたjpegが言うことを聞いてくれません。 _root.createEmptyMovieClip("image",10); loadMovie("http://hogehoge.com/hogehoge.jpg ", _root.image); _root.image.onRollOver = function () { this._alpha = 20; };
290 : >>284 152447点しか行かない・・・。ムキー
291 : swfファイルを皆さんどういう様に管理していますか? 効率的なファイル管理を考えるスレ立てました。 あなた達のディレクトリ構造を教えなさい。 http://pc4.2ch.net/test/read.cgi/swf/1083981225/
292 : お助けを〜。 画面内クリック一発で複数の MC を一斉に動作させたい時って、どこにどんな記述をすればいいのでしょうか? 具体的には、複数の MC は、duplicate で増やしたもので、名前は mc1〜mc40 のようになっています (条件により数は増減しますが)。 で、alpha[1]〜alpha[40] で定義された値を利用して、mc1 なら alpha[1]、mc40 なら alpha[40] だけ一定量ずつ alpha 値を減少、alpha 値が0以下になった時点で、その MC を remove したいのです。 よろしくお願いします。 あ、バージョンは FLASH MX です。 基本すぎてスレ違いだったらスマソン。
293 : どう言う条件でforからdupeしてるのか、複製後はどう言う動きをするのか、などの情報が必要かと思われる。 this.onRelease = function() { _alpha -= hoge; if (_alpha<0) { this.removeMovieClip();} こんな具合でどうだろ。
294 : intobj = new Object(); intobj.alp = 100; intobj.per_a = Number(this._name.substr(2)); //1-40 intobj.onMouseDown = function() { this.alp -= this.per_a; if (this.alp<=0) { this.removeMovieClip(); } this._alpha = this.alp; }; duplicateしたときの第四引数にintobjを入れてみてください
295 : onReleaseだとボタン化する予感
296 : 素早いレスありがとうございます! > 293 説明足りませんでした。 dup 元の MC のムービークリップアクション中で、スペース押したら元の MC から mc1, mc2, mc3… と複製 (最大で 40 個マデ) されます。 で、したい動作は、画面の中のどこでもいいからクリックしたら( MC 上ではなく)、dup った各 MC の 特定フレームに移動、対応した量 (alpha[i]) ずつアルファ値を変化 → 消えたらその MC ごと消し です。 アルファと書きましたが、実は、他のパラメータ (_x, _y, _rotation, _xscale, _yscale) も同時に変更してます。 とりあえずアルファ値の操作法さえわかればなんとかなるかと思って省略してました (アルファが残ってても画面外に出たら消すとか)。 >294-295 だ、第四引数 !? う゛…コピペしつつ、勉強してみます。 onRelease だとボタン化 → 画面全体を透明ボタンにして…とか…でしょう…か… (自信なさすぎ)。 意外にややこしい事をしようとしているのだろうか俺…。 ちょっくら悩んで来ます。
297 : サンプルをあげてみてはどうだろうか。
298 : えーと、for 文で回して、dup った全ての MC を指定フレームに移動させる事はできました。 結局透明な MC を画面全体に配置して、その MC のフレームアクションに this.onRelease = function(){ for (j=1;j<=_root.auhoe.i;j++){ _root["mc"+j].gotoAndPlay(3); } } としました (_root.auhoe.i は複製した数をカウントしたものです)。 で、dup り元の MC (auhoe) の3フレに、 if (this._alpha > 0){ this._alpha -= _root.auhoe.alpha[Number(this._name.substr(2))]; if (this._alpha <= 0){ this._alpha = 0; } } else{ this.removeMovieClip(); } と記述、4フレに gotoAndPlay(3); と記述しました。 これを実行すると、複製した MC が一斉に切り替わるまでは良いのですが、消える動作をするのが一つだけ…。 この動作の原因はどの辺りにあるのでしょうか ?? 毎度長くて申し訳ないですがよろしくお願い致します。
299 : スンマセン自己解決しました。 複製時、配列が毎回 new されてて、要素が消えてただけでした。がくー。 お騒がせしました。
300 : ほうほう
301 : キーボードの前に向かうまでは、 めんどくさいなーなのに、 いざ、スクリプトを書き始めると楽しくなってきて 気が付くと数時間がすぎているのは異常ですか? とりあえず周りからは出世しないと言われてます
302 : >>301 ヨメさんとエチーするときの気分に似てる・・・orz
303 : >>302 まだ楽しくなる気持ちがあるだけまし・・・orz
304 : スイマセンが「^」の使い方を教えてくれませんか? 色々本で調べたり実際に使ってみたりしたんですがよくわからなかったので・・・。 こんなことは常識だったりするんでしょうか_| ̄|○
305 : x^2と書くと、xの二乗ってなる言語もあるが、 ASでは、Math.pow(x,2)て書くことになるので関係ない。 2乗の場合は、x*xの方が楽。
306 : >>304 (^^) これからも応援してくださいね。
307 : >>305 そうなんですか。 ありがとうございます。 でも本とかには^はビット演算が何たらとか書いてあるんですが・・・
308 : >>307 ビット演算使うときになったらまたおいで。 RGBを扱うときに使えれば少し見やすいスクリプトにはなる。 ただし、別の方法でやるのが普通なので覚えなくてもよい。
309 : >>308 その他にも暗号化とかゲームデータの軽減とかにも使えるな。
310 : var sendvars = new LoadVars(); var recvvars = new LoadVars(); recvvars.onLoad = function(success){}; sendvars.sendAndLoad("test.cgi",recvvars,"POST"); こんな感じにonLoadで結果の戻りが非同期で返ってくる物が 多いみたいだけど、処理の流れがつかみにくいので完了復帰で 上記みたいな処理を行いたいんだけど、どういう風にすればいいのかな。
311 : >>310 stopしては?
312 : 戻り値の組み合わせをフラグにするとか。
313 : >>308 わかりました。 どうやら自分にはまだまだわからなくていい話みたいです。 ありがとうございました。
314 : mc1〜mc5まで5つのムービークリップと ムービークリップの中にボタンを入れたbutton1〜5の5つのムービークリップがあり、 button1をクリックしたら、mc1にAの動作、それ以外のmcにはBの動作、 button2をクリックしたら、mc2にAの動作、それ以外のmcにはBの動作 ・ ・ button5をクリックしたら、mc5にAの動作、それ以外のmcにはBの動作…をさせたいと思っています。 で、ムービークリップbutton1〜5の中のボタンに以下のスクリプトを書きましたが、動作しません。 on (press) { myNo = _name.substring(((_name.length)-1),(_name.length)); for(i=1; i<=5; i++){ if(i == myNo){ with(_parent.mc+i){ //Aの動作 } }else{ with(_parent.mc+i){ //Bの動作 } } } } withの対象の指定の仕方がまずいのだと思いますが、 どういったスクリプトを書けばよいかわかりません。 例えば変数i=1のとき、withの対象に(_parent.mc1)を入れるためにはどうしたらよいのでしょうか。 たぶんものすごい初歩的な質問のような気がしますが、よろしくお願いいたします。
315 : >>314 多分、君は物凄く真面目で勤勉な事が分かる。 けど制御させるだけならば、フラグ変数を送って処理してあげれば良いと思うよ。
316 : >>314 button1〜5の数字を取得してーなんだよね? myNoは、traceで確認したら、ちゃんと取得できてる? 出来てるなら、withの文を with( _parent[ "mc" + i ] ) にすれば出来ると思う。
317 : >>315 お返事ありがとうございます。 今後のために、もしよかったらその「フラグ変数を送って処理」というのを 簡単で結構ですので、私のような初心者にもわかるように教えてもらえると嬉しいです。 >>316 ありがとうございます!できました!! myNOのはtraceで確認しまして、
318 : 途中で送ってしまいました。 myNOはtraceで確認しまして、取得できてました。 おっしゃるとおり_parent["mc"+i]でできました。 本当にありがとうございました。 []について全く知らなかったので、これから調べてみます。
319 : >>314 withを使わずに、一時的なオブジェクトを使うとすっきりするよ。 tobj = _parent["mc"+i]; その後はこんな感じでアクセス tobj.xxxx = 9999; tobj.yyyy = 9999; tobj.zzzz = 9999;
320 : >>319 えっ…こんなこともできるんですか。ほんとになにも知らなくて…すいません。 例えばtobjのプロパティの変更ではなくて tobjにgotoAndPlay(2);なんかをさせるときはどうしたらよいのでしょう? …って聞いてばかりもアレなので、勉強します。ありがとうございました。
321 : >>320 tobj.gotoAndPlay() そのまんま
322 : 知らなかったorz
323 : 質問です。 フレームに入ったらムービークリップ”箱”を画面中央あたりに表示したくて、 _root.attachMovie("箱",hako2,3); hako2._x=100; hako2._y=100; こんな感じで書いたのですが、 表示はされるのですが、右斜め上に表示されてしまいます。 どうも、画面の右斜め上にムービークリップの中心点が行ってしまっているようなのです。 _x,_yの数値を変えても動いてくれません。 どうすれば真ん中に出せるのでしょうか?
324 : >>323 とりあえず _root.attachMovie("箱","hako2",3);
325 : >>324 うおっ出来ました! こんなことに昨日の夜から悩んでただなんてとても恥ずかしくて言えません・・・orz どうもありがとうございます。
326 : 質問です。 ムービークリップに入れ子にされたムービークリップを ボタンとして使いたいのですが親ムービークリップが反応してしまいます。 this.hitArea = hitarea; hitarea._visible = false; のように記述しています。 入れ子にされたムービークリップはthisでは指定できないのでしょうか? どのようにしたら入れ子にされたムービークリップを個別にボタン化できるのでようか?
327 : >>326 ムービークリップにインスタンス名をつけてあげてください。
328 : >>327 ありがとうございます。 現在入れ子にされたムービークリップ内にダミーのボタンエリアを ムービークリップで作りそのムービークリップに上記のインスタンス名を つけています。 この場合ボタンにしたいムービークリップ内のダミーのボタンエリアに 上記インスタンス名をつけるべきでしょうか? それともボタンにしたいムービークリップに上記のインスタンス名を つけるべきでしょうか?
329 : >>328 何がやりたいのかよくわからないから、とりあえず、実験してみてよ。
330 : >>329 小さなアイコンがあり、そこからロールオーバーで出てきた項目を ボタンにしようと思っているのですがうまくいきません。
331 : プルダウンメニュー?
332 : ぽいね
333 : >>331-332 そうです。 プルダウンした方のボタンが反応してくれないようです。orz
334 : >>333 もう解決してるかもしれんが、 http://www.fumiononaka.com/TechNotes/Flash/FN0308001.html
335 : 他人の作ったソースをベースにタイマーを作成しております。 が、作動はするのですがなぜか実時間よりかなり遅れてしまいます。 (10秒カウントするのにが実時間12秒くらいかかる) CPUは2.8GHzで負荷による遅れはないと思います。 どこに問題があるのでしょうか。 ちなみに元ソースのほうもやはり12秒程度でした。 var yoTime = 0, h = 0, s = 0, m = 0, intVal = 66 , totaltime = 0; function race() { var t0 = new Date(); t0 = t0.getMilliseconds(); if(Math.ceil(yoTime/10) > 99) { ++s, h = yoTime = 0; } else { h = Math.ceil(yoTime/10); } if(s > 59) { ++m; s = 0; } htxt = h; if(htxt < 10) htxt = "0" + htxt; stxt = s; if(stxt < 10) stxt = "0" + stxt; _root.tHundredths.text = htxt; _root.tSeconds.text = stxt; _root.tMinutes.text = m; var t1 = new Date(); yoTime = t1.getMilliseconds() - t0 + yoTime + intVal; } setInterval(race, intVal);
336 : 質問age
337 : >>335 それじゃ、どんどん誤差が蓄積していくからズレて当然。 測定開始時の時間を保存しておいて、常に表示する時に求めた時間から開始時の時間を 引くようにしてやらないと。 var m, s, ms, intVal = 66, t_org; function race_r(){ var t = new Date(); t = t.getTime() - t_org.getTime(); m = Math.floor(t/(1000*60)); t %= 1000*60; s = Math.floor(t/1000); ms = t % 1000; _root.tHundredths.text = ("00" + ms).substr(-3,2); _root.tSeconds.text = ("0" + s).substr(-2,2); _root.tMinutes.text = "" + m; } //計測開始時にスタート時刻を求める t_org = new Date(); setInterval(race_r, intVal); こんな感じ。
338 : ++sとかで計算する秒数とかは、実際の秒数に同期しないと思うけど。 秒数とかはスクリプトで取得しないと、ずれて行く気がするな。
339 : >>337 常にgetTimeで監視しておく必要があるのですね。 そしてソースが短くなってる! 0をいれたいときには そういう書き方もあるのか〜。 いろいろ勉強になりました。ありがとうございます。
340 : >>339 あー、毎回t_org.getTime()する必要は無いね t = t.getTime() - t_org.getTime(); を t = t.getTime() - t_org; t_org = new Date(); をt_org = (new Date()).getTime(); に変えといて。
341 : >>340 訂正までしていただいて、 本当にごありがとうございます!
342 : MX2004で PHPへパラメータを送るコードを書いているのですが、 lv = new LoadVars(); lv.send(url,"_self","POST"); とやっても一向にPOSTで送ってくれないのだけど.... すべてGETで送られちゃうのはなぜ? ちなみに、XML.send()でもおなじ、ヘルプにはXML.send()はPOSTで 送信すると書いてあるのだけど、 わかる人よろしくお願いします。
343 : >>342 サーバーにうpして試してますか?
344 : >343 はい。うpしています。 ちなみに、 ttp://cgi.f45.aaacafe.ne.jp/~phpcheck/reqmthodchk.html にテストがあります。
345 : >>334 サンクス。参考になりますた。
346 : >>344 thisLetterに何も設定してないからじゃないかな? 2004持ってないから試せないけど http://sdc.shockwave.com/jp/devnet/mx/flash/articles/flashmx_php02.html このページ見る限りじゃ、それ以外は思いつかないなぁ。
347 : >>346 あー、thisLetterじゃなくて、POSTするパラメーターが無いって事ね。
348 : >>346-347 レスサンクス。 >POSTするパラメーターが無いって事ね。 そのとおりでつた。 でも、同じドメインにswfとphpがないとパラメータがあってもなくても やぱりGETになっちゃうみたい。 解決してスキーリしまつた。ほんとありがと。
349 : 保守
350 : ムービークリップのボタンがあります。 押した時、メインフレームを1フレームずつ戻って、1フレームまで戻る(この間他の入力は受け付けなくてOK)巻き戻しボタンにしたいのですが、頓挫しました。 _currentframe 辺りだとは思うのですが…どなたかお助けを〜。
351 : スミマセン忘れてました。 FLASH MX です。
352 : >>350 そうだよ。引いていけばいい。
353 : >>352 どこに記述したらいいのかわからないのです。 全フレームに記述して、フラグで戻ってるかどうかを判定して戻していくのはちょっと現実的じゃないし…。 かといって、ボタンの on(release) 内で _root._currentframe を減らすと、1フレだけ戻って止まってしまいます(当たり前だけど) ttp://www.ibnet.ne.jp/ibnet/column/m_column.html ↑こんな感じで押してる間だけ戻る、でもアリなんですが…よろしくお願いします。
354 : >>353 まず表示を巻き戻すムービークリップは、_rootではなく別のムービークリップ内に作るようにした方が良い。 で、それとは別にボタンを作りそのon(press)の中でフラグをセット、それとは別にルートのタイムラインに そのフラグをチェックして、対象のMC.gotoAndStop(対象のMC._currentframe-1);とでもすれば良いんじゃない? 押してる間だけにしたければ、ボタンのon(release)でそのフラグをクリアするようにすれば良い。 あと、その辺で迷うのなら、ASを書く場所による違いを調べてみるといいよ。 ↑で書いた以外にも色々やり方はあるし。
355 : >>354 別ムービーにする事で、なんとか動くものができました。 「ルートのタイムライン側でフラグをチェックして」 の部分がうまくいかず、1フレだけ戻るか、1フレずつ再描画されずに一気に戻ってしまうか、に陥りましたが、 ボタン側の enterframe でフラグをチェックして、ON ならルートのタイムラインの関数(1フレ戻す) を呼び出す、としました。 enterframe 使わずになんとかする良い方法があるといいのですが…べんきょしてきます。 アドバイスありがとうございましたっ。
356 : 自分はボタンの中でフラグ兼巻き戻し早さの値を変更して、 監視用MCで巻き戻したり早送りしたりしてる。やっぱりenterFrame使ってるな。 -------------------------------------------------------- onClipEvent (enterFrame) { if (ff != 0) { _root.gotoAndPlay(_root._currentframe+ff); } } onClipEvent (load) { ff = 0; } ----------------------------------------------------------
357 : >>356 あ、実は自分も同じとこに落ち着いてました。 試しにやってみたら直接メインのタイムラインも操作できる事が判明したので。 ありがとうございます。身も心もコードもすっきりしました。
358 : MX2004です mc_1に1フレームずつ文字を記述しておいて mc_2でmc_1の1フレーム目を表示させmc_2が終わったら mc_1の次のフレームを表示させるループを教えてください お願いします
359 : >>358 よく解らないんだけどカウンターみたいなモノ?
360 : >>359 イメージ的には映画のカウントダウンです。ただ表示する回数が200回くらいなので ASで制御した方が現実的かなと思いまして。
361 : >>359 同意。説明がよくわからん。想像してみると、 mc_2の最後のフレームにmc_1を1つ進めるscriptを入れればいいんじゃね? mc_2のタイムライン ・・・・・・・a←ここにmc_1をnextframeとかそんな系統の奴。mc_2はそのままループさせとくだけ。
362 : >>361 タイムラインに書けばよかったんですね。なんとかなりました 考えてくれたかたありがとうございました。 普段ASはプリローダーくらいしか使わなかったから、いざ必要になると お手上げですね orz これを機会にちゃんと基礎から勉強します お手数お掛けしましたー
363 : FCSのスレどこかにある?
364 : >>363 XMLスレとで相談してみるのがいいと思う。
365 : >>363 フラッシュコミュニケーションサーバ http://pc5.2ch.net/test/read.cgi/swf/1071074313/ がある。あまりのびてないけど。
366 : そのへんになると、 自力解決当然、ソース晒すわけにも行かなくなるからなのかな?
367 : >>365 おお!そんなスレあるの知らなかったYO!。スレ立ったの結構最近だな。 >>366 FCSを個人で導入できる層なんて少ないんじゃないかな・・・と思うんですが(´・ω・`)
368 : 個人で導入する利点もあまり無い気がしますし・・・ と保守かねレス
369 : こんなこといいな。できたらいいな。 1. 右クリックのイベントを取得 2. scrollPaneやscrollBarコンポーネントを、マウスホイールで制御 3. ファイルの参照ウィンドウを別ウィンドウを開かないで、swfから直接開く。 4. FCSもActionScript2.0も使わないで、FLVを動的に読み込む。 無理?
370 : >>369 ガンバレ
371 : >>369 ガンバレ
372 : >>369 超ガンバレ
373 : >>369 1,2は条件付で可能。 3は意味がわからん、4は知らん。
374 : >>373 1,2できるんだー。 javaScriptとの連携? onContextMenuで右クリックイベントを取得できるよね? マウスホイールのイベントも取得できるイベントハンドラあるのかな? リファランスあったら、教えてちょ。 3は意味不明だったね。 例えばswf内に画像アップロードボタンを配置して、 それをクリックさせて、ローカルにあるjpgファイルなどを サーバにUPさせたいときとか。 htmlページを隠しフレームとかにして、 javaScriptと連携させればできるようなのですが..。 4はMX2004から、NetConnectionオブジェクトのconnectメソッド の引数にnullを渡すことによって、FCSからではなくhttp経由でFLVを ダウンロードする準備ができるようになったようです。 が、ActionScript2.0+Flash7環境でのみ動くっぽいです。
375 : >>369 1. Key.isDown(num)でマウスボタンの状態を取得可能だたはず 1..左クリック 2..右クリック 4..ミドル 5..ボタン4 6..ボタン5 イベントは発生しないので、自前で監視する必要がある 2. Mouse.onMouseWheel参照 3. ファイル参照ダイアログ自体がブラウザ側の機能なので JS等を介さないと無理かと 4. AS2で書く必要は・・・無いんじゃないかな? よってFCSもAS2も使わないでFLV読み込みは可能かと
376 : 1. ムービークリップアクションに、 onClipEvent (keyDown) { keyPressed = Key.getCode (); trace (keyPressed); } として、右クリックしても 何もキーコード出力されないんだけど..。 何か間違ってる? ver. 6と7、as1と2両方ダメだったよ。 2. おー、知らなかった!ありがとう。 Flash 7の新機能なんだね。 windowsのみってのは、ちと残念だけどね。 というか、v2コンポーネントのスクロールペインは、 スクロールホイールで動いてたよ!
377 : >>376 なんか、Key.isDownじゃなくちゃ引っかかんないみたいだよ。 って言うか、それ以前にキー押してないのにkeyDownじゃ取得できないと思うけど。
378 : >>376 KeyDownイベントは発生しません。 this.onEnterFrame = function(){ trace(Key.isDown(2)); }
379 : うんちしてきます。
380 : >>376 1.>>378 で書かれてるようにイベントは発生しないんで、フレーム毎に見て自分でイベント起こしてやる しかないです。それが条件付きって言った理由。 ただし、右クリック押した事は解っても、flashのコンテクストメニューは必ず出るので、使える場面が かなり限定されるのも厳しいね。 2004からは、メニューの内容をカスタマイズ出来るけどメニューを出さないという事は不可能みたいだし。 なので、ホイールボタン(マウスボタン3)を変わりに使って妥協してみたり。 2.そうflash7プレイヤーであれば、flashMXで作った物でも動くのがありがたい。 スクロールにホイール使えないってのは、ホイールになれた体には耐えがたかったからなぁ・・・ でも、スクロールできるようになってるflashってほとんど無いのとMac未対応なのが残念。 代替の操作方法を作っておかないとダメだしね・・・ 3.ファイルのアップロード自体flashから出来ないから、Javascriptと連携するしか無いでしょうね。 4.2004持ってないので解りません・・・orz でもauの携帯で使えるFlashLite1.1は2004proじゃないと 作れないんだよなぁ・・・いいかげん買うべきか?
381 : お!遅くまでご苦労さん。 1. これも知らんかったよ。 ContextMenuクラス、ContextMenuItemクラスなんてものができたんだね。でも確かにすべてのメニューを隠すことはできないのかな。 Contextmenu.hideBuiltItemsなんていうメソッド(?)を使っても、「設定」項目は非表示にできないとマニュアルに書いてあるよ。 ただ、項目自体のカスタマイズが可能ならば、おもしろい活用法がありそうだね。 4. 野中さんのHPにこういうのがあって試したみたんだけれど、 http://www.fumiononaka.com/TechNotes/Flash/FN0405001.html 自分はAS2分からないので、AS1で書き直して、AS1出力のVer. 6と7で書き出してみたんだけれど、うまく読み込まなかったんだよね。 自分のスクリプトが間違っていた可能性もあるので、できないとは断言できないけれど。
382 : >>380 蛇足だけど、自分はMX2004もっているけれど、相変わらずAS1、Ver6書出しばかりです。でも最近V2コンポーネントを少しカスタマイズしようとしたら、AS2記述で分からないし、やっぱAS2は覚えたほうがいいのかなーとか思って、FLASH OO買ってみました。 でもデザイナー出身の自分には、ちょいハードル高そう。 明日から3連休だね。みんな、よい週末を。
383 : FLASH OO→「FLASH OOP」
384 : >>381 メニューのカスタマイズはflash板のバナーでも活用されてますよ。 個人的にはあまりココに設定メニューを押し込んで欲しくないですけどね、 いちいち右クリック→設定というのは結構面倒な物なんで。 頻繁に使わないようなのは良いんですけどね。 ASがOOになるのは良いんですが、AS1.0の柔軟性(悪く言えばいいかげん)も悪くないと 思うんですよ。flashって簡単なGUIの実験とかするときにささっと書けて便利なんで、 あまり厳密になられても面倒だなーと思います。 まぁOOをあまり理解してない人間の考える事なんでアレですが。 多人数で組むような場合はAS2.0みたいにしないとダメなんでしょうけど。
385 : 看板の右クリックは作者が右クリックの練習で作ったのをそのまま使ってるらしいけど
386 : FlashにDirectorムービーって読み込めるんですか?
387 : 読み込めません
388 : >>386 逆はできるけどね
389 : >>388 Director側ではFlash側の変数は取得できるんですか?
390 : >>389 できます
391 : テキストフィールドをムービークリップに変換できますか? やり方教えていただきたいのですが
392 : >>391 ゴメソ、俺は質問の意味がわからない。 FLASHのバージョンも書いておいた方がいいと思われ。
393 : >>391 何がやりたいか分からないけど、テキストフィールドを単純にシンボル化したらダメなん?
394 : >>392 すいません、説明が不十分でした! つまり、createTextFieldでフィールドを定義したあとに これをムービークリップに変換したいのですが... ちなみにFlash MXをつかってます
395 : >>394 空のムービークリップ作成して、 そのムービークリップの中にテキストフィールドを作成しては?
396 : 既出だったらスマソ FlashMX WinXP MC内のダイナミックテキストにたいしては フレームアクションで loadVariablesNum("gaibu.txt",0);を 外部テキストファイルを読み込みダイナミックテキストに表示、って無理なんだろうか ルート上に配置すれば読み込むんだが、MCに叩き込むと読み込まなくなる・・・ (相対パスだのファイルへのリンクもチェック済み) 仕様なんだろうか…
397 : スレストですか?w age
398 : action scriptは漏れには レベルが高すぎる…もうイイや…
399 : 質問。 MX2004で外部にあるFLASHファイル(b.swf)を読み込むFLASH(a.swf)の作成を行ってます。 b.swfにはクリックするとwww.b.jpへリンクします。(こちらからb.swfを変更することが出来ません。) これをa.swfからb.swf読み込んでwww.a.comへリンクさせたいのですが、普通にMCでb.swfを 再生して、クリックのイベントでwww.a.comへ飛ばそうとしたのですが、www.b.jpにもwww.a.comにもどちらにも飛んでしまいました。 ---- ソース(a.swf) --- //フレーム内 this.my_mc.loadMovie("b.swf"); // MovieClip onClipEvent (data) { if (this.getBytesTotal()>0 && this.getBytesLoaded()>=this.getBytesTotal()) { this.gotoAndPlay("start"); } } onClipEvent (mouseDown){ getURL("http://www.a.com/ ","_blank"); } ----- えらい人お願いします。
400 : >>399 残念わたしはエロイ人だ。
401 : b.swfを監視するMC作って、b.htmlに飛ばしてるところをうまく止めれば なんとか出来そうな気もするが。 とりあえず、テキストエディタでb.swfを開いてURLを検索して 無理矢理書き換えてみては? あとは、解析できるソフトかな。
402 : どうしてもわからなかったので質問させてください 使用ソフトはMXです e1=""; e2=""; e3=""; e4=""; e5=""; e6=""; こういうアクションをまとめようと思い for ( v=1; v<=6; v++) { _this["e"+v]=""; } と書いたのですが 先に書いたアクションと同じように 読み込まれません 間違ってるでしょうか??
403 : >>402 × _this ○ this
404 : テキストフィールドの初期状態を IME ON にする事って actionscript でできますか?
405 : すみません、質問させてください。 ttp://freett.com/pander/aaa.gif に今作っているゲームの画像を置いているのですが、 「1回戦」のボタンを押したときに、隣のダイナミックテキストに「20」とテキストを表示させたい場合はASはどうしたらいいのでしょうか? 「1回戦」のボタンを「on(press)」と書けばいいのは分かっているのですが、 どうすれば「20」をダイナミックテキストに表示できるのかが分かりません。 「1回戦」のボタンは、ムービークリップでもいいとは思っていますが…。 他にも色々とプログラムする所があるのですが、まずは定数「20」を表示させる所からしたいのです。 一番最初に行き詰ってしまっているので、案をお聞きしたいです。 どうぞよろしくお願いします。
406 : ダイナミックテキストの変数名をown1にしたとすると <ボタンの場合> ボタンに on(Press){ own1="20"; } <ムービークリップの場合> ムービークリップのフレームに this.onPress=function(){ _parent.own1="20"; } というかどこがどういう具合にわからなかったのかわかんないよ。
407 : すみません、質問します! moji="aa bb cc" というのを moji="aabbcc" ってかんじにしたいんですけど、どうやったらスペースを消せますか?
408 : >>407 moji=moji.split(" ").join("");
409 : 質問です!! _rotationを使って基準点以外の点を基準にして回転することってできますか?
410 : >>409 とりあえず、mcの中に入れて、ズラして、mcを回転するとできるかも。
411 : >>409 多分>>410 の方法で出来ると思うけど、 三角関数とか使ってみるとカックイイよ
412 : 三角関数使っても無理な気がしてならない
413 : >>412 できるけど、全ての人にできるかどうかは別問題
414 : ttp://www.actionscript.cl/ すごいのばっかり・・ 理解できる方いらっしゃいます?
415 : >>414 この手の作品の評価でありがちな展開に釘を刺しておくよ。 完成品を見て同じものを作るのは簡単に決まっているから、 発想と手間を評価してあげようね。
416 : >>414 12から14は平行四辺形の変形あたり、 普通のやり方じゃできないハズなのだが・・ 8の奴がヒントかな? マスクだけで、ドット単位を操作するのでは、 平行四辺形(skew)で、あの速度でないだろうし
417 : 25,26辺りが面白い。作ってみようかな。
418 : >>414 24のにワラタ
419 : >>414 36のが好き。
420 : eucのテキストファイルを読み込んでshift_jisに変換するにはどうすればよいですか?
421 : >>420 文字コードの変換テーブルを作って自前でエンコード
422 : >>421 天才。処理速度や実用性はともかく、それって実現可能なの?すげえ興味ある。
423 : CGI使ったら?jcode.plで一発の予感
424 : 初心者です。質問させていただきます。 右クリックを押したら特定のインスタンスを消すアクションを書きたいのですが なんて書けばいいのでしょう?
425 : FLASHって右クリック判別できたっけ? Javascriptを噛ませて、Javascript側からイベントを送れる?
426 : >>424 this.onEnterFrame = function(){ if(Key.isDown(2)){ hoge.removeMovieClip(); delete this.onEnterFrame; } }
427 : >>424 >>425 判定出来て利用はできるが、必ずメニューが表示されるし、flashの操作として 違和感のある物なのであまりので多用しない方が良いと思う。 理解した上で使うのなら止めはしないが。 flashMX2004ならば、右クリックのメニューに項目を追加できるので、そっちの方が良いだろう。
428 : どうもありがとうございます。やってみます。
429 : >>426 勉強になった!
430 : LoadVarsを使ってテキストを読み込んだあとにCGIでテキストを更新する というのを作ったのですが、再読み込みをしても情報が更新されません! しっかりとテキストのほうは更新されてました どうやらキャッシュされた情報が残ったままだから更新されないようです... どうしたらよいでしょか?
431 : >>430 myLoadVars.load( URL + "?" + uniqueNum ); って感じで読めばOK。 uniqueNumには、時間とか使えばOK。
432 : >>431 ありがとうございました
433 : 配列に関しての質問です。配列に数値や文字列を格納することはできるのですが ムービークリップを格納することってできますか? もしできれば、どういう風に書けばいいのか教えて下さい。お願いします。
434 : >>433 // 配列を作って。 var mc_array = new Array(); // ムービークリップを入れる。 mc_array.push(_root.a_mc); mc_array.push(_root.b_mc); // こんなことができる。 for (var i = 0; i < mc_array.length; i++) { var mc = mc_array[i]; trace("width=" + mc._width + " height=" + mc._height); } こうゆうこと?
435 : >>434 ありがとうございます。ムービークリップを配列に入れることはできました。 もう一つ質問させて下さい。 配列にムービークリップを入れた後にArray.pop()メソッドで配列を削除したのですが 配列は消えてるんですがムービークリップがステージに残ったままになります。 この場合はどうやって消したらいいのでしょうか?
436 : >>435 ムービークリップをデリるコマンドを使いたまへ
437 : 初めて質問させていただきます たくさんの正方形のオブジェクトが 途切れることなく連続的に奥から手前に向かって 進んでくるというアニメーションを作りたいのですが なにかいいスクリプトのサンプルのようなものはないでしょうか? スクリプトなしで自力でモーションツイーンで作ると どうしても間隔がずれてしまうんです
438 : >>437 が何を作ってるのかがよくわからないが、 windowsのスクリーンセーバーみたいな奴か? フライングwindowsみたいな感じ。 MCを生成して、enterFrameで移動させて、手前に来たら消すっていうので いいんじゃないかな。間隔のずれは、時間で制御できないだろうか。
439 : etByteTotal等でローディング画面を用意しているのですが 全体を読み込み終了後にしかムービーが開始されません 過去にこんな事は無かったのですが・・・ どなたかこのような現象が起きた人はいませんか? 解決方法をご存じの方がいたら教えてください。
440 : >>439 1フレーム目にデータのほとんどが置かれているからだよ。 1フレーム目が読み込み終わってさあ、ロード画面を表示しますか というタイミングですでに90%読み込み済みみたいな
441 : ロードバーは、やっぱり、 容量表示>%表示>MovieClipなどの図を引き延ばす の順に難しいのですね。
442 : >>440 ありがとうございます。 1フレーム目にはローディングのムービークリップのみなんですけど クラスを6つほど使っていて数多くのムービークリップにリンケージさせているんですけど それって関係ありますかね? それが最初に読み込んでいてそのあとじゃないとローディングもはじまらないのかな? 質問ばっかりですみませんがおねがいします。
443 : >>442 その通り。 リンケージ設定の「最初のフレームに書き出し」のチェックを外し、 ローディングバーがあるフレームより後のフレームに 使用したいムービーを(見えない場所でもいいから)一度配置して、 attachMovieなりを呼ばないといけない。
444 : >>438 正方形というか四角い枠が連続的にこっちに向かってきて トンネルをくぐっている車の中のような視点をつくろうと思っています いちおうそういうサンプルはあるんですが余計な処理がおおくて その部分のソースがよくわからないんです 5個くらい□がとんでくるMCをつくってそのなかにさらにおなじMC をいれてみたいな複雑なことしてみたりしたんですがタイミングが合わなくて。
445 : >>444 グラフィック-sikaku 1-100フレームで接近してくる四角。 グラフィック-sikaku_all レイヤー1-5に、sikakuを同じ位置に配置。 開始フレーム1、20、40…のように重ね順に応じて、それぞれ開始フレームを変更 フレーム20で終了。
446 : MX2004です HTMLからGETで文字列を渡すと文字化けしてしまいます あいうえおかきくけこ ↓ ttp://rivernet.cool.ne.jp/upmini/200408g/20040901170358_3610.png どうしたら直るのでしょうか? System.useCodepage = true; は書いているんですが・・・
447 : ちょっと手が止まってしまったんで質問させていただきます。 環境はw2kでFlashMX2004proです。 ムービークリップをクリックしたときに起こるアクションについてです。 クリックした直後に透明化させて、その3秒後に画面から消したいんですが、 今書いてあるスプリクトだとうまく動いてくれません。初歩的な質問だと 思いますがよろしくお願いします。 onClipEvent (load) { this.onPress = click; function click() { this._alpha = 30; var waitId = setInterval(waitMotion, 4000); function waitMotion() { clearInterval(waitId); this._visible = false; } } }
448 : 4秒待てば消えるんじゃないか?
449 : >>448 それが消えないんです。
450 : クリックしたときalphaはかかるんですが、4秒後に消えてくれません。
451 : setIntervalで呼び出された関数内の thisが消したいmcを指さない為です。
452 : 質問です。WinXPでMXです。 >>267 に置いてあるflaをちょっと改造して、最初ステージに何もない状態から 一定時間にランダムな間隔で矢印をポンポン発生させたいのですが どう書けばいいのでしょうか?
453 : 誰か助けて・・・
454 : >>453 情報が少ないから簡単なflaファイルUPしてみたら?
455 : ttp://rivernet.cool.ne.jp/upmini/200408h/20040905175733_7985.zip 上げましたが、 どこかにswfとhtmlを上げないと引数を渡してくれないみたいです
456 : >>455 デコードがおかしいな。utf-8のデコードしてるぞ。
457 : スクリプトを書く上でのデコードを防ぐコツを教えて下さい。 当方MX2004Proを使用しています。お願いします。
458 : 防げないと思います。
459 : >>457 デコード自体は防げないけど、コードを見られても解読しにくいように書けば、他人のソースを 見ないと処理が解らないレベルの人にはそれなりの対策になるかと。 例えば、変数名を滅茶苦茶にするとか、処理の流れを解りにくい順番にするとか 多数のフレームに分割して処理を書くとか。 書く方も大変だけどね。
460 : ありがとうございます。 そうなると自分もややこしくなるんですね。うーん・・・・
461 : Stage.align="t"(真ん中上)で宣言しているはずなのにhtml上で _xなどを替えるタイミングでなぜかStage.align="tl"(左上)になってしまう事なんてありますか・ わかる人がいれば教えてください。 ちなみにパブリッシュ設定は6で真ん中上に設定してあります。
462 : 遅くなってすいません >>456 どうすればいいんでしょうか? UTF-8でわたせば問題ないのでしょうか?
463 : >>462 なんでも試してみろ。報告もよろしく。
464 : ランダムに指定された場所に向かって、 等速(これもランダムに指定された速度)で移動して止まるファンクションを作りたいんですが、 どうしてもわからないのです。 等速じゃなければ this._x += ( target - this._x)*0.5 とかで出来るのはわかったんですが.... どうやったらいいんでしょうか?
465 : >>464 三角関数かな。
466 : 等速運動ってだけなら三角関数いらないよ。 2点間の距離xをyで割るかyをxで割った値でも足しとけばいい。
467 : これからはじめようと思う厨なんですがどの本読めばいいですか? 「おしえて!!Macromedia FLASH MXアクションスクリプト 」って本をススメられたのですが レビュー見てたら不安です・・・
468 : 薦められたのに信じないぐらいなら、 サイトとか見て、基礎知識をつけた後に、 本屋で自分の目で選んだらどうなん?
469 : >>467 FLASHが初めてなのかASが初めてなのかで違うわな
470 : マウスで動かすシューティングゲームってどうなの? いまいち、漏れはしっくりこないのだけど。
471 : 30フレームでゲームを作って、パブリッシュしてブラウザーで見ると 20〜23フレームでしか動かなんです。 私のスクリプトに無駄が多いが原因だと思うのですが フラッシュ上でプレビューするとちゃんと30フレームで動きます。 パブリッシュすると重くなるのはなぜでしょうか?
472 : >>471 IE6だったら、背景を透明にしてパブリッシュ
473 : 回答ありがとうございます。 すいません、パブリッシュ時に背景を透明にする設定があるのですか? IE6以外では閲覧できなくなるのですか?
474 : >>473 ttp://numerous.org/bazooka/mt/archives/2004/05/15_144104.html
475 : >474 ありがとうございます。無事解決しました。 IE6の仕様とは知らず、必死にスクリプトの無駄な処理を無くし 軽量化していました。 効率のいいスクリプトを作る、いいきっかけになりました(笑
476 : 今シューティングゲームを作っているのですが、 複製したもの同士の当たり判定の仕方がわかりません。 要するに、自分の撃った弾と敵のhitTestのやり方がわからない、ということなんです。 両方とも複製したものですので、 hitTestで判定したくても名前がわからないので、どうしたらいいんでしょうか?
477 : >>476 複製するときにインスタンス名指定するっしょ。 それを使えば良い。
478 : >>477 どうもありがとうございます。 確かにインスタンス名の指定はしますが、それを指定する方法がわからないのです。 例えば、tama1、tama2・・・のようにプレイヤーの弾を複製し、teki1、teki2・・・のように敵を複製したとします。 この時、複製する元の敵インスタンスに this.hitTest(弾の名前) と書こうとしても、弾の名前がわからないので書きようがないような気がするんですが・・・
479 : >>478 rootかどこかに、全ての敵弾等々のリストを保持しといて、 それを元に総当りで判定するって感でどう?
480 : >>479 どうもありがとうございます。 やはりそれしかないですか・・・ 一度それでやってみます。
481 : eval()とthis[]って、性質が少し違いますよね? 例えば着せ替えを作ってて、 eval(this._droptarget)の部分を this[this._droptarget]と書き換えるてtraceしてみると undefindedが返ってくるのですが この違いは、なんなのでしょうか?
482 : >>481 ID惜しいね
483 : this[_droptarget]
484 : >>483 それも、試しますた。 同じくundefinedが返ってきました。
485 : trace(this)
486 : >>483 素で間違ってた trace(this["_droptarget"])
487 : テスト環境を探しています。 ここに書き込む内容か謎ですが。 flashplayerの6のバージョンで6.0.22.00以外のインストーラが手に入る情報ありませんか? windows版です。 アメリカのマクロメディアでアンインストーラはなんとかゲットしました。 よろしくお願いします。
488 : 雑誌の付録とかに最近はFLASH PLAYERとかついてない? ネスケとかにくっついてる奴とかのプレーヤーのバージョンはどう?
489 : >>487 http://www.macromedia.com/support/flash/ts/documents/oldplayers.htm
490 : 画質を高とか中とか低にする方法がまったくわかんない。
491 : >>490 そうか。
492 : >>490 ま、初心者のうちはそういう時期もあるさ。めげずにがんばれ。
493 : >>490 _highquality 本買え。本は良いぞー。 苦労せずに、あなたの疑問がすぐ解ける。
494 : 環境:Flash=MX2004;OS=MacOSX initializeAsCharacter = function (ChrMC, BalloonMC) { var Param = new Object(); ChrMC.Param = Param; }; した後に、フレームアクションで initializeAsCharacter(Giko_mc, Giko_Balloon_mc); して_level0.Giko_mc.Paramを作成しているのですが、 その後、_level0にGiko_mcのインスタンスのある範囲で (Giko_mcは別レイヤーに一つだけキーフレームを作成して配置してある) フレームアクションにgotoAndStop()などを書きまくっていろいろ飛びまくってるんですが、 特に逆戻りした時にParamが消えたりGiko_mcが増えたりするので困っています。 attachMovie()系統は使用していません。
495 : 質問だ FL6 + AS1.0 設定でパブリッシュすると正常に動作するものが FL7 + AS1.0 設定でパブリッシュすると動作しなくなるorz 何か変更点(注意すべき点)とかってあるの・・?7
496 : >>495 変数の大文字/小文字。 FL7だとたとえAS1.0を選択してても変数の大文字/小文字が違うと 別の変数として認識されるので多分そこが間違ってるのかと。
497 : あと、if(hoge)のようなときの評価の 変数の型によっては、扱いがちょっと変わってなかったっけ?
498 : >>497 未宣言変数の扱いが変わってたはず。 以前は未宣言変数を数字として使うと0と評価されたけど、AS2ではNaN扱いなので nodef ++; とかするとエラーになるとか。
499 : >>493 あなたのおかげで解決しました。 こんなに簡単だったとわ。
500 : ほ
501 : あまりに情けない質問で恐縮ですが・・・ Win2000とFlashMXで作業をしています。 で、ActionScriptを外部ファイルにして更新で楽をしようと目論んだのですが、 案の定*.asの読み込みに時間のかかる環境=遅いマシソでプレビューした時に 正常に再生されない状況に陥りました。 onClipEvent (load) { #include "hogehoge.as" } 原因としては外部AS読み込み完了判定の記述サボった>遅いマシソで外部 ASの読み込みがうまくいかない>再生停止してマズーなのではないかと・・・ で、外部ASの読み込み完了判定をどうしてくれようかとあっちこっち調べて回ったのですが、 正直行き詰まっております。 もし宜しければどなたか、エロい人のお知恵をお貸し頂けますと幸いです。
502 : >>501 すごい釣りだなぁ。
503 : >>501 早いマシンなら上手くいったと?
504 : >>503 Win2000(AthlonXP2400+) ◎ >IE6.0 ○ >Netscape7.0 >Firefox1.0PR >Opera7.53 × >Netscape4.7 Win98SE(G4:500MHz VirtualPC) ○ >IE6.0 MacOS9.2.2&OSX10.3.5(G4:500MHz) △(読み込みがうまくいかない場合リロードかけると再生停止:毎回そうなるわけではない) IE5 Firefox0.93 Safari >>502 いや、釣りならもっと上手く釣る人がいると思いまつ。 変数だけ外部テキストに汁!ってのは忍者部隊月光の拳銃扱い=最後の武器という事でおながいしまつ。 //テキスト変数の読み込み完了判定については別のFLAで試して青息吐息で何とか成功。
505 : >>504 includeはパブリッシュ時に実行されるもので、 パブリッシュ後には残っていないと思ったが・・・ フラッシュはインタプリタだから違うのかなぁ。
506 : 実行されるという事実があることにびっくりなんだが 大丈夫か?FLASH
507 : 実験してみた。 引数として指定した2数値間の値をランダムで返すというメソッドを、 Mathクラスに追加したスクリプトを記述したasファイル用意。 ルートフレーム上に適当なmcを配置して、以下の記述をおこなう。 mc内にはダイナミックテキストを配置(インスタンス名TextField) onClipEvent (load) { #include "test.as" var r = Math.ユーザー定義random( 300 , 100 ); this.TextField.text = r; } この記述で正常に動いた。 ただし、asの内容を「指定した2数値間のランダム値+5000を返す」と書き換えて パブリッシュをせずに、swf実行すると当然の事ながら 「指定した2数値間のランダム数」つまり上記の例でいうと300〜100の間の数値しか返ってこない。 あくまでもincludeはパブリッシュ時に実行されるものだが、 onClipEvent (load) { #include "test.as" } という記述も受け付けるらしい。
508 : #includeは指定したテキストの内容をその行以下にパブリッシュ時に展開してるだけでそ。
509 : >という記述も受け付けるらしい。 それは全く不思議に思わなかったよ。
510 : つまり>>504 はasファイルを書き換えた時の検証じゃないってことでよろしい?
511 : ちょっとスレ違いかもしれないですけど 今AS勉強中なんですけど、今勉強してる参考書分かりにくいんでなんか お勧めの参考書あったら教えてもらえませんか?
512 : >>511 基本的なスクリプトの書き方は理解したってなら、 リファレンスや逆引き系の本が使いやすい。 そうでないなら、薄めの初心者本か、初心者向けサイト周るかが良いと思う。 ttp://homepage3.nifty.com/ginga-b/ とか。
513 : あ、漏れの書き方が悪かったかも。スマソ。 で、挙動不振というか不審になるのはそもそも外部ASを使った時点で発生。 (ASの内容を書き換えて挙動不審になったわけではない。試しにASをFLAの 中に書いてパブリッシュしたら普通に動いた) んで、クソ長い外部テキストファイルを読み込ませる時のように、 ↓で書かれてる読み込み判定みたいな理屈で外部ASも読み込み完了判定できねーもんかと思った訳でつ。 ttp://www.fumiononaka.com/TechNotes/Flash/FN0303006.html かなり厨な発言だとは思うんですが、エロい人に「できる」「ダメぽ」だけでも教えて頂けると有り難いっす。
514 : >>513 includeをなぜ、onClipEvent (load){}内に記述するんだろう? ルートのタイムラインに記述できない理由を聞きたい物。
515 : >>514 ご指摘の通り、ルートタイムライン上にinclude記述書いてみまつた。 遅いマシソ(Win)で試験鯖に上げたのをプレビューしてOK。 これがMacで引っ掛かるようなら少し考え物だが・・・ (というか外部AS読み込み完了判定が出来ない場合の変更を考えてて鬱w)
516 : >>515 で、うまく動作しているマシンでは、 「ActionScriptを外部ファイルにして更新で楽をしよう」 というのはできているの?
517 : >>515 とりあえずincludeが何をするためのものか勉強したほうがいいよ
518 : >516 はい。今のところ設計の上手下手はともかく、当方の意図通りに動作中。 (モノは画像アルバムと思って下さいまし) >517 ご指摘スマソ。 で、#includeとは何ぞやとググってたらこういうドキュメントを見つけたっす。 ttp://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=1695&forum=6&post_id=9647#forumpost9647 なるほど、そもそもパブリッシュ時にswfへ取り込まれるのですね>*.as この辺りで著しく誤解していたと・・・orz ともあれ、勉強になりました。皆様有難うです。
519 : 初心者すぎて聞きずらいのですが、 functionとArrayの意味教えて下さい。 お願いします。windowsでmx2004使用です。
520 : >>519 簡単にいうと function は複数の操作をひとつにまとめて呼び出せるようにする制御構造 >関数、メソッド、機能 Array は複数のデータをひとつにまとめて保管し、それぞれを取り出して使えるデータ構造 >配列 なんかどっちも同じような文章だが、ぜんぜんちがうからな
521 : 520 ありがとう御座います。 あと例文書いてもらえるとありがたいです。
522 : >>521 超初心者スレにR
523 : モグラタタキで、得点に応じてエンディングが変わる(ランダムではなくそれぞれに対応したフレームに移動)ようにしたくて、最終フレームに if(score==100){ gotoAndPlay(フレーム番号) } のように書いたのですが動きませんでした。 ASははじめて使うのでいろいろと探したつもりなのですがわかりません。 winでMXを使っています。くだらなくてほんとにごめんなさい。
524 : >>523 scoreのパスはあってる? ゲームオーバー時にそのスクリプトのある最終フレームに移動している?
525 : 左側で止まって数秒後に移動するスクリップを書きたいのですが たぶんIF構文使うと思うのですが初心者なので良く分かりません 宜しくお願いします。 onClipEvent(load){ this.loadVariables("myData.txt"); } onClipEvent (enterFrame) { this._x=(this._x)/1.5; }
526 : 無理にアクションスクリプトを使う必要はないと思います。
527 : ありがとう>526 でもタイムラインを使うと重くなるのと最終的にはPHPの 連携もしたいので
528 : >>527 スクリプトでやりたい部分を具体的に示してほしいね。 「数秒後」というのが固定なのかどうかとか。
529 : >>525 環境がわかんな getTimer()使うかMX以降ならインターバル
530 : 1フレーム目にはスタートボタンを置いてgotoAndStop(2); 4つのムービークリップ(a_mc,b_mc,c_ma,d_mc)を2フレーム目に置いて フレームアクション ab=[a_mc,b_mc,c_ma,d_mc]; ac=Math.floor(Math.random()*4); zx=ac[ab]; zx=play; とかいたんですけどうまくいきません。 何がしたいかとゆーとランダムに一つa_mc b_mc c_mc d_mc をplayさせたい訳です。 何がおかしいのか教えて下さい。お願いします。
531 : >>530 基礎から順序良く勉強した方がいいと思う。
532 : 1フレーム目にはスタートボタンを置いてgotoAndStop(2); 4つのムービークリップ(a_mc,b_mc,c_ma,d_mc)を2フレーム目に置いて フレームアクション ab=[a_mc,b_mc,c_ma,d_mc]; ac=Math.floor(Math.random()*4); zx=ac[ab]; zx=play; とかいたんですけどうまくいきません。 何がしたいかとゆーとランダムに一つa_mc b_mc c_mc d_mc をplayさせたい訳です。 何がおかしいのか誰か教えて下さい。
533 : >>532 ちょっと危険な香りがするなぁ
534 : >>533 スルーしる
535 : trace(ac[ab]); あれ、あれれ??? ( ??д??)
536 : ac[dc]?
537 : 出力 : Stiff Upper Lip
538 : 初歩的な質問で恥ずかしいけど キーボードの英数押したときに何かをさせるには どういうASが必要なの?
539 : >>538 英数とか無変換とか日本語キーボードにしかないキーは無理じゃないかな。
540 : >>538 Key.isDown(keycode){ } keycodeはヘルプのキーボードのキーとキーコードの値参照
541 : 技術スレより ■マウス関連 2X1..左クリック 2X2..右クリック 2X4..ミドル 2X5..ボタン4 2X6..ボタン5 ■Windows限定IME関連(2kとXPで確認) 2X245 .. IMEがオン 2X246 .. IMEがオフ 2X243 .. 全角がオフ 2X244 .. 全角がオン 2X242 .. ひらがなモード 2X241 .. カタカナモード 2X240 .. 英数字モード //マウスのホイールクリックを監視 this.prev = false; this.onEnterFrame = function(){ var State = ASnative(800, 2)(4); if(State != this.prev){ if(State) trace("押しますた"); else trace("離しますた"); } this.prev = State; }
542 : >>539 >>540 >>541 thx! 早速やってみる
543 : >>532 面白いネタだね ここじゃないとこでやったら受けるかもよ
544 : フレーム2.3.4.5にそれぞれのMC置いて this.gotoAndStop(Math.floor(Math.random()*4+2));でいいんじゃないの?
545 : こうだよ。 clipList = [a_mc,b_mc,c_ma,d_mc]; randomNumber = Math.floor(Math.random() * clipList.length); clipList[randomNumber].play(); 変数に短いaとかbとかつけるのはバグの元だからやめたほうがいい。 それと実数はスクリプト中に極力書かないように。
546 : >>545 プギャー
547 : 一ヶ月以上前のネタに・・・
548 : 思いっきり初心者です。既出ならすいません。 作成環境はMX2004Professional WinXP 参考書を購入して"flashムービーに別のテキストファイルを読み込ませる" というのに挑戦して、説明通りにしてみたんですけどうまくいきません。 参考書の手順 1 テキストブロックの作成 (インスタンス名=news 変数=text1) 2 テキストファイルの作成 (ファイル名=text1 文字コード=UTF-8) 3 ASの書き込み news_lv = new LoadVars(); news_lv.onLoad = onText; news_lv.load("text1.txt") function on Text(){ news.text = news_lv.text0303; } 以上です。 テキストブロックはダイナミックテキストになっているし、何度もASを入力 しなおして試みているんですがエラーがかえってきます。 誰かご教授願います。 それと、参考書にはテキストファイルをflashムービーと同フォルダに保存と 書いてあったので、マイドキュメントにフォルダを作ってそこに保存しているんですが それであっているのでしょうか?
549 : (;゚д゚)ァ.... news.text = news_lv.text0303; } ↑ news.text = news_lv.text1; } の間違いです。すいません。
550 : >>548 function on Text(){ on のあとのスペースが気になりますが、気のせいですか?
551 : >>550 Σ(´Д`lll) onTextに変えたら出来ました!ありがとうございます! 参考書にはスペース入ってる・・・。騙された _| ̄|○
552 : みなさま、お疲れ様です。 ちょっと行き詰まってしまっていて、 もしご存知の方がいらっしゃいましたらお知らせください。 ネット上のCSVファイルを読み、 それをローカルでプロジェクターから 表示させたいと思っています。 LoadVarsでテキストを拾い、FLASH上では取得できていることを確認しています。 が、 1ローカルで起動→テキストが取れていることを確認→一旦落とす 2ネット上のCSVファイルの中身を更新 3再度起動 すると、更新前の、1の時に表示されているテキストが表示されてしまうのです。
553 : 552です。続きです。 取得に失敗しているのかと思い、 追っていったのですが、 myLoadVars.onData = function(bSuccess_text) { といった、動作が確認出来る所を見てみると、失敗してるのではなく、 bSuccess_text には1の時に表示されているテキストが来ているんです。 その後は、何度csvファイルを更新してみてもダメでした。 何か、セキュリティ上の制限があるのでしょうか? もしくはキャッシュ?が残ってしまっているのでしょうか? 制作環境は、 win2000、MX です。 その現象が起こるマシンは何台もあり、OSはバラバラです。当然、ネット接続は確認できています。 よろしくお願いいたします。
554 : 552です。 自己レスなのですが、 どうもFLASH PLAYERのキャッシュ?が残ってしまっているみたいで、 csvにアクセスする際に http://------/XX.csv?num (numはタイムスタンプなどのユニークな文字列、サーバ側では特に何も解釈しない) と言う風に、アクセスするたびに取得しに行くURLを変化させることで 毎回きちんと新しい物を取ってきてくれるようになりました。 しかし、ローカルで動作させた時は「キャッシュのクリア」 といったようなものが無いものなんですかね? (webページではhtmlに記述することで出来るのですが)
555 : >>552 FLASHで カレントディレクトリじゃないファイルを 読めたっけ??
556 : >>555 552はローカルアプリケーションをつくってる。
557 : 文章を一文字づつ出すのってどうしたらいいですか? >>180 のリンクが切れているのでご教授ください。
558 : >>557 ttp://www.mdn.co.jp/webcre/Flash/Vol29/
559 : >>558 ありがとうございました!解決しました!
560 : いつも何気なく使っているfunctionですが、 ちょっとわからないことがありました。 「ある関数」を別の関数内で呼び出したいのですが、 その「ある関数」は任意のものにしたいのです。 以下のようなコードを書いてみました。 function test(func) { func(); } function test2(func) { func.call(this); } function action() { trace("called action : this = "+this); } // test(action); test2(action); 出力: called action : this =undefind called action : this =_level0 testの方はactionは実行されていますが、action内のthisの参照が変です。 そこで色々やってみてtest2を書いたところうまくいきました。 ●質問 1・上記func()とfunk.call(this)の違いがよくわかりません。 2・func()では、なぜaction内のthisの参照がundefinedなのでしょうか? どなたか、ご教示下さいませ。
561 : クリックした瞬間パソコンが爆発してぶっ壊れるasをつくりたいんですが どうすればいいでしょう?
562 : >>561 bomb();
563 : デバッグが大変だ
564 : 再現性とか確認してないメモ 全て大文字の名前を持つ親クラスを持つクラスのインスタンスを生成すると 生成するとクラスの初期化処理が途中で止まるっぽ class GO_Object { function GO_Object() { ; } //省略可能なコンストラクタを敢えて記述しときます } class GO_AA extends GO_Object { function GO_AA() { super(); } //←このGO_AA()は実行されない } class GO_Player extends GO_AA { function GO_Player() { super(); } //←このsuper()が実行されないっぽ } class GO_Giko extends GO_AA { function GO_Giko() { super(); } //普通はこう書けばGO_Player()が実行される }
565 : >564 物凄く間違えました ×class GO_Giko extends GO_AA { ○class GO_Giko extends GO_Player { スレ汚しスマソ
566 : >>565 こういうのはMacromediaに報告しておいた方が良いのでは?
567 : >566 あれから作業を進めた所、何か発生条件違ったっぽかったです。 クラスのstaticなプロパティにタイムラインからアクセスするといけないのかな? 現在解明中。
568 : load Moveiで呼び出したswfの事でちょっとお聞きしたいのですが、 普通のアニメ系のswfなら正常に呼び出せるのですが、 ゲーム系だとゲーム内のASが正常に機能しなくなってゲームにならなくなります。 どーすれば良いでしょうか?
569 : 呼び出すswfのパスを、相対パスのみで書く。 _root使わずに_parentなどを利用する。
570 : >>569 ありがとうございました!出来ました!
571 : 取得した文字をアスキーコードで返すにはどうしたらよいですか?
572 : 570ですが、なんどもすいません。 やっぱりできませんでした。 自分がやりたい事は、左側にメニューボタンをいくつか配置して そのボタンにload Moveiでswfを右側に読み込みたいんです。 読み込んでいる最中も左のボタンは配置したままの状態で。
573 : >>572 できないって何ができないのかな? 具体的な症状を書くよろし。 2004ならswfの読み込みはLoaderコンポーネント使った方が早い。 読み込んだswfの_rootを固定したいならMovieClip._lockroot=true汁。
574 : XP 2004pro を使っています。 ブロック崩しゲームを作っていて、 現在、ブロックをMCにして、ランダムな座標に配置し 1フレーム目にASでボールとのhitTestを記述して、 2フレーム目を空フレームにして、ループさせて当たり判定をしていますが ブロック数が多くなると、動作が重くなってしまいます。 何かよい方法があればよろしくお願いします。
575 : >>574 とりあえずブロックからボールをhittestするんじゃなくて ボールからブロックをhittestしてみては?
576 : >>574 ブロックを一つのインスタンスの中に作るようにして、 その一つのインスタンスとhittestする方法で軽くなるって話を 聞いたような聞いてないような。
577 : レスありがとうございます。 >>574 最初、その方法を考えましたが、行き詰ってしまいました。 if ( ボールとブロック1が当たる && ボールとブロック2が当たる … ) { - 処理 - } という効率の悪い方法しか思いつきませんでした。 >>547 その場合、ボールの座標とブロックの座標から判定するということでしょうか?
578 : >>576 氏の言ってるのは、多分、座標とのヒットテストかな 確かにそれなら1回で済むかも 消すブロックの特定とかは計算で ボールの外周とのヒットテストとか考えるとまた面倒が増えるけど
579 : あれ?hitTestってfor文で回すような事ってできなかったっけ? でも、処理は重いかもしれないけど。
580 : >>578 ブロックを規則的に配置する場合は座標とのhitTestで行けそうなのですが、 ランダム位置に並べる配置する場合にはASを関数化できなくて 各々のブロックとのhitTestを書くことになるので結局処理が重くなってしまいます。 >>579 hitTestをfor文で回す方法ってあるんですか? ちょっと調べてみます。
581 : >>580 ランダムに配置した場合でも、座標とのヒットテストならそのインスタンスの形状に依存して判定できる 詳しくは↓ ttp://hakuhin.hp.infoseek.co.jp/main/as/hittest.html#HITTEST_00 enterframeでの判定をコレのみにして 接触した時だけ内包してる各ブロックとのヒットテストやるとかするのが一番単純かね forで回すのはできる 普通にevalなり[ ]使うだけ
582 : >>581 ,皆さん ありがとうございます。 何とかできそうな気がしてきました。 がんばってみます。
583 : >>581 インスタンスの形状で判定できたのか。普段対座標で使わないから知らなかった。 やっぱできたよな。俺もブロック崩し作ろうとした時に、それで判定しようと 思ってたから。解説サンクスコ。
584 : Key.UPを押したらジャンプさせるアクションを付けたいんですが、 onClipEvent (load) { yPos = this._y-=50; spd = 0; } onClipEvent (enterFrame) { if (Key.isDown(Key.UP)) { spd = 15; } K = (K+spd>=360) ? 0 : K+spd; r = K*Math.PI/180; this._y = yPos+Math.cos(r)*70; _root.xPos = this._y; } これだと一回押したらジャンプし続けます。 一回ジャンプしたら、とまるにはどう付け足したらいいですか?
585 : >>584 マルチは氏んだらいいと思います spdをリセットする処理いれろ
586 : いまさらなにやってるってところなのですが、 ttp://www.geocities.co.jp/AnimeComic-Pastel/1988/2jannel.html ここのとおりに牌を数を増やしたところ、自分が追加した牌を捨てた時、最初からあった牌の絵柄に化けるという謎のバグが… 対戦相手(CPU)が捨てたり自分がリーチをして捨てたりする場合は絵柄は変化せず追加した牌画像のままです。 そしてあがると新牌としてそれを使って成立する役をカウントし、さらに捨てて絵柄が変化した柄を使った役で二重にカウントされます。 ASを見てもどこの改造が足りないのかわかりません。原因がわかるのなら教えてい欲しいのですが・・・
587 : xml内にタグ「<」や「"」が会った場合の対処法って知ってる人いませんか? もしくはxmlを読み込んで「<」や「"」を表示する場合ってxml内にどのように書いたらいいのか経験のある方教えてください。
588 : >>587 スマートな方法か分からんけど xml内だと別の文字にしとく って方法してるな AS的には… a =""; //変換文をいれる文字列をいれる変数 b = (xml_Array[x]).nodeValue; //xml_Array[x]に入ってる内容を前処理 k = b.split("XX"); //XX("<"の代替文字の変わり)で文を区切る kは配列になる(宣言してもいい) for (i=0; i<k.length; i++){ a += k[j] + "<"; //XXの代わりに<を入れた文をaに代入 } xml_Array[x]=a; //xmlで読み込んで入るべき配列に変換した文字列を入れ替え 2行目はいらんかもしれんけど確かこれいれないとsplitが働かなかった気がする でも<とか”使いたいってことは多分タグいれたいんだよなぁ〜 もっといい方法あるかもな すまん 時間あったら調べてみるが他の人に期待でw
589 : >>586 AS上げてもらわないとこれ分からんな とりあえずスクリプト落としてみてみたけど変更してないとこあるんじゃね? 改造2か?とりあえずこれ見直して変数が全部同じか確認しろぐらいだなぁ〜 でオリジナルソースを落としてちとみてみたけど 捨て牌の表示は SuteHaiSet(配置位置、牌番号)ってファンクションで処理してる 牌番号がMyTehai[SuteHaiNum]って変数だからそんなバグおきるとは思えないんだが 最初の定義がなってないって可能性はないしなぁ〜それだと表示されないだろうし
590 : >>587 「"」→%22 「>」→%3E 「<」→%3C で書いて、読込んだらunescape()で戻すのはダメ?
591 : >>587 ごめんそしたら全部をescape文字に変換しないとダメか、、、
592 : onDataで受け取ればまんま表示出来るべさ
593 : >>589 ありがとう うーんなんでだろう・・・
594 : 下は、FlashMX5時代のある書籍に書いてあったASです。 目標はテキスト欄に,外部ファイル(ticker_load.txt)の 文字列(例:topic= 0123abcd)を右から左に自動スクロール 表示させることですが、MX2004でも使えるコードなのでしょうか? ・・・実行すると何も表示されないので困っています。 System.useCodepage = true; _root.loadVariables("ticker_load.txt"); _root.onData = function() { pointer = 0; space =" "; ticker = space+topic; this.onEnterFlame = tickerGo; }; function tickerGo() { disp = ticker.substr(pointer); pointer++; if(pointer > ticker.length) { pointer=0; } } OSはWin98SEです。 宜しくお願い致します。
595 : パブリッシュ設定で、5選んでみたら。 それで動かなければ、パスや変数の問題。
596 : >>594 8行目「onEnterFlame」じゃなくて 「onEnterFrame」。 「onEnterFlame」は、君が炎の中に突っ込むと 毎回実行されるイベントらしいよ。
597 : >>596 GJ!! 禿ワロタ
598 : >>596 onEnterFlame → onEnterFrame で上手くイキました。 ・・・飛んで火に入る夏の虫
599 : 594の発展形です。 1文字づつ読み込むメソッドは、substr() ですが 1行づつ読み込むメソッドは何でしょうか? 宜しくお願い致します。 それと、ActionScriptには、Sunが発行しているJavaのHtml形式 リファレンスようなものはないのでしょうか?
600 : >>599 ヘルプじゃダメなの? ジャバジャバいってるんならASぐらいお茶の子でしょ。 > 1行づつ読み込むメソッドは何でしょうか? 改行でちょん切って配列とか入れれば楽勝。 ちなみにデフォルトでは1行ずつ読み込むなんて高尚なことは出来ない。
601 : >>600 ありがとうございます。splitでやってみます。 ActionScriptの公式リファレンスはPDFで ttp://download.macromedia.com/pub/documentation/jp/flash/mx2004/fl_usingas_in_flash.pdf がありましたが、やっぱSunのJavaの方が見やすいです。
602 : OS:Win98se,FlashMX2004使用です。 ある動きの順再生・逆再生を延々と繰り返すスクリプト はどのようになるでしょうか? 流れは →→→ ↓ ←←← ↓ →→→ な感じです。
603 : 一応 this.onEnterFrame=function() { this.gotoAndStop(this._currentframe-=1); if(this._currentframe==1) { this.play(); } }; と書きましたが、ダメでした。 添削願います。
604 : >>602 適当にフレーム伸ばして、以下を1フレーム目にコピペ。 stop(); _flg = true; this.createTextField("num_txt", 1, 0, 0, 100, 20); this.onEnterFrame = function() { num_txt.text = _currentframe; if (_flg) { this.nextFrame(); } else { this.prevFrame(); } if (this._currentframe == this._totalframes) { _flg = !_flg; } };
605 : >>604 有難うございます。上記の記述でやってみます。
606 : 結局ポイントはフレームを伸ばすところにあって この場合、スクリプト自体は簡単
607 : スクリプトも張れないやつに言われても、説得力が(ry
608 : ええええええええええええええええええ こんなスクリプトもしらねーの? やっぱ厨スレだな もう見ない
609 : >>608 (・∀・)じゃあ代表でおながいします。サンプル、サンプル。
610 : >>608 とは関係無いけど >>603 this.prevFrame(); if(this._currentframe==1) { this.play(); delete(this.onEnterFrame); } とした上で、最終フレーム(か最終-1フレーム)に置く 試してないからうまく動くかは知らんけど 一応、元のを直すとこんな感じかね
611 : 国語・数学・英語の三教科の平均点を計算するスクリプトを書いているのですが どうも1+1+1=1と計算するようで・・・(^^ゞ AS超初心者ですみませんm(__)m on (press) { kokugo_totyuu = kokugo1+kokugo2+kokugo3/ninzuu; suugaku_heikin = suugaku1+suugaku2+suugaku3/ninzuu; eigo_heikin = eigo1+eigo2+eigo3/ninzuu; }
612 : ageちゃった・・・orz
613 : >>612 計算は、掛け算と割り算を先に計算するって、小学校でならったっしょ。
614 : >>613 ぬあっ俺ダメダメだw kokugo_totyuu = (kokugo1+kokugo2+kokugo3)/ninzuu こう↑してみましたがまだ 1+1+1=111は直らんようです。
615 : あ、あとkokugo_totyuuになってたのをkokugo_heikinに修正しました。 もちろん1+1(ryは変わらんです。。。
616 : t1 = Number(kokugo1); t2 = Number(kokugo2); t3 = Number(kokugo3); kokugo_heikin = (t1 + t2 + t3) / ninzuu; とかやると出来る あとは繰り返しとか使えるようになれば人数増えても問題無くなる よく試行して勉強したほうが身に付くと思うので細かい説明は省略
617 : >>616 ありがとうございます! じっくり勉強してみます(`・ω・´)
618 : すいません、助けてください;; 今、指定した日まであと何日か示すカウントダウンタイマーを作っています。 いろいろなサイトや書籍を見てやっと動作させることが出来たのですが、 時間が[03:01:01:01:01]のような時間のとき、各時間が一桁の時に頭に[0]を付けたいのですが [3:1:1:1:1]の様になってしまいます。 どうしたら頭に[0]をつけることが出来ますか? 今使用しているASはこちらのサイトのものを参考にしています。 http://www.geocities.jp/myflashsouko/flash/index5.html#date-at
619 : >>618 a=3; //aの値変えて実験するように if(a<10){ a="0"+a; } trace(a);
620 : >>619 ご返答ありがとうございます。 さっそく試してみたのですがうまくいきません。 めぼしい場所に入れ、aを書き換えたのですがうまく表示されません。 超初心者で申し訳ないのですがもう少しヒントください;; ちなみに今試しているASは[秒単位までカウントダウンする例 ]です。 ASをこちらに張りたいのですが容量オーバーではれないです。 すいません、、。
621 : このすれかどっかのすれで落ちてた関数 intToString = function( n,digit ){ var zero = Math.pow(10,digit); var num = zero + n ; return String(num).substr(1); }
622 : Flash掲示板作りたくて ttp://www.game3rd.com/flash/f4/expert/bbs/index.htm ここのサンプル落としてみたのですが自鯖にうpしても動かない_| ̄|○ パスとパーミッション以外に指定するのってあるんですか・・・・・(´・ω・`)? それともサンプルも書き込み不可とか_| ̄|○
623 : >>622 中身は知らんけど、取り合えずCGIだけで動くのか試してみては? 「CGIだけなら動く」かつ「フラッシュだけなら動く」なら、 連携部分が上手く行ってないってことだし。 どこに問題があるのか噛み砕きながらがんがれ。
624 : >>623 了解しました(´・ω・`)ゝ とりあえず個々の動作を試してみます(`・ω・´)
625 : ごめんなさい。 ボタンを押すと音が鳴るムービーを 別のムービーからloadMovieNumで読み込むとですね ボタン押しても音ならないんです。。 単独で立ち上げると普通に鳴るのですが・・・。 検索かけても全然判らなかったのですが、何がダメなのでしょうか・・・。 呼び出し元ムービーは loadMovieNum ( "○○.swf", 1); のみ書かれたファイルで 呼び出し先ムービーは onClipEvent (load) { piano = new Sound (); piano.attachSound ("piano.mp3"); } on (press) { piano.start (0.1); } とだけしか書かれていないファイルです。。
626 : >>625 どうもそれだと、呼出元ムービーの中のリンケージpiano.mp3をattachSoundしてる動作になってるっぽい 試しに呼出元のムービーにも同じリンケージで音いれてみれば鳴るはず ASでの解決法は今適当に調べたとこでは見つからんかった レイヤーにイベントサウンドで配置して制御する等、したらなんとか出来るとは思うけど
627 : aa = "trace('e')"; という風に、aaが文字列の状態で、functionの様に呼び出して、 実行することは可能なのでしょうか?
628 : スレ違いならすみません。 店頭ディスプレイ用のフラッシュをflashMX winXPで制作し、 設置する際は、exe形式で書き出したものを winXP上で動作させる予定のものがあります。 まず、お客様に商品を選んでいただき、印刷ボタンをおすと、 商品ページが印刷されるというものなのですが、 印刷する際に、プリンタダイアログがでてしまい、困っています。 このプリンタダイアログを出さずに、すぐ印刷することはできないのでしょうか? macであれば、applescriptで制御できそうな気がするのですが、 winXPでは無理なのでしょうか?
629 : >>627 ActionScriptでは不可能
630 : >>629 そうですか・・・ありがとうございました。
631 : JavaScriptのeval()で出来たはず
632 : >>627 // aa="trace"; _global[aa]("test1"); // aa="trace('test2')"; _global[aa]; // myTrace=trace; myTrace("traceの代わり"); //これを実行するとわかるけど、あなたの言ってる事は出来ないね。でも文字列からfunctionを呼び出す事は、できるので(引数ごと渡せないだけ)色々応用が聞くかもね。
633 : >>631 >>632 ありがとうございました。 JavaScriptなど、ほかの方法も考えてみます。
634 : あるフレームからの経過時間を計りたくて Yoshida = time(); Tanaka = time() - Yoshida; と書いたのですが、一行目のYoshida = time();が実行され続け 結局表示される時間がゼロになります。 Yoshida = time();の実行を止めるにはどうすればいいのでしょうか?
635 : >>634 >と書いたのですが どこに書いたんですか。それが解らないと答えようがないです 力技で解決すると //メインのタイムラインの、「あるフレーム」に _root.onEnterFrame=function(){ Yoshida=getTimer(); _root.onEnterFrame=function(){ Tanaka=getTimer()-Yoshida; } } //これで解決はする。
636 : 補足兼蛇足 上記のスクリプトだとミリ秒で出るので、馴染みやすい数字にするには _root.onEnterFrame=function(){ Yoshida=getTimer(); _root.onEnterFrame=function(){ tmpNum=getTimer()-Yoshida; Tanaka=Math.round(tmpNum/1000); } }
637 : >>635-636 回答ありがとうございます。 しかし、携帯用FLASHなのでEnterFrameが使えないorz
638 : なんでそれを最初に言わないのか凄い疑問 Rばいいと思うよ
639 : >>637 だからどこに記述したんだよ
640 : ワロスwwwwww
641 : http://happytown.orahoo.com/fu-fu-bravo.wing/
642 : 当たり判定で行き詰ってるんで教えてください(ノД`) インスタンス同士がぶつかる時に当たり判定アリになるように hitTestを用いましたが、目的はインスタンスの画像のなかの一部の絵の部分に ぶつかる時に当たり判定があるようにすることなんです。 こんな感じ 「 ̄ ̄ ̄| | 絵 | 白い部分はぶつかっても判定なし |___」 絵の部分だけ判定アリに・・・。 hitTestでターゲットとなる画像の範囲も定めることができるんでしょうか??
643 : >>642 インスタンスの輪郭にそった当たり判定 インスタンス対インスタンス:無理 インスタンス対座標:可能
644 : 処理を進めた後に違う処理をやる場合はどうすりゃ(ノД`) 今いるとこから数フレーム進めた後に、指定のラベルへ飛ばしたいんだけど どうやってもうまくいかんです
645 : >>644 飛ばしたい時にこれを実行しておいて goflag=true; 今いるとこから数フレーム薦めた場所に書くアクション if(goflag){ this.gotoAndPlay("label"); goflag=false; }
646 : >>645 ありがとう御座います出来ました(ノД`) このフラグは数種類用意する事も出来るんでしょうか? 例えばflagの1が実行されていた場合1へ 2が実行されていた場合は2へ飛ばすと言った事も可能なんでしょうか?
647 : >>646 flag=1とか flag=2とか 好きに代入して if(flag==1){ this.gotoAndPlay("label1"); flag=0; }else if(flag==2){ this.gotoAndPlay("label2"); flag=0; }
648 : XP 2004Pro を使っています。 金属探知機のような感じで、インスタンスとマウスカーソルとの距離によって 音程、または音の鳴る間隔を変化させるにはどのようにしたらよいのでしょうか?
649 : >>648 音程を変化させるのは凄く難しいとおもう 音程を変化させるメソッドは無いんじゃないかな・・・ _pitchとかあったらいいのにね。 音が鳴る感覚は・・・ インスタンス名を"test_mc"だとして temp=Math.sqrt(Math.pow(test_mc._xmouse,2)+Math.pow(test_mc._ymouse,2)); このtempの値をゴニョゴニョしてsetIntervalに渡せばいいんじゃないかな。多分
650 : >>649 ご返答ありがとうございます。 上記のスクリプトでやってみようと思います。
651 : parameterCount=0;//フレームAS onClipEvent(enterFrame){ paraCount++; } traceしてもparameterCountが拾われないんですがどうすればいいでしょう
652 : parameterCount=0;//フレームAS onClipEvent(enterFrame){ parameterCount++; } traceしてもparameterCountが拾われないんですがどうすればいいでしょう(訂正)
653 : >>652 ↓これ書いた場所が_root(メインタイムライン)で parameterCount=0;//フレームAS ↓これ書いた場所がmcだとすると、それぞれのparameterCountは別物。 onClipEvent(enterFrame){ parameterCount++; } ↓とするか、mcのフレームに最初のスクリプトを書く。 onClipEvent(enterFrame){ _root.parameterCount++; }
654 : >>653 ありがとうございます。 フレームASとオブジェクトASでは変数が別扱いされるんですね(つД`;) 助言のおかげで無事にparameterCountを取得できました。
655 : こんにちわ。 お世話になります。 Referenceファイルを見て、勉強している新米です。 いま、ムービクリップがいくつかあり、それぞれにインデックスをつけ、 インデックスごとに、ソートされる仕組みをFlashで作っています。 ソートの仕組み自体は、うまくいっているようなんですが、 行き詰まってしまいました。 というのも、あるコンポーネント(Symbol97)が、シーンに配置されると、 ソートされるため仕組みであるコンポーネント(Symbol103)の絵自体が消えてしまうのです。 また、本来なら、コンポーネント(Symbol103)のオブジェクトスクリプトに記述している labelデータが、シーンに表示されるはずなのですが、□□□□といったような 形で、文字が化けて表示されます。 どこか問題なのか、ずっと探しているのですが 初心者のわたしには、難しそうなので、このスレッドに投稿させてもらいました。 (コンポーネント(Symbol97)は、外部から記事をxml経由で持ってきて、 表示させたときに、記事が長い場合に、スクロールさせるようにさせる仕組みです。) 言葉の説明だけでは、わかりづらい部分もあると思いますので、 ファイルをアップロードさせてもらいました。 http://up.isp.2ch.net/up/20f2557c9b1e.zip (Fla8) http://up.isp.2ch.net/up/63564d7b123c.zip (MX2004) MX2004とFlash8用と二つ用意しました。 よろしくお願い致します。
656 : 詩板から来たのですが、 詩板の けんひこ、というコテが素晴らしい作品を作ったので、 ぜひ、ベテランの皆さんにも宣伝したいと思い、 こさせてもらいました。フラッシュではありませんが、センスの良さは伝わります。 http://pc8.2ch.net/test/read.cgi/cg/1129789026/l50 そのスレの1にけんひこの作品をリンクしています。 ぜひ、そのスレにてけんひこの素晴らしい作品への意見をお願いします。 これほど凄いバナーは見たことありません。 ここの人のセンスでも無理でしょう。 作品は、中原という詩人の画像や、詩や時計の画像などを引用しています。 将来、良いクリエイターになるでしょう。
657 : Flash8の FileReferenceを使ってファイルをアップロードするときの サーバーサイドスクリプトの書き方がわかりません。PHPでやりたいのですが 普通は、POST送信されたファイルを$_FILES['filename']['tmp_name']で 参照できますけど、filenameの部分に相当する名前がわからないです。 もしかして、サーバーサイドスクリプトの書き方が根本的に間違っている のでしょうか。 PHPのバージョンは4.4.0です。 ASではないですけれども、どなたかご教授くださいませ。
658 : >>657 8は持ってないから知らないけど、 Flash8の FileReferenceというものには、 HTMLでいうところの <input type="file" name="upfile" size="30"> のnameの部分に相当するのはないの?
659 : 質問させてください flash8を使っています ネット上のサンプルでマウスの位置によってシャドウとベベルが 適用されて立体ぽく見えるというのを見つけて 色々いじっていたのですが マウスの位置が遠いほど光が強くなる感じになっていて その逆のマウスが近いほど光が強くなるようにするには どうしたら良いでしょうか? ソースです 長いと入らないのでベベル部分のみ抜き出しました var maxbeveldistance:Number = 5; var bevel:BevelFilter = new BevelFilter(); bevel.strength = .6; onMouseMove = function(){ var dx = _xmouse - f_mc._x; var dy = _ymouse - f_mc._y; var distance = Math.sqrt(dx*dx + dy*dy); var angle = Math.atan2(dy, dx); bevel.distance = Math.min(maxbeveldistance, distance/50); bevel.angle = 180 + angle * 180/Math.PI; f_mc.filters = [bevel]; } onMouseMove();
660 : >>659 適当だが何となくこうじゃない? var distance = Math.sqrt(dx*dx + dy*dy)*-1; var angle = Math.atan2(dy, dx)*-1;
661 : >>660 どうもありがとうございます でも違うかもしれません ちなみに元ファイルはこれです ttp://www.senocular.com/pub/flash/8/index.php?f=mousebevelandshadow
662 : >>658 FileReferenceには、ファイルの選択ダイアログを出したり、アップロード する関数などがありますけど、ヘルプを見たのですが、 <input type="file" name="upfile" size="30"> のupfileを指定できるような、関数というか設定する部分は見つかりません でした。 webサーバーのアクセスログを見ると、POSTでアクセスはできているのですが、 PHPで送信されたファイルを参照できないので結果的にアップロード失敗です。 どこかのページで探してきたFlash8を使ったアップロードのサンプルは サーバーサイドスクリプトにColdFusionを使っていたんですが、まさかColdFusion 以外では無理とかじゃないですよね・・・
663 : >>662 http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001591.html#749834 とりあえずFiledataでやってみては? サンプルのスクリプト見るとなんか何でもよさそうな感じだね。
664 : 自己解決しました var distance = 480-Math.sqrt(dx*dx + dy*dy); とかにすればいけるようです 480はステージサイズ
665 : >>663 Filedataでできました。ありがとうございます。
666 :
667 : すみません質問です。 適当なMovieClipを配置し、インスタンス名を"ball" とした上で、フレームアクションに以下のアクションを書き込みました。 this.onLoad = function():Void { var mcr2:Number = 0; this.onEnterFrame = function():Void { var ball:MovieClip; mcr2 -= 0.5; this.ball._x = 300; this.ball._y = 300 + 50*Math.sin(mcr2*0.4); } }; これがムービープレビューではしっかり動くのですが、 F12でパブリッシュプレビューするとまったく動きません。 つまりswf単体では動くのですが、ブラウザ上だとだめです。
668 : と思ったらすぐに解決しました。 var mcr2:Number = 0; this.onEnterFrame = function():Void { var ball:MovieClip; mcr2 -= 0.5; this.ball._x = 300; this.ball._y = 300 + 50*Math.sin(mcr2*0.4); }; this.onLoad が原因だったのか、はずしたら動きました。 それにしてもムービープレビューとパブリッシュで違いがあるなんて。 環境はOSX10.4、MX2004でした。
669 : スレ違いかもしれませんが、本日FMSをwindowsに入れまして ストリーミングのテストを行いました。 ストリーミング自体はうまくいったのですが、追加として一時停止ボタンを 追加したら停止は動画と音声、再開は音声だけで動画は止まったままです。 方法も@ボタンにインスタンス名をつけて制御するAアクションボタンに スクリプトを記述と両方試したのですが、同じ結果になってしまいます。 アドバイスお願いできますか・・・orz @の方法は PauseButton.onRelease = function() { ns.pause(); }; Aの方法は on (release) { gotoAndStop(2); ns = new NetStream(nc); VideoPlay.attachVideo(ns); _root.ns.pause(); }
670 : 今あるフレームまでついたらその先にある「ABC」というムービークリップに外部swfファイルを先読みさせておくという事をさせたいのですが、 単純にあるフレームのアクションに this.ABC.loadMovie("***.swf"); といれても読み込んでくれません。 逆にムービークリップ自体に開いたらすぐ読み込むように命令しようとしてもどうしてもonハンドラを入れてくださいと言われます。 どうしたら解決できるのでしょうか?
671 : 一度も読み込んでないムービークリップは存在してないからだめ
672 : 助けて下さい。 5秒おきにランダムにムービークリップを配置したいのですが、本に書いてある通りにやってもうんともすんとも いいません。 初心者ですみませんが誰かご教授おねがいします。 i=5; function copy(){ var newName="bon"+i; _root.bon.duplicateMovieClip(newName,i); var mcPath=eval(newName); var randomX=Math.floor(Math.random()*5)*100; mcPath._x=randomX; var randomY=Math.floor(Math.random()*4)*100; mcPath._y=randomY; i++; } this.onEnterFrame=function(){ _root.copy(); }
673 : >>672 質問 _root.bonは作りましたか? onEnterFrameの意味は分かりますか?
674 : >>673 ごめんなさい。正直わかりません。 _root.bonはムービークリップシンボルではないんですか?
675 : >>672 ちょwwwww onEnterFrame分からんのにduplicateMovieClipとか使うの早すぎ 5秒おきに配置したければもっと勉強してからonEnterFrameじゃなくてsetInterval使え
676 : >>674 わからない場合はFlashヘルプを見てみる癖をつけたほうがいいですよ。 _root.bonはムービークリップシンボルです。 正確には_rootにあるbonと言うインスタンス名のムービークリップです。
677 : みなさんありがとうございます。 も少し勉強せねば。 出直してきますm(__)m
678 : FlashLite1.1で、ActionScriptを書いていたところ、 _root["abc"].text = "あいうえお"; と言う命令(名前は分からないのですが・・・)が ActionScript1.0に対応していないようなので、 エラーが出てしまいます。 1.0で、コレと同じ、またはコレに変わるようなものは 存在するのでしょうか?
679 : >>678 物凄く遅レスですみませんが そのabcというテキストフィールドに変数を関連付けて、 変数 = "あいうえお" ; にしては如何でしょうか? テキストフィールドと変数の関連付けは テキストフィールドのプロパティ欄にあります。
680 : >>679 返信ありがとうございます。 しかし、実際は _root["abc"].gotoAndStop(2); としたいのですが、どうやら調べて見たところ、無理そうなので、 あきらめます。。 説明不足ですいませんでした。
681 : eval(だっけ?)使えないの?
682 : ActionScript1.0っていうよりも、flash4まで命令しかダメじゃなかったっけ? liteって。
683 : 超初級な質問ですみません リンゲージ識別子って何ですか? ヘルプファイルを「リンゲージ識別子」で検索しても解説してなくて… ググッても解説らしきものは出てこないんです。。 解説したページとかでも結構なので教えて下さいです。
684 : >>683 ライブラリにあるムービークリップやら音やらを右クリックしてリンケージ そこに識別子書く場所がある
685 : >>684 さん ありがとうございます。 設定の仕方はわかったんですが、 リンゲージ識別子を設定するといったいどういう事ができるんでしょう? 自分で実験してみたのですが、 "ライブラリの中のアイテムを直接指名できるとかそういう事なんだろうか" という程度の理解しか持てなかったのですが、 この解釈は合っているんでしょうか・・・? 定義的にはどういうものなのでしょうか?
686 : >>685 684じゃないが、その解釈で合ってます。 後ヘルプファイル探したとか書いていますが、関連項目の解説はあります。 見つからないのは「リンゲージ」では無く、「リンケージ」だからです。 「ゲ」では無く「ケ」
687 : 深度について質問です。よろしくお願いします。 「ムービークリップに指定できる深度の範囲は、-16384 から 1048575 までです」 と、AS2.0の学習に書いてあるのですが、範囲外の場合に何か問題があるのでしょうか? 際限なくattachMovieを行うのですが、指定深度が最高値を超えます。 範囲に収まるように処理する必要があるのか迷っています。 ためしに、オーサリングツールでmc1の上にmc2を配置したあと、ASを実行しましたが、 var i:Number = 2048576; mc1.swapDepths(i); mc2.swapDepths(i-1); this.attachMovie("box","boxMax",i+1); 順番の入れ替え、attachMovie共に出来ました。 範囲外でも数値は適用されているようです。
688 : よくみるとここは質問スレじゃないですね 他と勘違いしてしまったようですいません。 移動します。
689 : >>686 さん Σ(・Э・;) ありがとうございます!!
690 : 行き詰まって語り合う、というスレタイだが、 中身は思いっきり質問スレだし、いいんじゃねぇとか思った
691 : 乗っ取りにも耐えたしね。懐かしい。
692 : 郵便番号を入力して、郵便番号に該当する住所を表示する機能をFLASH組み込みたいのですが、プログラムのサンプルとして参考となるサイトなどご存知の方いますか? 使用しているのはFlashMX データベースは、MySQLかXMLを使用しようかと検討中です。 できれば、郵便番号を入力すると同時に住所が表示される、 http://blog.japan.zdnet.com/flash/a/000154.html のようなプログラムを埋め込みたいのです.. なにかサンプルのプログラムのあるサイトとか ご存知の方いらっしゃったら教えていただけないでしょうか。 よろしくお願いします!
693 : そんな特定の機能のサンプルを求められても、なかなかないと思いますよ。 どこの部分の仕組みが知りたいのか、もう少し絞ってみたらどうですか?
694 : 郵便番号検索は、ajaxでの解決方法だったらあちこちに転がってる。 考え方はだいたい同じだし、コードを読んでFlash用に書き換えるのがいいんじゃないかと。
695 : >>692 いい加減Flash作業員に飽きた俺がやってきましたよ。 郵便番号→住所をやるためには、この2つが必要な訳ですな。 (1) Flashからプログラム(PHP/Perl)に郵便番号を送る。 (2) プログラムから、住所が帰ってくる。 (1) てきとーに LoadVarsとか使えばいいんじゃない? 使い方は、ActionScriptリファレンスガイド見るとすぐ分かる。 ---- var send_lv:LoadVars = new LoadVars(); var load_lv:LoadVars = new LoadVars(); load_lv.onLoad = function(success:Boolean) { // 返り値 キタ━━━━(゚∀゚)━━━━!!!!! trace(logLoader.addr); }; function getAddress(zip:String) { send_lv.zipcode = zip; send_lv.sendAndLoad("jpzip.php", load_lv, "POST"); } getAddress('1500013'); ---- (2) 郵便番号、住所が入ったデータベース(MySQL/PgSQL)+DBからデータを検索するプログラム (PHP/Perl) XMLでやるのは、パフォーマンス的に不可能。MySQLかPgSQLでやるのが現実的。これ自作すると結構面倒。 郵便局のサイトからCSVをダウンロード。CSVをMySQLに突っ込むプログラム(PHP/Perl)作ってDBに登録。 http://www.post.japanpost.jp/zipcode/download.html んで、Flashから郵便番号貰ったら、DB検索して住所を返すプログラム(PHP/Perl)作って、(1)と連携。 一番簡単なのは、郵便番号投げたら住所返してくれるサービスを見つけて それを使うプログラム(PHP/Perl)を作ることかな。調べてないけど
696 : >>695 flash作業乙。 今どんなの作ってる?
697 : >>696 今作ってるのは、Flash <- XML -> PHP で、動作するRIAっぽいヤツ。 XPath使ったら、XMLのパースが簡単でスゲー嬉しい今日この頃。
698 : >>697 どんな感じか見たいなー。うp。 XPath便利だよね。DataBindingClassesをインポートしなきゃならんのだっけ? 標準で使えるようにしといてくれてもいいのにね(´・ω・`) でも次期flashにはE4Xってのが載るらしいから便利になるかも。
699 : >>698 用途がかなりニッチで特定されそうなんで、うpは勘弁^^;;;;;; デザパタ使って作ろうとしてるんだけど、いまいちワカンネ...。 GUIの管理は、Mediatorパターン。 データ(XML通信)は、Observerパターン(てか、EventDispatcher)でやってる。 そそ、DataBindingをライブライに置いてないとダメ。 まんどくせ...。
700 : >>699 デザインパターンか。全く知らないからちょっとググったら http://www.techscore.com/tech/DesignPattern/Mediator.html がひっかかった。 つまり今まで抽象的だった処理パターンに1つずつ名前を与えたら 便利なんじゃね?っていうことなのかな。 僕もRIAっぽいの作ってるから、覚えたらコードすっきりするかも。 とりあえず今は 「ベースとなるswf + その他いろんな機能を持ったswfたち」 って感じに分割して肥大化をしのいでる。
701 : よろしくお願いします。 いま、フレームアクションに以下を記述しています。 // _root.abc.loadMovie("aaa.swf"); _root.abc.loadMovie("bbb.swf"); _root.abc.loadMovie("ccc.swf"); timer_ID = setInterval( function(){ _root.gotoAndPlay(2);} , 2000 ); // この記述だと、aaa.swf,bbb.swf,ccc.swfの読み込みが終了するか、 しないか、わからないまま、20秒たつと、フレーム2に進んでしまう という処理になります。これを、すべてswfファイルの読み込みが終了した 時から、20sたつと、フレーム2に進むという処理のフローにしたいのですが、 可能でしょうか? よろしくお願いします。
702 : >>701 MovieClipLoader使えばおk 分からなかったら下のスレへ。 ActionScript 誰かが物凄い勢いで解答するスレ 12 http://pc8.2ch.net/test/read.cgi/swf/1145601039/
703 : Flashなんか死滅すればいいのに
704 : だめだ、外部swfやjpegが読み込めん
705 : 俺にはやっぱりFlash向いてないや
706 : おー。行き詰ってるね!
707 : もうだめだ… アドビのサイトが迷路のごとく分かりづらい あれは訪問者をはめる罠に違いない
708 : 頭に来て開発ツールと今まで作ったものを全部消してみた すっきりした
709 : レス遅れて申し訳ないです。 >>978 きれいに作られてますね・・・参考にしてみます。 >>979 フォーカスを内部変数で管理することにより、 数字の入力を1つのMCに限定することができました! 有り難う御座いました! 教えて君で申し訳ないのですが、フラッシュでブラウザの F5をRことは技術的に可能でしょうか? JavaScriptでR方法は試したのですが、フラッシュ上にフォーカス があるとJavaScriptが効かず更新されてしまうのですが・・・ 可能か不可能かだけでも教えて頂けないでしょうか?
710 : 誰か、Flashのリンクの貼り方知ってる方いますか?? ちなみに外部のwebページではなく、 自分で作成したHTMLファイルにです。 ホームページのTOPを作っててメニューFlashをつくって、 各メニューボタンに on(release){ Geturl("http://...index.htm"); } を設定しました。 で、Flashplayerで再生してちゃんと指定先に飛ぶんですが、 HTMLであげると一切動かないんです(>□<;) 詳しい方いましたらお願いします(:´⊆`.:)
711 : 一切動かないっていうのはボタン押しても飛ばないってこと?
712 : 質問です。 現在の再生フレーム番号の表示方法は分かったのですが、 これを、キー(例としてB)を押したときのフレーム 番号のみを表示させる方法は無いでしょうか?
713 : >>710 getURL(); ね。 スタンドアローンのほうのフラッシュプレイヤーのバージョンが低くて、メソッドの大文字小文字を区別しないのに IEの方のプレイヤのバージョンが高くて、メソッドの大文字小文字を区別して Geturlというメソッドが存在しなくなるために起ってると思われ 端的に言うと getURL("http://pc8.2ch.net/test/read.cgi/swf/1059977784/710"); ってかけ
714 : MediaPlaybackに外部FLVの動画を連続で再生させたいんだけど、どうすればいいんでしょうか? MOVIE1が終了後MOVIE2を再生というように。 またMediaPlaybackの音声を最初からオフにしておくにはどうすればいいのでしょうか?
715 : >>714 import mx.video.*; var listenerObject:Object = new Object(); listenerObject.complete = function(eventObject:Object):Void { trace("flvによってはcomplete受け取れない"); my_FLVPlybk.play("movie2.flv"); }; my_FLVPlybk.addEventListener("complete", listenerObject); my_FLVPlybk.volume = 0; my_FLVPlybk.contentPath = "movie1.flv"; こんどからこっちね ActionScript 誰かが物凄い勢いで解答するスレ 14 http://pc8.2ch.net/test/read.cgi/swf/1157663122/
716 : onDataを使って、エクセルで作った表を二次元配列(Array?)に そのまま入れるには、どのようにすればいいのでしょうか? list_arr = new Array(); list_arr.onData = function(data_str) { list = data_str.split("\n").join(" ").split("\r"); var nLength = list.length; for (var i = 0; i<nLength; i++) { var temp_array = list[i].split(","); } } list_arr.load("data.csv"); いろんなサイトのものを試しているのですが、ならなくて・・・ 初心者なもので、どこがダメだかさっぱりです。
717 : >>716 list_arr = new LoadVars(); temp_array = new Array();//←二次元配列の入れ物 list_arr.onData = function(data_str) { var list = data_str.split("\r").join("\n").split("\n\n").join("\n").split("\n"); var nLength = list.length; for (var i = 0; i<nLength; i++) { temp_array[i] = list[i].split(","); } }; list_arr.load("data.csv"); ArrayにonDataのイベントは無い Arrayにloadのメソッドは無い varの意味がわかっていない temp_arrayがどうなるかも理解できていない もっとがんばりましょう。
718 : http://f.flvmaker.com/mcc1.swf?id=aAxcPpX4__GKUTAF6Eq.PMqehLcwBpX.jEYGJBYuJLOSEhQXPKHlXbv.73Ci85qIZgVPT3bkaoldY2g.Ejh7hzs
719 : ttp://t-a-i.org/zk/webdev/FLASH_MOBILE/ の「Flash Lite制作上のポイント(メモ)」に、 String(),Number()などの型変換の関数が使えない と書いていますが、Flash Liteでそれに変わるものはないのでしょうか?
720 : 和田罪(ワダツミ)の木 ∩∩ V∩ (7ヌ) 盗作 児童買春 人殺し (/ / / / R 盗撮 ∧_∧ セクハラ ∧_∧ 痴漢 ∧_∧ || / / ∧_∧ ∧_∧ _( ´∀` ) ∧_∧ ._( ´∀` ) ∧_∧ ._( ´∀` ) || \ \( ´∀`)ー‐-( ´∀` )  ̄ ⌒- ( ´∀` ) ̄ ⌒`-( ´∀` ) ̄ ⌒` / \ /⌒ ⌒ ̄ヽ和田義彦/~⌒ ⌒ ̄ヽ和田友良/~⌒ ⌒ ̄ヽ和田信也/ | 和田 |ー、 /  ̄| //`i 和田勉/ ̄|. //`i 和田弘 / ̄|. / |真一郎| 和田英生 (ミ ミ) | / (ミ ミ) | | (ミ ミ) | | | | / \ | | / \ | | / \ | | ) / /\. \| / /\ \| / /\ \ / ノ |/ ヽ ヽ、_/) (\ ) ヽ ヽ、_/) (\ ) ゝ ヽ、_/) (\ ) | | |/ /| / レ \`ー ' | | / レ \`ー ' | | / レ \`ー ' ttp://www.tanteifile.com/diary/2006/10/22_01/index.html http://academy4.2ch.net/test/read.cgi/gallery/1149689968/65 http://academy4.2ch.net/test/read.cgi/gallery/1149689968/575
721 : ロールオーバーするとドロップダウンで追加メニューが出てくるようなインターフェイスって 作りにくいんだけど、どうやったらいいんだろう。 on文とかって複数重ねて使えないし。 親メニューの当たり判定を後でドロップダウンする追加メニューにも適用するのってどうやって するんでしょ? 以外とその辺のTipsって本とかで出てないような気がする。
722 : onEnterFrameでhitTest(_root._xmouse,_root._ym(ry
723 : 例えば_level1にでてきた1.swfを 自動でクリックしてくれるactionscriptってないですか?
724 : すげぇ過疎
725 : 突然入ってきてすいません、少し知恵を貸してください。 僕は今、マウスのホイールクリックでボタン判定を とる方法が必要で、ホイールの判定はできたのですが、 その判定が違うフレームやシーンでも行なわれてしまうのです。 function onEnterFrame() { var r = ASnative(800, 2)(4); if (onEnterFrame.r != r) { if (onEnterFrame.r = r) { onWheelbuttonDown(); } else { onWheelbuttonUp(); } } } function onWheelbuttonDown() { trace("pao"); gotoAndStop(2); } onEnterFrame.r = ASnative(800, 2)(4); が今書いてあるASです。 1フレーム内だけで判定を求めたいので、 図々しいようですがよろしくお願い致します。
726 : >>725 下のonWheelbuttonDownの定義を function onWheelbuttonDown() { trace("pao"); onEnterFrame=undefined; gotoAndStop(2); } に書き換える。
727 : age
728 : AS2で、グラフィックとコードをなるべく分離する最善の方法は どういう書き方でしょうか? flaに一行もASを書かずに済ませることって可能ですか?
729 : スクリプトからattachMovieとかしたMovieClipとかってイベントが割り振れないんですが(指マークにならない) どうしたらいいんでしょう。
730 : あげ
731 : >>728 1行も書かないってのは無理だけど、俺のゲームでは1フレーム目に全体を制御するクラスを作って停止させて その後はクラス内から_rootにMCをアタッチしたり関数をインターバル実行させて各MCを再生したりしてる ボタンとかのイベントの関数とかもその中で代入してる flaファイル内のASは2行くらいかな
732 : 質問です。 (ビットマップデータ)パーリンノイズがうまく動作するFlashPlayerのバージョンは8からで正しいですか?
733 : 初心者だけど知恵を借りたいです。 マイクで叩く音を拾って、”小さい音”と”大きい音”で違うアクションさせたい。 onEnterFrameでactivityLevelを拾って二つの閾値を if (mic.activityLevel < 20) { なんもしない } else if (mic.activity.Level <40) { アクション@ } else if (mic.activity.Level <100) { アクションA } みたいにしたんだけど、これだと 音が2フレームにまたがるとアクションがエコーするみたいに連続して起っちゃう アクションAさせたいときも@が前後のフレームで起っちゃう って問題があるんだけど、どのような対処法があるでしょうか
734 : 誤爆
735 : あのー flash10で最近3D始めたんですが・・・ Matrix3DのrawDataで与えるVector.<Number>が なんか転置されてるような気がするんですが・・・気のせいでしょうか? リファレンスに列ベクトルって書いてあるし Matrix3Dのとこ見てもそれようの行列になってるんですが、 実装的には行ベクトルだったりするんでしょうか??
736 : 全然書き込みがないんでageる forの部分でシンタックスエラーが出て構文的におかしいはずないのに と何時間も悩んでたらもう同じように1度書き直したら通った… なんなんだよ… そもそもforの部分だってコピペしただけなはずなのに どっかに全角とかあったりしたのだろうか でも、ホッとした…
737 : マイク入力やLINE入力した音を扱うことができるのはわかったのですが、 例えばiTunesなんかの音楽プレイヤーで再生されてる音をflashで拾うことって可能ですか? 環境はwin xpでflash cs4です。 ご存じの方おしえてください!
738 : >>737 それは、相手の環境によるんじゃね?
739 : てすと
740 : >>738 ありがとう。規制かかっててレスできなった。遅くなってスマソ。 相手によるってことはどういうことだろう。 自分がやりたいことはスクリーンセーバーという体裁をとりつつも 作動中に相手がPCで音楽を聞いていたらそれに同期するようなフラッシュなんよ 相手がマイク(WEBCAMなど)を持っている場合はアクセス許可を得た上でそこから音を拾えるのだけど、 そうすると外部からのリターン音になっちゃう 説明わかりにくくてスマソ 相手がPCで聞いてる音楽にあわせて同期したいんよね マイクとか外部デバイス一切関係なしに やっぱりむりかなああ
741 : FLASH板に来てActionScriptで検索しても質問スレがなかったんでこちらで質問させてください。 ActionScriptをこれから始めたいのですが、FLASH板住民がオススメする入門書はありますか? 本一冊がとても高く、どうも気軽に買えないので、3.0で「これがわかりやすいよ」って本を教えていただきたいです。 いつかはmixiアプリを作りたいと思っています。
742 : プログラム非童貞ならオンラインのLiveDocだけでいいと思う。
743 : 質問スレはあるさね ActionScript 誰かが物凄い勢いで解答するスレ 26 http://pc12.2ch.net/test/read.cgi/swf/1270211035/
744 : docomo PRO series SH-05C Part.2 http://toki.2ch.net/test/read.cgi/keitai/1296900783/100-
745 : 3はなさそうだな
746 :2013/02/16 _ |O\ | \ キリキリ ∧|∧ \ キリキリ ググゥ>(;⌒ヽ \ ∪ | (~) ∪∪ γ´⌒`ヽ ) ) {i:i:i:i:i:i:i:i:} ( ( ( ´・ω・)、 (O ⌒ )O ⊂_)∪
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
FLASHで携帯待ち受けを作ろう (296)
初心者が作品を発表するスレv7。 (627)
3D系 FLASH その3 (790)
なあ、正直、 (103)
yeah!めっちゃ堀江 (477)
短編フラッシュ制作委員会 (120)
--log9.info------------------
【ラノベ】自作を晒して感想をもらうスレvol.58 (182)
オーバーラップ文庫大賞【3ターン目】 (569)
【荒らし】電撃小説大賞@文芸サロン81【発覚】 (533)
【投稿サイト】小説家になろう747【PC・携帯対応】 (1001)
【小説家になろう】底辺作者が集うスレ2 (113)
【マイナーの集い】小説家になろう99【コテお断り】 (1001)
【推薦スレ】小説家になろう13【PC・携帯対応】 (131)
【少女向け】文庫ランキングを貼るスレ その23 (174)
小説家になろうの女性向け作品を語るスレ18 (1001)
SS作家が集うスレ16 (127)
書店員のためのラノベスレッド (399)
鎌池和馬総合スレッド1551 (503)
俺妹12巻を全面肯定する会 part5 (465)
谷川流 330 (124)
秋田禎信総合スレ 第163巻 (993)
【マージナル】神崎紫電7【ブラック・ブレット】 (246)
--log55.com------------------
自分未来アソシエ(ITTO みやび) part3
【アツコ】代ゼミ熊本校part31【秋の訪れ】
【親切】質問対応の良い講師、悪い講師【不親切】
新卒で塾講師になった人はどうすんのかね
広告の宣伝文面だけは物凄い予備校塾
大学生になるから塾のバイト始める予定なんだけど
はじめて予備校の授業を受けて衝撃的だったこと
佐々木和彦