08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
   

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

敵行動の構造体

一応こんな感じでmove1等が設定された行動です

#region 基本行動
public long Time;//総移動時間-1なら画面外まで
public double SpeedX;//X軸
public double SpeedY;//Y軸
public double speed;
public double Speed { set { speed = value; } get { return (speed == -1) ? (speed = Math.Sqrt(SpeedX * SpeedX + SpeedY * SpeedY)) : speed; } }//時期に突っ込むなどの場合
public double AccX;//加速度
public double AccY;
public double MaxSpeed;//最大速度
public long Max;//最大移動時間
long Count;//現在何番目か
public bool End { private set; get; }//終わったか終わってないか

public bool Exist { get; private set; }
#endregion
Enemy Enemy;//行動する敵
public int Type;//行動タイプ0→マニュアル他

#region コンストラクタ
public Move(Enemy e):this()
{
Enemy = e;
Exist = true;
End = false;
speed = -1;
}
public void Add(long time)
{
Enemy.MoveTable.Add(time, this);
}
#endregion

#region 既定変数
public int First;
public int Next;
public double NextSpeed;
#endregion

#region ループ
public void Loop()
{
switch (Type)
{
case 0:
DefaultMove();
break;
case 1:
move1();
break;
case 2:
move2();
break;
case 3:
move3();
break;
case 4:
move4();
break;
case 5:
move5();
break;
}
Count++;
}

void DefaultMove()
{
Enemy.x += SpeedX;
Enemy.y += SpeedY;
SpeedX += AccX;
SpeedY += AccY;
}
#endregion
スポンサーサイト

Comment

Secret

検索フォーム

RSSリンクの表示

リンク

リンクというか個人的によく使うアルゴリズムの解説サイト… C#でなかったりする

ブロとも申請フォーム

この人とブロともになる

QRコード

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。