ActionScript 誰かが物凄い勢いで解答するスレ 5
>>937 それだと、プレイヤーの足元より下のブロックしか対応できない気がしますが…。
あ、でもそうか。プレイヤーの右端左端上端下端の座標とブロックの右端左端上端下端とを照らし合わせればそれで対応できそうですね!ありがとうございます。
>>938 う、英語サイトですか。がんばってちょっと読んでみる…。これは、近そうです。すごく近そう!配列を使うなんてまったく想像の範囲外!ていうかhittest使ってねーじゃん!サンプルソースをダウンロードしまくって解析してみます。
もんのすごい参考になりました。ありがとうございます。
>>939 どうしてもリアリティを出したいとか、厳密な判定をしたいならば、
MCに入れ子でつま先とか足の平とかにhitTest用の判定MCを組み込めば良い。
キャラクターとブロックのヒット判定じゃなくて、接地用MCとブロックとの判定で制御すれば大部分の問題は解決する。
視覚的に理解できるから、分かりやすい方法だと思う。
それと配列を使うのはhitTestで勉強してからでも遅くない。
ソース詳しく読んでないから深い言及は避けるけど、hitTestを使ってないとしても、
概念としてはhitTestと非常に近いはず。
予め発生させたブロックに対して、計算上でのある種hitTestを行っていると言っても過言ではないかもな。
”そこにオブジェクトを発生させた” って前段階がある事は非常に大きなヒント。
とりあえず、まずは小さい画面でキャラクターの制御からやってみてはどうだろう。
そうですね…。確かに一度にいろんなことを覚えようとするのは僕の悪い癖です。
アドバイスのように、キャラクターMCの内部に、上下左右にあたり判定MCを配置してみようと思います。
こんな風な感じに。(↑←→↓がそれぞれ各辺のhittestを担う長細〜いMC)
□↑↑↑↑□
←□□□□→
←□□□□→
←□□□□→
←□□□□→
□↓↓↓↓□
なんかいけそうな感じです!明日やってみます。
>>938のリンク先のサンプルソース中のコメント
// where are our edges?
というのにも通じるところがある感じです。
ありがとうございます!
まぁ、ちょっとズレてるよ。
hitTestのパラメータ、trueってどう言う判定だろ。falseってどう言う判定だろ。
って辺りから勉強すると、きっと自分で気づいて行く事もあると思う。
リファレンスなり、ネットで検索なりすると良い事があると思いますわー。
hitTestの真偽値って座標計算時でしょ
マウスでの当たり判定ぐらいしか思いつかない。
環境はMX2004proで出力はFlashLite1.1です。
確認はAU携帯で行ってます
1フレーム目に
hour = fscommand2("GetTimeHours");
min = fscommand2("GetTimeMinutes");
sec = fscommand2("GetTimeSeconds") ;
hourHand._rotation = hour*30+(min/2);
hourHandShadow._rotation = hour*30+(min/2);
minuteHand._rotation = min*6+(sec/10);
minuteHandShadow._rotation = min*6+(sec/10);
secondHand._rotation = sec*6;
と書いて2フレーム目で"gotoAndPlay(1);"で1フレに戻してます
動いてることは動いてるんですが、挙動がおかしいっつーか
どこか詰めが甘い気がします。ご指摘お願いします
945 :
944:05/02/11 13:42:22 ID:oPI/6btX
あ、↑はアナログ時計のスクリプトってことで。
hourHand、minuteHand、secondHand、のオブジェクトを
回転させてます
フレーム180に来たら、キャラの口パクをさせて、
フレーム200で、口パクを停止させるようなASを作ろうとしている初心者です。
メインのタイムラインと、「paku」という名のMCを使って、
下記のようなASを書いてみたのですが・・・口が動かないんです。(´・ω・`)
メインタイムラインのフレーム180
paku.gotoAndPlay(2);
メインタイムラインのフレーム200
paku.stop();
「paku」のタイムラインのフレーム1に
stop();
「paku」のタイムラインのフレーム9(最後のフレーム)に
paku.gotoAndStop(1);
↑メインタイムラインのフレーム180で、
「paku」のフレーム2から9までをループさせるようにして、
メインタイムラインのフレーム200で、
「paku」を停止させようとしてるつもりです。^^;
どなたかご指摘お願いします。m(_ _)m
947 :
946:05/02/11 18:59:02 ID:IsSLxiVT
使用ソフトはFlash MXです
書き忘れ・・・orz
>>940 メインは、
180にpaku.gotoAndStop(1);
200にpaku.gotoAndPlay(2);
pakuは、
1にstop();
最終フレームにgotoAndPlay(2); //ループ
949 :
Now_loading...774KB:05/02/11 19:18:37 ID:SWDBCbYF
まちごた、こっちが正解。
メインは、
180にpaku.gotoAndPlay(2);
200にpaku.gotoAndStop(1);
pakuは、
1にstop();
最終フレームにgotoAndPlay(2); //ループ
>>944 手元に環境ないのでわからないのですが
onEnterFerame使えませんか?
onEnterFrame =function(){
処理
}
stop();
// gotoAndPlay(1);
FLASH2004を使っています。
本屋でいいスクリプト本をみつけたのですが、MX対応とかいてあるのですが、
この本を買っても2004でスクリプトが動くのでしょうか?
なんかうろ覚えで、5からMX、MXから2004はスクリプトが変わったとかなんとか、
聞いたことがあるもので、せっかく買っても動かなければと思いまして。
952 :
944:05/02/11 21:08:26 ID:oPI/6btX
>>950 onEnterFrame =function(){
はFlash5用でだめそうでした。
>>952 じゃあ、
onClipEvent (enterFrame) {
処理
}
はどうですか?
>>951 FLASH2004ちゃんと買ってから質問しろ。
違法ダウンロードは通報するぞ。
>>954 ちゃんと買っているので心配ないです。
本を買っても2004で使えますでしょうか?
スプリクトに関しては無知なもので。
>>952 ところで、そもそも整数値のfpsじゃないってオチはないですよね?
具体的に何がどうへんなのですか?
957 :
944:05/02/11 22:17:51 ID:oPI/6btX
>>953 それもエラーが帰ってきました
944が今のところ動きますね。
ソレよりコレがDocomoでは動かないのがアレです
1.0はどうやりゃいいのか・・・
>>955 漢ならActionScriptの1.0と2.0の違いなど、関係ない。
気合で頭脳変換しろ。
俺の動かない体感確立は5%〜10%だ。
誤爆したようだな。すまぬ。
959 :
946:05/02/11 22:43:58 ID:IsSLxiVT
>>949 そのように書いてみても駄目でした・・・
「paku」は結構階層化してるんですが、その事は関係あるんでしょうか?
メイン
↓
MC1
↓
MC2
↓
paku
みたいな感じになっているのです。
あと、MC1があるレイヤーには、マスクもかかってます。
指摘お願いします。m(_ _)m
>>958 レスありがとうです。
その本明日買ってこようと思います。
>>951 5→MXはかなり変わったけど、MX→2004はそれほどでもないから大丈夫。
変わったところも、MXに「付け加えられた」だけだから、MXのが2004で動かない
なんてことはまずない。良いと思ったら買ってもいいと思うよ。
ただ、2004で付け加えられた部分に、結構便利な面もあるから、その本で
基本を勉強して、2004用のリファレンス本とかあるといいかもね。
失礼します
スクリプトによる外部テキストの読み込みなのですが
システムとして、cgiで作成したテキストデータを、swfファイルで表示するという構成になっています。
しかし、自分の鯖がcgiとhtmlを別の場所に設置するように別れていて
htmlやswfの置き場からcgiの置き場所(にあるテキストデータ)を参照しようとするとセキュリティで弾かれてしまい
また、cgiでhtmlサーバに書き込みを行なおうとしても弾かれてしまい、
cgiの鯖にswfファイルを直接置いても表示することができずに困っております。
こういった場合は、別の鯖を探す以外に対処方法はないでしょうか?
ちなみに私が使っている鯖はniftyです。
っ System.security.allowDomain("hpcgi?.nifty.com");
>964
おお、こんな命令があったんですね・・・!
勉強不足で申し訳ありませんでした。
しかし本当に助かりました。
心より感謝致しますm(__)m
>>964 俺も知らなかったから試しにやってみたらエラーが出た。
XP、MX2004
System.useCodepage = true;
System.security.allowDomain("xxx.co.jp");
loadVariables("
http://www.xxx.co.jp/info.txt","_root");
**エラー** シーン = シーン 1, レイヤー = レイヤー 1, フレーム = 1 :行 2:security' という名前のメソッドはありません。
System.security.allowDomain("xxx.co.jp");
ActionScript エラー数 :1 報告済みエラー :1
>>959 >>961にも書かれているとおり。
厳密に書くと、
this.MC1.MC2.paku.gotoAndPlay(2);
this.MC1.MC2.paku.gotoAndStop(1);
とすべき。
969 :
963:05/02/11 23:44:55 ID:JFB7ZxT4
むむ、なんでだろう。
自分はエラーは出ませんでしたが、相変わらずセキュリティで弾かれてしまいます。
環境はFlash5でWinXPです
リファレンスを少し熟読してみます
970 :
946:05/02/11 23:59:49 ID:IsSLxiVT
>>968 そのように書いてみたのですが、動きませんでした。。。
「paku」にはモーショントゥイーンを使ってるのですが、関係ありますか?
「paku」のフレーム1のstopを消してみたら、
メインのフレーム180以以前からずっと口パクした状態になってしまいした。
MC1自体はフレーム121からあります。
>>970 MC1とMC2のインスタンス名はMC1、MC2であってるの?
違うなら自分でつけたインスタンス名を
>>968のMC1とMC2のところを書き換える。
というかマニュアルなり参考書なりお勉強サイトなり見て基本から学んだほうがいいよ。
972 :
963:05/02/12 00:18:04 ID:UuJSYLYo
調べたら少し分かりました。どうやら使い方を勘違いしてたみたいでした。
swfファイルを二つ用意して、読み込まれるswfのほうにallowDomainを記述して
もう片方の別ドメインのswfから、そのswfファイルを読み込むという形だったようです
早速試してみます。
973 :
963:05/02/12 01:15:38 ID:UuJSYLYo
いろいろと試してloadMovieしても読み込めませんでした・・。
そろそろ報告のし過ぎな気がするので、書き込みを控えますが
もし何かアドバイスがあれば指摘して頂けると幸いですm(__)m
AS技術交換スレでallowDomainの使用例あったよね
977 :
946:05/02/12 14:26:25 ID:0bQFZU1i
>>949 >>961 >>968 >>970 ご指摘、アドバイスありがとうございましたm(_ _)m
メインのフレーム180に
_root.MC1.MC2.paku.play();
_root.MC1.MC2.paku.gotoAndPlay(2);
と、書いてみたらできました。(*´∀`)
978 :
946:05/02/12 14:27:58 ID:0bQFZU1i
979 :
963:05/02/12 14:29:55 ID:UuJSYLYo
情報を頂いて本当にありがとうございます
特に>974さんのリンク先は大変参考になりました
しかし、どの方法を試してもうまくいかず、やはりFlash5ではいろいろと無理があるのかと思い始めました
(もちろん解決策はあると思いますが)
crossdomain.xmlを使っても、allowDomainを使っても
苦肉の策でcgiを使ってhtmlを書き出してflashを読み込んでも無理でした。
恐らく自分がどこかでミスをしてる可能性も十分あります。
今回は残念ではありますが、時間と気力が一時的に尽きてしまったので
とりあえず一時断念してcgiとhtmlが一体型の鯖を探すことにします。
またいつか暇ができた時に必ずやリベンジします、情報を下さった片々本当にありがとうございましたm(__)m
質問です。
FLASH-MXでガンシューティングを作りたいのですが、
敵をボタン形式で配置し、敵をクリックしたらそのボタンをステージから消去、
すぐさま敵が倒れる動作のムービークリップに入れ替えて
そのムービークリップを1回だけ再生して消去
という命令はどうすればよいでしょうか?
まず問題を切り分けるといいよ。
>>980 次すれよろしく
漏れだったら、敵をMCで作成。
フレーム1は立ち。でstop()させとく。
フレーム2以降は死亡の演出。
attachMovieClipでランダムな位置に敵出現。
死亡の演出終わったらremoveMovieClipで消す。
スレたてはあれだから俺がトライしてこようか?
986 :
980:05/02/12 20:32:37 ID:PqpEL5pK
988 :
980:
>>987 いきなりやってしまった…orz
すまんです、追加してきます