Project1

标题: 论事件的重要性 [打印本页]

作者: yangff    时间: 2012-12-1 22:10
标题: 论事件的重要性
同样的代码用事件只要45行。。
RUBY 代码复制下载
  1. 0if (($game_switches[1] == (0 == 0)))
  2. 1  do
  3. 2    wait_for_message
  4. 2    $game_message.face_name = "Actor5"
  5. 2    $game_message.face_index = 0
  6. 2    $game_message.background = 1
  7. 2    $game_message.position = 1
  8. 2    $game_message.add("aaa")
  9. 2    (wait_for_message)
  10. 2   
  11. 1  end
  12. 0else
  13. 0end
  14. 0if (($game_switches[1] == (0 == 0)))
  15. 1  wait_for_message
  16. 1  $game_message.face_name = ""
  17. 1  $game_message.face_index = 0
  18. 1  $game_message.background = 0
  19. 1  $game_message.position = 2
  20. 1  $game_message.add("fasfasdf")
  21. 1  (wait_for_message)
  22. 1  
  23. 0else
  24. 1  (wait_for_message)
  25. 1  
  26. 1  $game_message.choices.push("はい")
  27. 1  $game_message.choices.push("いいえ")
  28. 1  $game_message.choice_cancel_type = 2
  29. 1  $game_message.choice_proc = Proc.new {|n| @branch[1] = n }
  30. 1  #wait game_message.choice?
  31. 1  case @branch[1]
  32. 1  when (0)
  33. 2    do
  34. 3      wait_for_message
  35. 3      $game_message.face_name = ""
  36. 3      $game_message.face_index = 0
  37. 3      $game_message.background = 0
  38. 3      $game_message.position = 2
  39. 3      $game_message.add("aaa")
  40. 3      (wait_for_message)
  41. 3      
  42. 2    end
  43. 1  when (1)
  44. 2    wait_for_message
  45. 2    $game_message.face_name = ""
  46. 2    $game_message.face_index = 0
  47. 2    $game_message.background = 0
  48. 2    $game_message.position = 2
  49. 2    $game_message.add("bbb")
  50. 2    (wait_for_message)
  51. 2   
  52. 1  end
  53. 0end
  54. 0if $game_party.in_battle
  55. 0  unless $data_troops[1]
  56. 0    BattleManager.setup(1, true, true)
  57. 0    BattleManager.event_proc = Proc.new {|n| @branch[0] = n }
  58. 0    $game_player.make_encounter_count
  59. 0    SceneManager.call(Scene_Battle)
  60. 0  end
  61. 0  #Fiber.yield
  62. 0end
  63. 0if @branch[0] == 0
  64. 1  (wait_for_message)
  65. 1  
  66. 1  $game_message.choices.push("はい")
  67. 1  $game_message.choices.push("いいえ")
  68. 1  $game_message.choice_cancel_type = 2
  69. 1  $game_message.choice_proc = Proc.new {|n| @branch[1] = n }
  70. 1  #wait game_message.choice?
  71. 1  case @branch[1]
  72. 1  when (0)
  73. 2    do
  74. 3      wait_for_message
  75. 3      $game_message.face_name = ""
  76. 3      $game_message.face_index = 0
  77. 3      $game_message.background = 0
  78. 3      $game_message.position = 2
  79. 3      $game_message.add("aaa")
  80. 3      (wait_for_message)
  81. 3      
  82. 2    end
  83. 1  when (1)
  84. 2    wait_for_message
  85. 2    $game_message.face_name = ""
  86. 2    $game_message.face_index = 0
  87. 2    $game_message.background = 0
  88. 2    $game_message.position = 2
  89. 2    $game_message.add("bbb")
  90. 2    (wait_for_message)
  91. 2   
  92. 1  end
  93. 0elsif @branch[0] == 1
  94. 1  (wait_for_message)
  95. 1  
  96. 1  $game_message.choices.push("はい")
  97. 1  $game_message.choices.push("いいえ")
  98. 1  $game_message.choice_cancel_type = 2
  99. 1  $game_message.choice_proc = Proc.new {|n| @branch[1] = n }
  100. 1  #wait game_message.choice?
  101. 1  case @branch[1]
  102. 1  when (0)
  103. 2    do
  104. 3      wait_for_message
  105. 3      $game_message.face_name = ""
  106. 3      $game_message.face_index = 0
  107. 3      $game_message.background = 0
  108. 3      $game_message.position = 2
  109. 3      $game_message.add("asfsfasf")
  110. 3      (wait_for_message)
  111. 3      
  112. 2    end
  113. 1  when (1)
  114. 2    wait_for_message
  115. 2    $game_message.face_name = "People4"
  116. 2    $game_message.face_index = 4
  117. 2    $game_message.background = 0
  118. 2    $game_message.position = 2
  119. 2    $game_message.add("bbbsfsf")
  120. 2    (wait_for_message)
  121. 2   
  122. 1  end
  123. 0elsif @branch[0] == 2
  124. 1  (wait_for_message)
  125. 1  
  126. 1  $game_message.choices.push("はい")
  127. 1  $game_message.choices.push("いいえ")
  128. 1  $game_message.choice_cancel_type = 2
  129. 1  $game_message.choice_proc = Proc.new {|n| @branch[1] = n }
  130. 1  #wait game_message.choice?
  131. 1  case @branch[1]
  132. 1  when (0)
  133. 2    do
  134. 3      wait_for_message
  135. 3      $game_message.face_name = "Spiritual"
  136. 3      $game_message.face_index = 0
  137. 3      $game_message.background = 1
  138. 3      $game_message.position = 1
  139. 3      $game_message.add("aaasfdsf")
  140. 3      (wait_for_message)
  141. 3      
  142. 2    end
  143. 1  when (1)
  144. 2    wait_for_message
  145. 2    $game_message.face_name = ""
  146. 2    $game_message.face_index = 0
  147. 2    $game_message.background = 0
  148. 2    $game_message.position = 2
  149. 2    $game_message.add("bbb")
  150. 2    $game_message.add("bbb")
  151. 2    $game_message.add("bbb")
  152. 2    $game_message.add("bbb")
  153. 2    (wait_for_message)
  154. 2   
  155. 2    wait_for_message
  156. 2    $game_message.face_name = ""
  157. 2    $game_message.face_index = 0
  158. 2    $game_message.background = 0
  159. 2    $game_message.position = 2
  160. 2    $game_message.add("bbb")
  161. 2    $game_message.add("bbb")
  162. 2    $game_message.add("bbb")
  163. 2    (wait_for_message)
  164. 2   
  165. 1  end
  166. 0end

作者: 国帅    时间: 2012-12-1 22:11
楼主发错区了
作者: 羞射了    时间: 2012-12-1 22:31
LZ难得发我能看懂的内容……
作者: 896409879    时间: 2012-12-2 02:51
为什么不是:论XAS的万能性和重要性呢?XAS什么都能制作⋯⋯
作者: 896409879    时间: 2012-12-2 05:58
@越前リョーマ
主要是xas提供了范围的判定方法。
所以:xas可以制作:
战机,仿pvz式的塔防(纯用免疫伤害倒腾。。。),群战(一堆怪物,属性,技能倒腾),rpg(虽然不好使。),srpg(如果你愿意。。。),牧场物语(不解释,浇水、挖矿解决),解谜
作者: chaochao    时间: 2012-12-2 20:33
把事件展开,其实和这个的内容差不多。
不过不同的是事件还是有局限性的。虽然大部分都包含了,但是有些东西依然需要脚本,所以在事件中可以执行脚本,一般情况下,将脚本封装起来给事件调用才是正确的做法。不知道有多少脚本使用了这样的方法来执行……
作者: kfflX    时间: 2012-12-2 21:30
其實在下縂覺得用腳本好麻煩……
什麽時候才能出一個大神直接把常用腳本黑進默認腳本默認工程裏去……(比如説分辨率腳本,在編輯器裏完全可以創建比分辨率小的地圖造成Bug……)
作者: orochi2k    时间: 2012-12-4 05:59
论IDE的重要性。石器内置开发环境直接拖代码pattern像控件一样用,根本不需要些多少代码。
作者: 6rp    时间: 2012-12-4 16:28
DRY原则,这么多重复代码,应该重构了。




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