Project1

标题: 事件中的循环命令的用法 [打印本页]

作者: RPG_小菜    时间: 2013-10-1 21:51
标题: 事件中的循环命令的用法
请问各位是怎样应用循环命令的?
我反正是在制作游戏中没有用到过...偶尔几次用到会卡死...
不知道这个命令的用法 求教!
作者: fangyc    时间: 2013-10-1 21:58
没有设定跳出循环的条件当然会卡死

比如你需要不停增加某个变量,直到它达到某个值,那么就可以用循环
或者要等待输入某个按键,也可以用循环,总之必须有条件跳出循环才行
作者: 喵呜喵5    时间: 2013-10-1 22:01
本帖最后由 喵呜喵5 于 2013-10-1 22:04 编辑



如图所示,事件中的循环指令可以实现用很短的代码完成很单调很麻烦指令的功能

不过会脚本的人完成这样的操作一般直接改用脚本,不会脚本的用事件里的循环经常容易像楼主那样做出死循环所以算是略鸡肋的功能吧……
作者: 熊喵酱    时间: 2013-10-2 07:06
我其實不太期望你看的懂這篇  不過先教一點無傷大雅.........
此只是腳本知識而已其實  跟你的問題關係超微小
而然我的也不一定完全對.......
而喵嗚喵的回答是正確的 推薦去查看他的回答......  

=======================
循环命令是對應於腳本中的 loop do
然後跳出循环命令是對應腳本中的 break
而在寫腳本時的用法是這樣的
loop do
  $game_actors[@x].hp += 100 unless @x.nil?
  if @x.nil?
    break
  else
  @x += 1
  end
end
這一段是會把全部的腳色的hp給補滿
可是如果@x号角色hp 是nil  也就是沒有此角色  就不會回血  
然後在下面就會break 而跳出循环命令
而如果不是nil 就會再把@x給加1  也就是到下一號角色  而進行智能的把全部角色hp+100
通常是在大量的判定時使用  就像是 For @x 1 to 20 step 1 差不多一樣的道理  
loop do就會一直做此事直到跳出
而 for @x 1 to 20 step 1 就是會在end後把@x 加step後面的值  而如果超過20  就會跳出  
是比較不會出錯的寫法 可是好像RGSS3 不太用FOR





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1