読者です 読者をやめる 読者になる 読者になる

Thunderbeam/muraduki長文欄

むらづきのブログ(三代目)

偏差射撃

未分類・その他 シューティングゲーム
  • ハドソンベストコレクション http://www.nintendo-inside.jp/news/171/17155.html
    • ウヒョーHECTOR'87が収録されていますよ!スタソル目当てに買ったついでにやれ!と未来へ電波。
      HECTOR興味本位で買うのもあり。元々好きな人にはあえて言う事は無いです。
  • itpiano http://d.hatena.ne.jp/shinichiro_h/20051002#1128184716
    • 音と光の出るプログラムオモチャみたいな。これは面白いなあ。
      元ネタになったらしい映像装置としてのピアノについてはよくわからんのですが。
    • (特にFパターンは)適当に振り回してるだけで音楽のような何かに聞こえてくるので不思議。
      音楽知識の無い人がいうとなんだか胡散臭いですが。
    • 音階広げるとさらに楽しくなりそうな気がします。

豚志向』での検索で来る方が多いけど、そういえばなんかつながんなくなってたねー…保存してない。
朝目新聞さんで紹介されてたから沢山アクセスあったんだろうか?(って、紹介されたのいつだったかな)
あとあのFlashは『豚志向ゲーム版』ね。『ゲーム版でない方』もナイスでしたわ。
妄想自家中毒で死んで生き帰って妙な感じ。ふわふわ?
ところで懸案だった偏差射撃がようやく実現。あまりにあんまりな方法なので晒してやる。
GameMaker6製で、point_distance(x,y,Player.x,Player.y)は自機と敵の距離、argument0は敵弾速。

{
    f = 270;
    p = point_distance(x,y,Player.x,Player.y);
    s = 0;

    if (p != s)
    {
        f = 0;
        while (s < p)
        {
            f += 1;
            p = point_distance(x,y,Player.x + (f *Player.hspeed),Player.y + (f * Player.vspeed));
            s = argument0 * f;
        }
    }

    if (frac(f) != 0)
    {
        f -= 1;
        while (s < p)
        {
            f += 0.1;
            p = point_distance(x,y,Player.x + (f *Player.hspeed),Player.y + (f * Player.vspeed));
            s = argument0 * f;
        }
    }

    if (frac(f * 10) != 0)
    {
        f -= 0.1;
        while (s < p)
        {
            f += 0.01;
            p = point_distance(x,y,Player.x + (f *Player.hspeed),Player.y + (f * Player.vspeed));
            s = argument0 * f;
        }
    }
}

それからpoint_direction(x,y,Player.x + (f * Player.hspeed),Player.y + (f * Player.vspeed))で地点指定して発射、と。
実はもう少し精度がほしい気がする。簡単に精度アップできそうだけどな…。
後日、間違えを発見したので改めて書きました