设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1519|回复: 2
打印 上一主题 下一主题

[已经解决] 凌冰的角色选择系统的205行……

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
459 小时
注册时间
2010-6-22
帖子
491
跳转到指定楼层
1
发表于 2011-9-3 10:48:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 370420939 于 2011-9-3 12:58 编辑

RT,凌冰的角色选择系统……出错了……

文件过大 没法上传文件,给个截图



出错语句


所用脚本

出错脚本

  1. #============角色选择=========By凌冰==========================================
  2. #用法 $scene = Scene_SelectActor.new
  3. #=============================================================================
  4. #参与选择的角色ID
  5. ACT_SEL = [1,2,3,4,5,6,7,8]
  6. #====================================
  7. #存储选择结果的变量ID
  8. VA_ID = 14
  9. #====================================
  10. #窗口设置
  11. WIDTH = 600#窗口宽度
  12. HEIGHT = 320#窗口高度
  13. OPACITY = 180#窗口透明度
  14. BACK_OPACITY = 180#窗口透明度
  15. #====================================
  16. #选择显示图形
  17. CHAORBAT = 1
  18. #0为显示人物战斗图,1为显示人物行走图
  19. #2为显示Pictures文件夹下的自定义图片(图片名为角色名)
  20. #其他为不显示图片
  21. #====================================
  22. #人物说明= =暂时仅限一行
  23. DES_SWI = true#说明开关
  24. ACT_DES = []#初始化,请不要修改
  25. #以下填写格式为ACT_DES[角色ID] = "说明文字"
  26. ACT_DES[1] = "【剑士】各项能力平均 是以优雅高超的剑术公平胜敌的绅士"         
  27. ACT_DES[2] = "【狩猎者】以速度著称,以各种远程武器精准射杀敌人"         
  28. ACT_DES[3] = "【士兵】各项能力较弱,但是有优秀的物质补给"         
  29. ACT_DES[4] = "【浪客】攻击防御样样在行,但是体力较弱"         
  30. ACT_DES[5] = "【夜行者】使用暗系魔法 身手敏捷"         
  31. ACT_DES[6] = "【圣徒】使用光系魔法 生命力强"         
  32. ACT_DES[7] = "【隐居者】精通土木魔法 防御力高"         
  33. ACT_DES[8] = "【阴阳师】精通水火法术 略懂光暗法术"  
  34. #====================================
  35. #背景图片
  36. BGP_SWI = true#背景开关= =打开后PDE_SWI被屏蔽
  37. BGP_PIC = "LOGE"#背景图片文件名Pictures文件夹下
  38. BGP_OPA = 0#开关打开后,窗口透明度
  39. BGP_BOP = 0#开关打开后,窗口(不包括边框)透明度
  40. #====================================
  41. #说明图片
  42. #移动光标矩形时自动切换图片
  43. PDE_SWI = true#图片开关= =BGP_SWI打开后被屏蔽
  44. PIC_DES = []#初始化,请不要修改
  45. #以下填写格式为PIC_DES[角色ID] = "图片文件名"
  46. PIC_DES[1] = "Logo1"
  47. PIC_DES[2] = "Logo2"
  48. PIC_DES[3] = "Logo1"
  49. PIC_DES[4] = "Logo2"
  50. PDE_OPA = 180#开关打开后,窗口透明度
  51. PDE_BOP = 0#开关打开后,窗口(不包括边框)透明度
  52. #====================================
  53. #双排显示
  54. TWR_SWI = true#双排开关
  55. class Window_SelectActor < Window_Selectable
  56.   def initialize
  57.     super(0, 0, WIDTH, HEIGHT)
  58.     self.contents = Bitmap.new(width - 32, height - 32)
  59.     @item_max = ACT_SEL.size
  60.     @column_max = ACT_SEL.size
  61.     @column_max = (ACT_SEL.size+1)/2 if TWR_SWI
  62.     @index = 0
  63.     self.x = (640-self.width)/2
  64.     self.y = (480-self.height)/2
  65.     refresh
  66.   end
  67.   def refresh
  68.     self.contents.clear
  69.     for i in 0...ACT_SEL.size
  70.       unless TWR_SWI
  71.         x = (self.width-32)/ACT_SEL.size * i
  72.         y = 4
  73.       else
  74.         case (ACT_SEL.size%2)
  75.         when 0
  76.           row_size = ACT_SEL.size/2
  77.         else
  78.           row_size = ACT_SEL.size/2 + 1
  79.         end
  80.         x = (i%@column_max) * (self.width-32)/row_size
  81.         y = 4
  82.         y = (self.height-32) / 2 if i > row_size - 1
  83.       end
  84.       actor = $game_actors[ACT_SEL[i]]
  85.       x_plus = contents.text_size(actor.name).width
  86.       x_plus = ((self.width-32)/row_size - x_plus)/2
  87.       draw_actor_name(actor, x+4+x_plus, y)
  88.       case CHAORBAT
  89.       when 0
  90.         bitmap = RPG::Cache.battler(actor.battler_name, actor.battler_hue)
  91.         src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  92.         x_plus = bitmap.width
  93.         x_plus = ((self.width-32)/row_size - x_plus)/2
  94.         self.contents.blt(x+x_plus, y+36, bitmap, src_rect)
  95.       when 1
  96.         bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
  97.         y_plus = bitmap.height/4
  98.         x_plus = bitmap.width/4
  99.         x_plus2 = ((self.width-32)/row_size - x_plus)/2
  100.         draw_actor_graphic(actor, x+x_plus/2+x_plus2,y+ y_plus+36)
  101.       when 2
  102.         bitmap = RPG::Cache.picture(actor.name)
  103.         src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  104.         x_plus = bitmap.width
  105.         x_plus = ((self.width-32)/row_size - x_plus)/2
  106.         self.contents.blt(x+x_plus, y+36, bitmap, src_rect)
  107.       end
  108.     end
  109.   end
  110.   def update_cursor_rect
  111.     unless TWR_SWI
  112.       if @index < 0
  113.         self.cursor_rect.empty
  114.       else
  115.         self.cursor_rect.set( @index * (self.width-32)/ACT_SEL.size,0, (self.width-32)/ACT_SEL.size, self.height-32)
  116.       end
  117.     else
  118.       if @index < 0
  119.         self.cursor_rect.empty
  120.       else
  121.         case (ACT_SEL.size%2)
  122.         when 0
  123.           row_size = ACT_SEL.size/2
  124.         else
  125.           row_size = ACT_SEL.size/2 + 1
  126.         end
  127.         x = (@index%@column_max) * (self.width-32)/row_size
  128.         y = 0
  129.         y = (self.height-32) / 2 if @index > row_size - 1
  130.         self.cursor_rect.set( x,y, (self.width-32)/row_size, (self.height-32)/2)
  131.       end
  132.     end
  133.   end
  134. end
  135. class Window_Help_New < Window_Help
  136.   def initialize
  137.     super
  138.     self.contents = Bitmap.new(width, height)
  139.     self.width = WIDTH
  140.     self.contents = Bitmap.new(width - 32, height - 32)
  141.   end
  142. end
  143. class Scene_SelectActor
  144.   def main
  145.     @window = Window_SelectActor.new
  146.     @help_window = Window_Help_New.new
  147.     @help_window.visible = DES_SWI
  148.     @help_window.x = @window.x
  149.     @help_window.y = @window.y + @window.height
  150.     @help_window.width = @window.width
  151.     @help_window.back_opacity = @window.back_opacity = PDE_SWI ? PDE_BOP : BACK_OPACITY
  152.     @help_window.opacity = @window.opacity = PDE_SWI ? PDE_OPA : OPACITY
  153.     @help_window.back_opacity = @window.back_opacity = BGP_BOP if BGP_SWI
  154.     @help_window.opacity = @window.opacity = BGP_OPA if BGP_SWI
  155.     if BGP_SWI
  156.       @sprite = Sprite.new
  157.       @sprite.bitmap = RPG::Cache.picture(BGP_PIC)
  158.     elsif PDE_SWI
  159.       @sprite = Sprite.new
  160.       @sprite.bitmap = RPG::Cache.picture(PIC_DES[1])
  161.     else
  162.       @sprite = Spriteset_Map.new
  163.     end
  164.     # 执行过度4
  165.     Graphics.transition
  166.     # 主循环
  167.     loop do
  168.       # 刷新游戏画面
  169.       Graphics.update
  170.       # 刷新输入信息
  171.       Input.update
  172.       # 刷新画面
  173.       update
  174.       # 如果画面切换就中断循环
  175.       if $scene != self
  176.         break
  177.       end
  178.     end
  179.     # 装备过渡
  180.     Graphics.freeze
  181.     @window.dispose
  182.     @help_window.dispose
  183.     @sprite.dispose
  184.   end
  185.   def update
  186.     @window.update
  187.     @sprite.update
  188.     if DES_SWI
  189.       @help_window_update
  190.       actor_id = ACT_SEL[@window.index]
  191.       text = ACT_DES[actor_id]
  192.       @help_window.set_text(text,1) if text != nil
  193.     end
  194.     if !BGP_SWI and PDE_SWI
  195.       pic = PIC_DES[ACT_SEL[@window.index]]
  196.       @sprite.bitmap = RPG::Cache.picture(pic) if pic != nil
  197.     end
  198.     if Input.trigger?(Input::C)
  199.       $game_system.se_play($data_system.decision_se)
  200.       for i in 0...$game_party.actors.size
  201.         id = $game_party.actors[i].id
  202.         actors_id = [] if actors_id == nil
  203.         actors_id.push(id)
  204.       end
  205.       actors_id.each do |i|
  206.         $game_party.remove_actor(i)
  207.       end
  208.       id = ACT_SEL[@window.index]
  209.       $game_party.add_actor(id)
  210.       $game_variables[VA_ID] = id
  211.       $scene = Scene_Map.new
  212.     end
  213.   end
  214. end
复制代码

点评

那你也得发个脚本啊  发表于 2011-9-3 10:55
本人决定变身为 ·雾逝者·
以后这个号废了……
大家见到 ·雾逝者· 就是见到我哦~
有什么事也请联系那个号吧!

Lv1.梦旅人

梦石
0
星屑
217
在线时间
828 小时
注册时间
2010-6-22
帖子
120

开拓者

2
发表于 2011-9-3 12:52:42 | 只看该作者
重點是ls發的腳本,哪裡有220行.........

点评

剛剛自己測試後,並無問題。或許是與其他跟actor有關的腳本出問題了。  发表于 2011-9-3 13:04
呃……奇怪……应该是这里的205行……  发表于 2011-9-3 12:58
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

3
发表于 2011-9-3 13:42:32 | 只看该作者
队伍里没人了么?
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-23 05:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表