トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   FLASHおもちゃ箱【ゲームについてあれこれ】
     自作ゲーム時々の暴走
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
三条燕(KNJ)
Åê¹ÆNo.1973
投稿日時: 2003-12-7 23:16
新米
居住地: 越後
投稿: 5
使用環境:
windows98,windowsXP
FlashMX,Flash4  MXは勉強中
自作ゲーム時々の暴走
この前は 当たり判定のやり方で皆様から助言いただきありがとうございました。

只今がんばって作ってる最中なのですが・・・
まだまだ完成には程遠いです。

http://www.alpha-net.ne.jp/users2/honmaknj/FLASH/game008.html

これが作成中のブロック崩しなのですが
ある条件が重なるとブロックでの反射に暴走が発生して一気にブロックがなくなってしまうのです。
 条件はブロックの下側にボールが当たるその直後隣ブロックの側面に当たるすると・・・下にボールが下りず一気にブロックを・・・
うぅ? 文章で説明しにくい・・・何回かやっていただければその現象発生するはずです

これは俺の実力が無いためエラーなのでしょうが・・・解決方法のアドバイスがあればお願いします 


----------------
三条燕(KNJ)

Hamagon
Åê¹ÆNo.1974
投稿日時: 2003-12-8 0:21
新米
居住地:
投稿: 25
使用環境:
自作PC Athron1.3Ghz + 512M
WindowsXP
Flash MX
Flash Mx2004proffesional
Re: 自作ゲーム時々の暴走
何回か遊んでみて気づいたのですが、ブロックをかすめるようにボールが飛ぶと、ブロックが消えるのに、玉の進行方向はそのまま、という症状が見受けられます。

これは、ブロックが消える条件と、玉がはねるかどうかの判定が別ということではありませんか?

表記の暴走は、この症状が連続して起こっているのではないでしょうか?

ブロックが消えるときは、ボールは必ずはねるようにすれば、状況に変化があるのではないかとおもいます。
森 巧尚
Åê¹ÆNo.1977
投稿日時: 2003-12-8 1:48
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: 自作ゲーム時々の暴走
デバッグの基本はおかしな現象が起こる条件を把握することですけれど、それはちゃんと把握されていますよね。
で、それをどうしたいかも。あと少しだと思いますよ。
引用:
条件はブロックの下側にボールが当たるその直後隣ブロックの側面に当たるすると・・・下にボールが下りず一気にブロックを・・・

ブロックに当たったときボールが上下に跳ね返るしくみになっているようですね。だからブロックに当たって下に下がろうとしていたのに、側面に当たって跳ね返るので上に上がっていく・・・
ブロックに当たったのが上下面か左右面かが区別できれば、上下面に当たったときは上下に、左右面に当たったときは壁と同じように左右に跳ね返るようにすればいいんですけどね。判定量は4倍に増えちゃいますね。
いろいろ工夫のしようはあると思うんですが、ブロックやボールのサイズとかボールの移動スピードとかも関係してくると思うので、一概にはなんとも言えないところです。
「ブロックが消えるときは、ボールは必ず反対に跳ね返るようにする」というのも一案だと思いますよ。


----------------
森 巧尚
http://www.ymori.com

うすあじ
Åê¹ÆNo.1978
投稿日時: 2003-12-8 3:30
職人
居住地: 東京都杉並区
投稿: 211
使用環境:
FlashCS5.5 ,MacOSX 10.6.8
Re: 自作ゲーム時々の暴走
ボールとブロックの衝突判定ですが、XとYの両方を動かしたあとで判定すると、うまく判定できないことがあります。

たとえば、ブロックの右下側からタマが来た場合、ブロックを消して、その後ボールはどのように動けばいいでしょうか?

最初にY座標を変化させます。
ブロックの下側の辺にあたった場合はこの時点でhitします。
縦の動きでhitなら、この場合は下からあたったことになります。
このときには、上下の動きを反転してY座標の増加分の符号を逆にします。

次にX座標を変化させます。
右の辺にあたる場合は、X座標を変化させたときにhitするはずで、その場合は、X座標の符号を逆にする。

という具合に、Y座標分変化させてチェック、X座標を変化させてチェックと、処理を2回行えば、おおむねうまくいきます。

ブロック崩しをFlashで作ったことがないので、サンプルはありませんが、別の言語「HSP」で作ったものを一応リンクしておきます。
http://hspcenter.com/hspsc1/hsp12.html

どちらに反射すべきかに注目して、他のブロック崩しサンプルを調べるといいかもしれませんね。


----------------
うすあじ(twitter)
うすあじFlash研究所
HSPセンター

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops