查看: 2865|回复: 8

[胡扯] 论事件的重要性

[复制链接]

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
回帖
6005

烫烫烫开拓者

发表于 2012-12-1 22:10:30 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
同样的代码用事件只要45行。。
[pre lang="ruby" line="1" file="src.rb"]0if (($game_switches[1] == (0 == 0)))
1  do
2    wait_for_message
2    $game_message.face_name = "Actor5"
2    $game_message.face_index = 0
2    $game_message.background = 1
2    $game_message.position = 1
2    $game_message.add("aaa")
2    (wait_for_message)
2   
1  end
0else
0end
0if (($game_switches[1] == (0 == 0)))
1  wait_for_message
1  $game_message.face_name = ""
1  $game_message.face_index = 0
1  $game_message.background = 0
1  $game_message.position = 2
1  $game_message.add("fasfasdf")
1  (wait_for_message)
1  
0else
1  (wait_for_message)
1  
1  $game_message.choices.push("はい")
1  $game_message.choices.push("いいえ")
1  $game_message.choice_cancel_type = 2
1  $game_message.choice_proc = Proc.new {|n| @branch[1] = n }
1  #wait game_message.choice?
1  case @branch[1]
1  when (0)
2    do
3      wait_for_message
3      $game_message.face_name = ""
3      $game_message.face_index = 0
3      $game_message.background = 0
3      $game_message.position = 2
3      $game_message.add("aaa")
3      (wait_for_message)
3      
2    end
1  when (1)
2    wait_for_message
2    $game_message.face_name = ""
2    $game_message.face_index = 0
2    $game_message.background = 0
2    $game_message.position = 2
2    $game_message.add("bbb")
2    (wait_for_message)
2   
1  end
0end
0if $game_party.in_battle
0  unless $data_troops[1]
0    BattleManager.setup(1, true, true)
0    BattleManager.event_proc = Proc.new {|n| @branch[0] = n }
0    $game_player.make_encounter_count
0    SceneManager.call(Scene_Battle)
0  end
0  #Fiber.yield
0end
0if @branch[0] == 0
1  (wait_for_message)
1  
1  $game_message.choices.push("はい")
1  $game_message.choices.push("いいえ")
1  $game_message.choice_cancel_type = 2
1  $game_message.choice_proc = Proc.new {|n| @branch[1] = n }
1  #wait game_message.choice?
1  case @branch[1]
1  when (0)
2    do
3      wait_for_message
3      $game_message.face_name = ""
3      $game_message.face_index = 0
3      $game_message.background = 0
3      $game_message.position = 2
3      $game_message.add("aaa")
3      (wait_for_message)
3      
2    end
1  when (1)
2    wait_for_message
2    $game_message.face_name = ""
2    $game_message.face_index = 0
2    $game_message.background = 0
2    $game_message.position = 2
2    $game_message.add("bbb")
2    (wait_for_message)
2   
1  end
0elsif @branch[0] == 1
1  (wait_for_message)
1  
1  $game_message.choices.push("はい")
1  $game_message.choices.push("いいえ")
1  $game_message.choice_cancel_type = 2
1  $game_message.choice_proc = Proc.new {|n| @branch[1] = n }
1  #wait game_message.choice?
1  case @branch[1]
1  when (0)
2    do
3      wait_for_message
3      $game_message.face_name = ""
3      $game_message.face_index = 0
3      $game_message.background = 0
3      $game_message.position = 2
3      $game_message.add("asfsfasf")
3      (wait_for_message)
3      
2    end
1  when (1)
2    wait_for_message
2    $game_message.face_name = "People4"
2    $game_message.face_index = 4
2    $game_message.background = 0
2    $game_message.position = 2
2    $game_message.add("bbbsfsf")
2    (wait_for_message)
2   
1  end
0elsif @branch[0] == 2
1  (wait_for_message)
1  
1  $game_message.choices.push("はい")
1  $game_message.choices.push("いいえ")
1  $game_message.choice_cancel_type = 2
1  $game_message.choice_proc = Proc.new {|n| @branch[1] = n }
1  #wait game_message.choice?
1  case @branch[1]
1  when (0)
2    do
3      wait_for_message
3      $game_message.face_name = "Spiritual"
3      $game_message.face_index = 0
3      $game_message.background = 1
3      $game_message.position = 1
3      $game_message.add("aaasfdsf")
3      (wait_for_message)
3      
2    end
1  when (1)
2    wait_for_message
2    $game_message.face_name = ""
2    $game_message.face_index = 0
2    $game_message.background = 0
2    $game_message.position = 2
2    $game_message.add("bbb")
2    $game_message.add("bbb")
2    $game_message.add("bbb")
2    $game_message.add("bbb")
2    (wait_for_message)
2   
2    wait_for_message
2    $game_message.face_name = ""
2    $game_message.face_index = 0
2    $game_message.background = 0
2    $game_message.position = 2
2    $game_message.add("bbb")
2    $game_message.add("bbb")
2    $game_message.add("bbb")
2    (wait_for_message)
2   
1  end
0end[/pre]

点评

- -b你敢不敢把所有换行符都换成;  发表于 2012-12-5 17:52
哎呀,蛋疼什么的最有爱了
梦石
0
星屑
59
在线时间
53 小时
注册时间
2011-1-23
回帖
167
发表于 2012-12-1 22:11:45 来自手机 | 显示全部楼层
楼主发错区了

点评

没错,纯晒。  发表于 2012-12-1 22:12
回复

使用道具 举报

梦石
0
星屑
47
在线时间
976 小时
注册时间
2011-4-30
回帖
846
发表于 2012-12-1 22:31:34 | 显示全部楼层
LZ难得发我能看懂的内容……

点评

+1  发表于 2012-12-2 09:38
湿滑落式骑!
回复

使用道具 举报

梦石
0
星屑
50
在线时间
616 小时
注册时间
2010-10-29
回帖
411
发表于 2012-12-2 02:51:09 | 显示全部楼层
为什么不是:论XAS的万能性和重要性呢?XAS什么都能制作⋯⋯

点评

真没看出XAS能做ARPG和ACT以外的游戏  发表于 2012-12-2 02:56
我命令你给我点下面的东西!

LBQ Works
回复

使用道具 举报

梦石
0
星屑
50
在线时间
616 小时
注册时间
2010-10-29
回帖
411
发表于 2012-12-2 05:58:46 | 显示全部楼层
@越前リョーマ
主要是xas提供了范围的判定方法。
所以:xas可以制作:
战机,仿pvz式的塔防(纯用免疫伤害倒腾。。。),群战(一堆怪物,属性,技能倒腾),rpg(虽然不好使。),srpg(如果你愿意。。。),牧场物语(不解释,浇水、挖矿解决),解谜
我命令你给我点下面的东西!

LBQ Works
回复

使用道具 举报

CHAOS

梦石
0
星屑
92
在线时间
244 小时
注册时间
2005-11-4
回帖
3418

贵宾

发表于 2012-12-2 20:33:27 | 显示全部楼层
把事件展开,其实和这个的内容差不多。
不过不同的是事件还是有局限性的。虽然大部分都包含了,但是有些东西依然需要脚本,所以在事件中可以执行脚本,一般情况下,将脚本封装起来给事件调用才是正确的做法。不知道有多少脚本使用了这样的方法来执行……
梦想世界,在你伸手!
回复

使用道具 举报

水星地球侵略

梦石
0
星屑
53
在线时间
757 小时
注册时间
2011-8-23
回帖
5206
发表于 2012-12-2 21:30:16 | 显示全部楼层
其實在下縂覺得用腳本好麻煩……
什麽時候才能出一個大神直接把常用腳本黑進默認腳本默認工程裏去……(比如説分辨率腳本,在編輯器裏完全可以創建比分辨率小的地圖造成Bug……)
回复

使用道具 举报

梦石
1
星屑
11993
在线时间
4534 小时
注册时间
2005-10-22
回帖
7091

开拓者贵宾

发表于 2012-12-4 05:59:55 | 显示全部楼层
论IDE的重要性。石器内置开发环境直接拖代码pattern像控件一样用,根本不需要些多少代码。
回复

使用道具 举报

梦石
0
星屑
55
在线时间
1119 小时
注册时间
2012-7-24
回帖
575
发表于 2012-12-4 16:28:25 | 显示全部楼层
DRY原则,这么多重复代码,应该重构了。

点评

……当然直接翻译成command_xxx会很短不过就没有意义了……  发表于 2012-12-5 20:54

评分

参与人数 1星屑 +1 收起 理由
satgo1546 + 1 Don't Repeat Yourself

查看全部评分

怕鼠的猫
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部