Project1

标题: 关于vx战斗的时候不显示选项而显示图片 [打印本页]

作者: 偶尔杀人越货    时间: 2008-9-6 16:07
标题: 关于vx战斗的时候不显示选项而显示图片
说白了就是vx图片战斗菜单,昨天做了一天效果也不理想,不知道谁有有这个脚本给我一个(找死我了)...如果没有给个思路,3q...
如果能解决的话追加积分
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 雪流星    时间: 2008-9-6 16:16
不是有个图片标题画面的脚本吗?
拿去叁考看看
作者: 偶尔杀人越货    时间: 2008-9-6 16:22
已经开始“参考”了,我的悟性真“好”{/gg}
作者: 八云紫    时间: 2008-9-6 17:21


这个样子的么?? [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 偶尔杀人越货    时间: 2008-9-6 17:23
以下引用八云紫于2008-9-6 9:21:56的发言:



这个样子的么??

是啊
我自己制做的太弱了,555
作者: 八云紫    时间: 2008-9-6 17:28
  1. #==============================================================================
  2. # ■ Position
  3. #------------------------------------------------------------------------------
  4. #  定义战斗角色站位,队伍站位,技能范围坐标的模块。
  5. #==============================================================================

  6. module Position
  7.   HEXAGON =  [[50, 10],[5, 30],[95, 30]]
  8. end
  9. #==============================================================================
  10. # ■ Window_ActorCommand
  11. #------------------------------------------------------------------------------
  12. #  战斗画面、选择战斗与逃跑的窗口。
  13. #==============================================================================

  14. class Window_ActorCommand < Window_Selectable
  15.   #--------------------------------------------------------------------------
  16.   # ● 初始化对象
  17.   #--------------------------------------------------------------------------
  18.   def initialize(actor)
  19.     super(128, 128, 544, 416)
  20.     @actor = actor
  21.     self.opacity = 0
  22.     @column_max = 6
  23.     @item_max = 6
  24.     self.index = 0
  25.     @index_index = self.index
  26.     draw_icon(@index, @actor.pressed_key[@index], Position::HEXAGON[0][0], Position::HEXAGON[0][1], 255)
  27.     draw_icon(@index - 1, @actor.pressed_key[@index-1], Position::HEXAGON[1][0], Position::HEXAGON[1][1], 100)
  28.     draw_icon(@index + 1, @actor.pressed_key[(@index+1)%5], Position::HEXAGON[2][0], Position::HEXAGON[2][1], 100)
  29.     refresh
  30.   end
  31.   #------------------------------
  32.   # ● 刷新
  33.   #------------------------------
  34.   def refresh
  35.     unless @index_index == @index
  36.       self.contents.clear
  37.       draw_icon(@index, @actor.pressed_key[@index], Position::HEXAGON[0][0], Position::HEXAGON[0][1], 255)
  38.       draw_icon(@index - 1, @actor.pressed_key[@index-1], Position::HEXAGON[1][0], Position::HEXAGON[1][1], 100)
  39.       draw_icon(@index + 1, @actor.pressed_key[(@index+1)%5], Position::HEXAGON[2][0], Position::HEXAGON[2][1], 100)
  40.       @index_index = @index
  41.     end
  42.     update
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● 描绘图标
  46.   #--------------------------------------------------------------------------
  47.   def draw_icon(index, number, x, y, op)
  48.     index = 5 if index < 0
  49.     index = 0 if index > 5
  50.     bitmap = Bitmap.new("Graphics/Battle/#{Material::BATTLE_INSTRUCTION}")
  51.     w = bitmap.width / 2
  52.     h = bitmap.height / 6
  53.     rect = Rect.new(number * w, index * h, w, h)
  54.     self.contents.blt(x, y, bitmap, rect, op)
  55.     bitmap.dispose
  56.   end
  57.   #--------------------------------------------------------------------------
  58.   # ● 光标向下移动
  59.   #     wrap : 允许跳过
  60.   #--------------------------------------------------------------------------
  61.   def cursor_down(wrap = false)
  62.     @index += 1
  63.     @index = 0 if @index > 5
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # ● 光标向上移动
  67.   #     wrap : 允许跳过
  68.   #--------------------------------------------------------------------------
  69.   def cursor_up(wrap = false)
  70.     @index -= 1
  71.     @index = 5 if @index < 0
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 光标向右移动
  75.   #     wrap : 允许跳过
  76.   #--------------------------------------------------------------------------
  77.   def cursor_right(wrap = false)
  78.     @index += 1
  79.     @index = 0 if @index > 5
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # ● 光标向左移动
  83.   #     wrap : 允许跳过
  84.   #--------------------------------------------------------------------------
  85.   def cursor_left(wrap = false)
  86.     @index -= 1
  87.     @index = 5 if @index < 0
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 获取项目要描画的矩形
  91.   #     index : 项目编号
  92.   #--------------------------------------------------------------------------
  93.   def item_rect(index)
  94.     rect = Rect.new(0, 0, 0, 0)
  95.     return rect
  96.   end
  97.   
  98.   def setup(actor)
  99.     @actor = actor
  100.    end
  101. end  
复制代码


这个是脚本,不能直接使用。(因为是为我自己的游戏而写的)自己改改吧。
作者: 偶尔杀人越货    时间: 2008-9-6 17:32
OK,谢谢啦,努力专研ing,追加一张好人卡{/wx}
作者: 八云紫    时间: 2008-9-6 17:33
那个,感觉写的很乱。
作者: 偶尔杀人越货    时间: 2008-9-6 17:38
没,只是变量的名字有点诡异
作者: 八云紫    时间: 2008-9-6 17:42
呵呵,那个 @index_index 其实很用来记忆光标用的,用来刷新的。
作者: 偶尔杀人越货    时间: 2008-9-6 17:55
呵呵一头雾水,不太会用
作者: 八云紫    时间: 2008-9-6 18:01
其实就是显示图片,其他的也没什么。
作者: 偶尔杀人越货    时间: 2008-9-6 18:07
恩,主要是变量错误,不知道脚本应该放在哪个位置,我也忒笨了{/dk}
好像和window_base有冲突
作者: 八云紫    时间: 2008-9-6 18:09
没有呀,只是里面有的变量需要在 Game_Actor 里添加
作者: 偶尔杀人越货    时间: 2008-9-6 18:15
这么回事啊,我想复杂啦

作者: 八云紫    时间: 2008-9-6 18:35
说是光标,其实就是 @index 这个是做主要的, 写一个不闪烁的光标,继承Window_Base也未尝不可。
作者: 偶尔杀人越货    时间: 2008-9-6 18:59
{/wx}已经解决了,谢谢
我用了一个相当诡异的方法....
现在战斗场景诡异的就就像vista操作系统(立体+毛玻璃)
作者: 八云紫    时间: 2008-9-6 19:15
= = 毛玻璃???
作者: 偶尔杀人越货    时间: 2008-9-6 19:16
以下引用八云紫于2008-9-6 11:15:36的发言:

= = 毛玻璃???

就是vista那种半透明的,立体的菜单
作者: 龙轩    时间: 2008-9-6 19:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: 龙少明帅    时间: 2008-11-15 16:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: zengyuyu    时间: 2009-11-3 18:28
看不懂啊!有实例可以参考吗?




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