| 以下のような戦闘アニメを実行したのですが、相手の2マス上(例 自X:22自Y:20 敵X:22 敵Y:18)から範囲1〜2の武器で攻撃した場合、命中アニメの表示位置が相手の2マス下(敵Y:18 表示Y:20)に表示されてしまいます。 他の位置から攻撃した場合、正常に表示されます。 このルーチンを使った場合のみなので、この中に不具合があるのでしょうけど…わかりません。 わかる方、教えてください。
戦闘アニメ_弾丸指定命中: #引数1 弾の画像ファイル ( 最初の画像は『〜00.bmp』で始める、下二桁の数字部分&識別子を除く、BITMAP画像のみ指定可能 ) #引数2 画像ファイルの枚数 ( 六枚から十枚の間 『〜00.bmp から 〜09.bmp』 ) #引数3 効果音 ( 省略可。省略時は爆発(小) )
local i local j local B_BMP local B_NUM Local ANG = _GetAngle(_GetName(対象ユニットID,_GetIDFromArgs() )) Local C_X = (WX(相手ユニットID) - 16) Local C_Y = (WY(相手ユニットID) - 16) local B_H
set B_BMP args(1) set B_NUM args(2)
if (B_NUM mod 2) = 0 then B_H = B_NUM / 2 else B_H = (B_NUM - 1) / 2 endif
_CenteringCheck 相手ユニットID
Wait Start _PaintCutin_KZ (B_BMP & "00.bmp") ANG C_X C_Y Wait Until 0.7 _PaintCutin_KZ (B_BMP & "01.bmp") ANG C_X C_Y Wait Until 1.4
For i = 0 To B_H Wait Start _SelectSound "Explode.wav" _GetWavFromArgs() For j = 2 To (B_H + 1) _PaintCutin_KZ (B_BMP & "0" & j & ".bmp") ANG C_X C_Y Wait Until ((j - 1) * 0.7) Next Next
Wait Start For j = 5 To (B_NUM - 1) _PaintCutin_KZ (B_BMP & "0" & j & ".bmp") ANG C_X C_Y Wait Until ((j - 4) * 0.7) Next ClearPicture Refresh
return
|