トップページへ
 攻撃パターン
・剣(3方向)   | 利用規約 | 使い方 | 操作方法 |
■説明
上、下のキーを押しながら攻撃すると上下斜め方向に剣を突き出し、普通に攻撃すると前方に突き出します。攻撃力は低めですが素早い攻撃ができるようになっています。
■参考
攻撃とダメージ処理 - 自機の攻撃動作
攻撃パターン - 剣(縦斬り)
■解説
攻撃パターン - 剣(縦斬り)と基本的な考えは同じです。

  $Mycharクラス(一部)
function Attack(){
  if (getkey(90)==1 && onAttack==0 && AttackOK==0) {
  onAttack=1;
  appear(new Weapon_My(x,y,"3way"));
  }
}
 引数を"3way"にしているだけで、このあたりは同じです。

  $Weapon_Myクラス(一部)
if (p=="3way"){
  p=$pat_weapon+0;
  f=$Mychar.f;
  zOrder=4;
  angle=0;
  ATC=2;
  if (getkey(38)>=1) {angle=-45*f;}
  if (getkey(40)>=1) {angle= 45*f;}

  for (i=15; i<165; i+=15 ) {
    if (i==15) appear(new Effect(x,y,"Arm_My3"));
    x=$Mychar.x+sin(angle+90)*sin(i)*35*f;
    y=$Mychar.y-cos(angle+90)*sin(i)*35*f;
    update();
  }
}

最初に出てくるif (getkey(38)・・・)の文では、↑のキーを押したときに斜めに剣を突き出す時の角度を決めています。自機の向きによって、+45度、-45度のどちらかがangleに代入されます。↑↓のキーがどちらも押されていなければangleにはゼロが代入されます。

for文で剣を斜めに移動させています。x,yの計算で、どちらにもsin(i)を掛けることによって往復運動をさせています。35という数値が攻撃する範囲になります。大きくすればより遠いところまで剣を飛ばすことができます。

攻撃パターン - 剣(縦斬り)と異なり、攻撃が終わった後のウェイトを入れていないので、素早い攻撃ができるようになっています。




|  トップページ | このサイトについて | 利用規約 | ご意見・お問い合わせ |

TonyuアクションRPG - ゲームプログラミング解説 -