コメント

このコメントは、キー入力奮闘記へのコメントです。

コメントの内容

Cdv30200 aoi icon mini aoihikawa(投稿日:2017/01/28 12:01/28/17)
キーの入力状態をフラグで管理すると
全体が見やすくなり

同時入力などもスムーズに
判別処理することが出来ます

 
setMenuOpenKeyEnable(false)
startInput()

#フラグの準備
key_flg_u = false
key_flg_d = false
key_flg_l = false
key_flg_r = false

key_flg_z = false
key_flg_x = false
key_flg_c = false


loop = true

while loop
  while hasInput()  
    takeInput()
    #----- キー入力の判定 -----
    if isKeyDown("UP")
      key_flg_u = true
    elsif isKeyUp("UP")
      key_flg_u = false
    elsif isKeyDown("DOWN")
      key_flg_d = true
    elsif isKeyUp("DOWN")
      key_flg_d = false
    elsif isKeyDown("LEFT")
      key_flg_l = true
    elsif isKeyUp("LEFT")
      key_flg_l = false
    elsif isKeyDown("RIGHT")
      key_flg_r = true
    elsif isKeyUp("RIGHT")
      key_flg_r = false
    elsif isKeyDown("Z")
      key_flg_z = true
    elsif isKeyUp("Z")
      key_flg_z = false
    elsif isKeyDown("X")
      key_flg_x = true
    elsif isKeyUp("X")
      key_flg_x = false
    elsif isKeyDown("C")
      key_flg_c = true
    elsif isKeyUp("C")
      key_flg_c = false
    end
  end
  
  #----- キー入力に対応した動作処理 -----
  if key_flg_u
    y = getPlayerPosY() - 16
  end
  if key_flg_d
    y = getPlayerPosY() + 16
  end
  if key_flg_l
    x = getPlayerPosX() - 16
  end
  if key_flg_r
    x = getPlayerPosX() + 16
  end
  
  if key_flg_z
    loop = false
  end
  
  
  #----- 位置変更の実行 -----
  xx = x/32
  yy = y/32
  warpEvent("playerCharacterEvent",xx ,yy +0.1)
  
  #待ち時間
  waitTime(10)
end

endInput()
setMenuOpenKeyEnable(true)

コメントの内容(一番最初の投稿)

Cdv30200 aoi icon mini aoihikawa(投稿日:2017/01/28 12:01/28/17)
キーの入力状態をフラグで管理すると
全体が見やすくなり

同時入力などもスムーズに
判別処理することが出来ます

 
setMenuOpenKeyEnable(false)
startInput()

#フラグの準備
key_flg_u = false
key_flg_d = false
key_flg_l = false
key_flg_r = false

key_flg_z = false
key_flg_x = false
key_flg_c = false


loop = true

while loop
  while hasInput()  
    takeInput()
    #----- キー入力の判定 -----
    if isKeyDown("UP")
      key_flg_u = true
    elsif isKeyUp("UP")
      key_flg_u = false
    elsif isKeyDown("DOWN")
      key_flg_d = true
    elsif isKeyUp("DOWN")
      key_flg_d = false
    elsif isKeyDown("LEFT")
      key_flg_l = true
    elsif isKeyUp("LEFT")
      key_flg_l = false
    elsif isKeyDown("RIGHT")
      key_flg_r = true
    elsif isKeyUp("RIGHT")
      key_flg_r = false
    elsif isKeyDown("Z")
      key_flg_z = true
    elsif isKeyUp("Z")
      key_flg_z = false
    elsif isKeyDown("X")
      key_flg_x = true
    elsif isKeyUp("X")
      key_flg_x = false
    elsif isKeyDown("C")
      key_flg_c = true
    elsif isKeyUp("C")
      key_flg_c = false
    end
  end
  
  #----- キー入力に対応した動作処理 -----
  if key_flg_u
    y = getPlayerPosY() - 16
  end
  if key_flg_d
    y = getPlayerPosY() + 16
  end
  if key_flg_l
    x = getPlayerPosX() - 16
  end
  if key_flg_r
    x = getPlayerPosX() + 16
  end
  
  if key_flg_z
    loop = false
  end
  
  
  #----- 位置変更の実行 -----
  xx = x/32
  yy = y/32
  warpEvent("playerCharacterEvent",xx ,yy +0.1)
  
  #待ち時間
  waitTime(10)
end

endInput()
setMenuOpenKeyEnable(true)