Re: 弾幕風バグ・要望スレ (ph)5スレ目 ( No.89 )
日時: 2014/08/18 15:09
名前: gore

アイテム化しないように設定する関数もあるにはありますけど、
アイテム化通知を送らないようにするだけですからねぇアレは。

私はGetShotIdInCircleA2関数で弾ID取得→弾消しエフェクトを呼ぶ自作関数を
イベントに登録して使ってますが、やはりデフォで弾消滅のイベント用意してくれるのがいいかなあと。


あと私からもちょっとした要望なのですが、
アイテム定義データにあるような「type」定数を
弾定義データに記述して、それを取得できるような機能が欲しいかなあと。

前にも書いたような気がしますが、
色IDから8の倍数で余り算すると、追加したりした分だけ
計算対象に減算しないといけなくなって
色識別部分が結構煩雑になってしまいますので…。

お時間がありました時にでも
実装のご検討をしていただければなー…と

■追記
まれに起こる現象なのですが、エフェクトオブジェクトや弾オブジェクト・アイテムオブジェクトが
画面右方向(MoveAngleでいう0度)に吹き飛んでしまう事がありました。
弾やアイテムはともかく、ObjMoveが無効な筈のエフェクトが何故右に飛ぶのかが実に謎です。
頂点エフェクトや画面外に描画してるシステムエフェクトは飛ばなかったので、何か条件があるような気がしますが
如何せんエフェクトやアイテムを多用しての状況なので、再現が難しいです。

エフェクトIDのループが原因なのかなあと思ってたりしますが…

■追記2
ttp://coolier.dip.jp/th_up4/index.php?id=5922

弾幕風の自機の移動が右下優先の仕様になってるので、
左入力すると右移動をキャンセルできるサブルーチン作りました。上下も同じく。
これで最近の東方の様な自機の操作感が再現できるかなと思います。

しかし、現状では自機の高速/低速の移動速度を取得する関数がないので
余暇がありましたら実装をお願いいたします。

■追記3
例のオブジェクト吹き飛びバグの検証をしていた所、
当たり判定を伴ったまま移動すること、及び
ObjMove_SetPositionで弾の速度や角度を取得し
三角関数で直接座標を移動させる(初期速度は0とする)と
横への吹き飛びが「いくつかは」抑制できました。

恐らく1フレームの間に大量のエフェクトや弾を呼び出すと
デフォルトの移動ルーチンの角度が0度に固定されてしまう(またはX座標が無限に増えていく)のが
このバグの原因なのではないかと思うのですが、如何せん再現度がアレすぎて…。