X



FLASHで格闘ゲーを作りたい!
0001Now_loading...774KB
垢版 |
05/02/10 17:48:20ID:numT7sLH
しかし、格闘ゲーの作り方が全くわからない・・・。
HPの設定の仕方とか、当たり判定のつけ方とか・・・。
ツクールなんか買ってられるか!FLASHで作るんだぃ!
って思ったんだけど、全然成功しないんです・・・orz
誰か助けてください、お願いします。
0407Now_loading...774KB
垢版 |
2009/01/13(火) 18:32:11ID:I88BLj1z
>>355はなんで>>370にしないと動かないのですか?
動かしたいものの中の第1フレームに記述すれば動くはずですよね。
0408348
垢版 |
2009/01/13(火) 22:04:34ID:fug/qDbX
>>407

>>379にも書きましたが
たしかに動かしたい物の中に書けば動きます
しかしそれはフォーカスが当たっている間のみなので
対象のMCを一度クリックしてやらないといけないし、
ほかのMCにフォーカスがあたるとまた動かなくなります

今回の場合そんなやり方は非効率的ですしflashが動作している間ずっと
キーイベントが受け取れればベストなはずです
flashが動いている間ずっとキーイベントを受け取りたい場合は
stageに登録してやるとflashにフォーカスが当たっている間
常にキーイベントが取れるというわけです
0409407
垢版 |
2009/01/13(火) 22:56:54ID:2t+1o7c3
>>408
むは、ごめんなさい>>379スルーしてました。
0410407
垢版 |
2009/01/13(火) 23:04:08ID:2t+1o7c3
書き込んでしまった。
>>408
これまた丁寧にありがとうございます。
クリックすれば動きはするんですね。
難しい。

アルゴリズムマニアックス買ってきた。
こちらはとても面白い。
なんか色々妄想してしまいますね。
0411341
垢版 |
2009/01/15(木) 23:23:32ID:f0vgtzOv
必殺技のコマンドがわからんね
押したキーの取得は分かるが、一定時間以内に入力したかどうかを
判定する必要があると思うけど、どうやるのだろう
一定時間ごとに変数消す、ぐらいしか思いつかない

というかこれから作る必要のある、当たり判定やらキャラ選択やら考え出したら
頭パンクしそう
0412361
垢版 |
2009/01/16(金) 00:08:34ID:sztcwXhJ
>>411
>押したキーの取得は分かるが、一定時間以内に入力したかどうかを
ttp://hakuhin.hp.infoseek.co.jp/main/as3/date.html#DATE_00
↑ここの「測定中の経過時間を調べる」を参考に試してみれば良いかと。

>というかこれから作る必要のある、当たり判定やらキャラ選択やら考え出したら
>頭パンクしそう
当たり判定は妥協する点によって難易度が違うと思う。
他に作るべきモノはまだあるけど、一つ一つこなしていきましょう。
なるべくここを覗きますので。
がんばれ。
0413348
垢版 |
2009/01/16(金) 01:31:08ID:g5MIia36
>>411

コマンドは入力したキーと時間を配列に溜めていけばいける気がする
・・・と思ったけどどんなゲームにするかによっては難しくなるかな・・・?
状態遷移を考えてみるといいかもしれません

当たり判定は精度によってだいぶ難易度が変わるけど、ある程度すばやい格闘ゲームなら
そこまで精度を高くしなくてもごまかせるので、とにかく単純化して考えた方がいいです
当たり判定はすべて矩形で十分それっぽくみえます

キャラは形式化しておくのがポイントです
ある基本クラスから継承していろいろなキャラのクラスを作っておけば、
基本クラスだけを考えるだけですべてのキャラに適用できます

キャラ選択ってGUIのことだったかな・・・?w

一気にやると自分でもごちゃごちゃになる 安心してくださいww
0414Now_loading...774KB
垢版 |
2009/01/20(火) 18:40:56ID:IVuG/w7m
function xBlur(eventObject:Event):void { // 追加
var nBlur:Number = ぼかす値;
var myBlur:BlurFilter = new BlurFilter(nBlur, nBlur/2);
filters = [myBlur];
}
これの最後[myBlur]の配列インスタンス名は何になるの?
0415348
垢版 |
2009/01/20(火) 19:54:17ID:pF291nP1
ん・・・?
ごめんなさい意味がよくわからないです。。。
filtersがどのインスタンスに適用されるかってことですかね?
0416Now_loading...774KB
垢版 |
2009/01/20(火) 20:45:20ID:IVuG/w7m
ああ…なんかわけのわからんこと言ってるのかな…。
配列ってmy_array[0]みたいにmy_arrayって名前が付いてるじゃない。
[myBlur]ってその名前がないじゃない。
変じゃない?
0417348
垢版 |
2009/01/20(火) 21:49:48ID:pF291nP1
あぁなるほど

それは配列を初期化するときに使うものです
var arr:Array = new Array(myBlur);

var arr:Array = [myBlur];
は同じ意味です
0418Now_loading...774KB
垢版 |
2009/01/21(水) 01:12:43ID:ru4JXEih
>>417
そこで言うところのarrの部分が無い気がするんですよ。
filtersはプロパティだし。
>>414って
var arr:Array = [myBlur];
を更に省略して
[myBlur];
だけで配列作って中に素材突っ込んでるんですよね?
深く考えずにフィルタかけるときはこんなもんって覚えとくものなのかな。
脳みそパンクしそうだ。
0419348
垢版 |
2009/01/21(水) 01:44:55ID:z9j1bvs0
>>418
いやそのfiltersがプロパティであり配列なんですよ
filters = [myBlur, myGlow];
とか複数を配列にして渡すことでいろんな効果を重ねがけできるんです
ためしにtrace(filters[0]); とかやってみれば配列であることがわかるはずです
package {
import flash.display.Sprite;
import flash.filters.BlurFilter;
import flash.filters.GlowFilter;

public class Test extends Sprite {

public function Test():void {
var mc:Sprite = new Sprite();
mc.graphics.lineStyle(1);
mc.graphics.drawCircle(0, 0, 50);
mc.graphics.endFill();
addChild(mc);
mc.x = stage.stageWidth / 2;
mc.y = stage.stageHeight / 2;

var blur:BlurFilter = new BlurFilter();
var glow:GlowFilter = new GlowFilter();
mc.filters = [blur, glow];

trace(mc.filters[0]); //[object BlurFilter]
trace(mc.filters[1]); //[object GlowFilter]
}
}
}
0420341
垢版 |
2009/01/23(金) 13:46:04ID:3pYFtRUO
キャラ絵を全部かいてたら、それだけでキャラ一人当たり2ヶ月以上かかりそうなので
3Dモデル使って効率よく進めてみようと思う。
で、いまblenderの基礎勉強しています。
12キャラくらいは作りたいなぁ。
0421Now_loading...774KB
垢版 |
2009/01/27(火) 13:48:23ID:kGbIlBxB
>>419
>ためしにtrace(filters[0]); とかやってみれば配列であることがわかるはずです
あああ最初からそうすればよかったんですね。
ごめんなさい。
スッキリです。
ありがとう。
0426Now_loading...774KB
垢版 |
2009/04/10(金) 22:54:23ID:co7u+0IN
↓→と↓←のグラフィックがおかしいお
0427341
垢版 |
2009/04/11(土) 12:27:10ID:Rf2BErEV
うん。
if分岐がまだ甘いんだ。
たぶんキャラも一から作り直すと思う。
0430Now_loading...774KB
垢版 |
2009/04/13(月) 02:15:02ID:a730Vbm8
歩き、しゃがみ、ダッシュ、バックステップ
ジャンプ、前斜めジャンプ、後ろ斜めジャンプ
空中ダッシュ、空中バックステップ、しゃがみからのハイジャンプ

はつけた
0431341
垢版 |
2009/04/15(水) 22:52:36ID:51rP0Sgl
モデリング難すぎワロタ
今更ながら、これは手描きのが早いかも・・
でももう少し頑張ってみようかな
0433341
垢版 |
2009/05/10(日) 21:46:18ID:xiGD+6MO
http://swfup.info/view.php/10796.swf
やっぱ2Dでいく・・
キャラも一から作り直す。とりあえず立ち絵のみ。

CS4の新しいトゥイーン使いづらいなぁ・・
0436341
垢版 |
2009/05/24(日) 22:36:08ID:HcHFbwcu
ttp://swfup.info/view.php/10871.swf

今可能な動作
左右移動 ジャンプ しゃがみ 立ち状態でのZ・X攻撃
ダッシュ、ダッシュジャンプ、ダッシュバック

どうにもダッシュの挙動があやしい・・・
ヘルプ
0437Now_loading...774KB
垢版 |
2009/05/25(月) 19:53:17ID:+RSdmO/J
二回押しの判定はどういう風にしてる?
0438341
垢版 |
2009/05/25(月) 21:35:14ID:1a+gGgj/
ttp://www1.axfc.net/uploader/Ne/so/53108
 ソース
0439341
垢版 |
2009/05/25(月) 22:08:48ID:1a+gGgj/
if (isLeft&&motion==false) {
//左移動
if (lefttime==false) {
//一回目の左入力時間記録&普通に歩き
lefttime=true;
time=getTimer();
human.x-=3;
human.gotoAndStop("walk");
trace("left");
}
else if (lefttime==true&&getTimer()-time<300&&getTimer()-time>30) {
//0.03秒以上0.3秒未満の間隔で左入力するとダッシュ開始
lefttime=false;
stage.removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
stage.addEventListener(Event.ENTER_FRAME,onEnterFrameDash);
}
else {
//それ以外の間隔なら普通に歩き
lefttime=false;
time=0;
human.x-=3;
human.gotoAndStop("walk");
}
}
0440Now_loading...774KB
垢版 |
2009/05/25(月) 22:55:04ID:eLruhobH
キーを押す(1回目)→キーを離す→キーを押す(2回目)=間隔内であればダッシュ成立

↑が基本だと思っていますが、キーを離す時の処理が無いから上手く動作しないのでは?
0441341
垢版 |
2009/05/25(月) 23:11:16ID:1a+gGgj/
キーを離したときの処理、押したときの処理は別のメソッドで動いていて、
離した瞬間に初期状態に戻るようになってます
isLeftっていう条件は押している状態です

439のスクリプトはonEnterFrameHandlerの一部です。
左を連続入力すると、このメソッドを止めて↓を開始します
//左ダッシュ処理
function onEnterFrameDash(event:Event):void {
human.gotoAndStop("dash");
if (isLeft==true&&isUp) {
//左と上を押しているなら左ダッシュジャンプ開始
stage.addEventListener(Event.ENTER_FRAME,onEnterFrameDashJump);
stage.removeEventListener(Event.ENTER_FRAME, onEnterFrameDash);
}
else if (isLeft==true) {
//左にダッシュ
human.x=human.x-6;
}
else {
//ダッシュ止め&初期状態に
human.gotoAndStop("normal");
lefttime=false;
stage.addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
stage.removeEventListener(Event.ENTER_FRAME, onEnterFrameDash);
}
}
0442440
垢版 |
2009/05/25(月) 23:44:31ID:eLruhobH
ソースあったのね。
>>439しか見てなかった。スマソ。

キーを入力した時「今回は何回目」という情報が無いからかな。
毎回押された時に一回目として判断していると思う。

キー入力後、最初のフレームで毎回リセット&入力時間記録。
押し続けて2フレーム目で間隔判定。
この時間隔の最小値(0.03秒)が小さすぎるため、フレームによっては判定が成立してしまい
一度押しただけでもダッシュ出来てしまう。

現在の状況はこんな感じかと。
0443341
垢版 |
2009/05/26(火) 07:09:44ID:pPOWhDs8
なるほど・・間隔ですか
あとは押し続けた後、一瞬はなしてもう一度入力したときに
ダッシュするのを防ぐ工夫がいるようですね
0444Now_loading...774KB
垢版 |
2009/06/02(火) 08:25:40ID:+cegc2Q/
コマンド入力の間隔をミリ秒じゃなくってフレーム数でやってみると
すこし誤差は、出るもののスクリプト組みやすいよ。
0445Now_loading...774KB
垢版 |
2009/06/07(日) 23:33:32ID:pAe2m6Ca
いまだにダッシュであーでもないこーでもない中
なんぞー
0446Now_loading...774KB
垢版 |
2009/08/27(木) 23:33:41ID:OMh5+7u6
2ch格闘を解析しているのですが、
キャラクター選択でどん詰まりました。
キャラ選択は大体わかったのですが
インスタンスを"giko"または"si"と名付けている場所がわかりません…。
それとも何か変な勘違いしているのか。
助けて
0448Now_loading...774KB
垢版 |
2009/09/01(火) 22:19:00ID:AAKZiswi
ライブラリの、書き出しの名前が「A_Char_giko」「A_Char_si」のムービークリップを
呼び出してステージに配置するようになっているんじゃないかな。

フレーム50あたりの、「//ゲーム」のラベル部分の「mainStage」インスタンスに
scriptが書かれているね。

間違ってたらゴメンね。
0449446
垢版 |
2009/09/02(水) 18:47:12ID:IPalCN2h
ありがとう!
引き続き頑張ります
0451Now_loading...774KB
垢版 |
2010/06/06(日) 01:43:21ID:J22wQhZT
age
0454Now_loading...774KB
垢版 |
2013/04/19(金) 20:45:40.59ID:xggo6tdP
うむ
0455Now_loading...774KB
垢版 |
2019/01/21(月) 18:12:22.36ID:Gvy1GwkL
age
レスを投稿する


ニューススポーツなんでも実況