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

Project1

 找回密码
 注册会员
搜索
楼主: KT猫
打印 上一主题 下一主题

又一个战斗问题,高手们帮帮忙哦

 关闭 [复制链接]

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

11
发表于 2008-4-14 05:30:41 | 只看该作者
汗  lz说的是那个选项图标吗 - -b
我迷看见啊  我那个确实是改敌人的   不是lz要的
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-3-30
帖子
71
12
 楼主| 发表于 2008-4-14 05:42:36 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2007-8-18
帖子
701
13
发表于 2008-4-14 05:44:20 | 只看该作者
我也晕,

SCENE_BATTLE吧
笑天下谁是敌手,问千年谁主沉浮
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

14
发表于 2008-4-14 05:45:16 | 只看该作者
自己分不清楚的话  把工程目录下data文件夹下的Scripts.rxdata发上来

不过这样包含了你全部脚本  lz自己看吧
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-3-30
帖子
71
15
 楼主| 发表于 2008-4-14 05:48:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-3-30
帖子
71
16
 楼主| 发表于 2008-4-14 05:53:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

17
发表于 2008-4-14 06:21:12 | 只看该作者
修改
★战斗菜单
class Window_CommandIcon < Window_Selectable
的update函数
因为这个update函数的super直接调用了父类方法, 而传入的common只有0,1,2,3,所以up和down按键是无效的
只要修改updte就可以修改光标了
  def update
    super
     # 可以移动光标的情况下
    if self.active and @item_max > 0 and @index >= 0
      # 方向键下被按下的情况下
      if Input.repeat?(Input::DOWN)
        @index = 2
      end
      # 方向键上被按下的情况下
      if Input.repeat?(Input::UP)
        @index = 0
      end
      # 方向键右被按下的情况下
      if Input.repeat?(Input::RIGHT)
        @index = 3
      end
      # 方向键左被按下的情况下
      if Input.repeat?(Input::LEFT)
        @index = 1
      end
    end
    icon_update
    com_name_update if Momo_IconCommand::COM_NAME_DROW
    if move_index?
      @last_index = self.index
    end
  end
这个是我修改的  可以使用, 只是没有更新helpwindow的帮助, 而且重复调用了父类的方法, 效率也不高, 只是测试一下而已(个人建议如果要修改窗体的按键更新,最好不要继承Window_Selectable, 这样可以避免系统重复调用无用的更新判断)
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-3-30
帖子
71
18
 楼主| 发表于 2008-4-14 06:44:59 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-3-30
帖子
71
19
 楼主| 发表于 2008-4-14 06:48:53 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

20
发表于 2008-4-14 20:24:32 | 只看该作者
没改什么东西   就是把父类换掉了 - -
直接把原来的覆盖掉吧

  1. class Window_CommandIcon < Window_Base
  2.   attr_accessor :last_index
  3.   attr_accessor :index
  4.   #--------------------------------------------------------------------------
  5.   # ● オブジェクト初期化
  6.   #--------------------------------------------------------------------------
  7.   def initialize(x, y, commands)
  8.     super(x, y, 37, 37)
  9.     # ウィンドウスキンに空文字列を指定してウィンドウを描画しないようにする
  10.     self.windowskin = RPG::Cache.windowskin("")
  11.     @item_max = commands.size
  12.     @commands = commands
  13.     @column_max = commands.size
  14.     @index = 0
  15.     @last_index = nil
  16.     @name_sprite = nil
  17.     @sprite = []
  18.     refresh
  19.   end
  20.   def dispose
  21.     super
  22.     for sprite in @sprite
  23.       sprite.dispose unless sprite.nil?
  24.     end
  25.     @name_sprite.dispose unless @name_sprite.nil?
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● リフレッシュ
  29.   #--------------------------------------------------------------------------
  30.   def refresh
  31.     @name_sprite.dispose unless @name_sprite.nil?
  32.     for sprite in @sprite
  33.       sprite.dispose unless sprite.nil?
  34.     end
  35.     @name_sprite = nil
  36.     draw_com_name if Momo_IconCommand::COM_NAME_DROW
  37.     @sprite = []
  38.     for i in 0...@item_max
  39.       draw_item(i)
  40.     end
  41.   end
  42.   #--------------------------------------------------------------------------
  43.   # ● 項目の描画
  44.   #--------------------------------------------------------------------------
  45.   def draw_item(index)
  46.     @sprite[index] = Sprite_Icon.new(nil, @commands[index])
  47.     @sprite[index].z = self.z + 1
  48.   end
  49.   def draw_com_name
  50.     @name_sprite = Sprite_Comm_Name.new(nil, get_com_name)
  51.   end
  52.   # 更新
  53.   def update
  54.     super
  55.      # 可以移动光标的情况下
  56.     if self.active and @item_max > 0 and @index >= 0
  57.       # 方向键下被按下的情况下
  58.       if Input.repeat?(Input::DOWN)
  59.         @index = 2
  60.       end
  61.       # 方向键上被按下的情况下
  62.       if Input.repeat?(Input::UP)
  63.         @index = 0
  64.       end
  65.       # 方向键右被按下的情况下
  66.       if Input.repeat?(Input::RIGHT)
  67.         @index = 3
  68.       end
  69.       # 方向键左被按下的情况下
  70.       if Input.repeat?(Input::LEFT)
  71.         @index = 1
  72.       end
  73.     end
  74.     icon_update
  75.     com_name_update if Momo_IconCommand::COM_NAME_DROW
  76.     if move_index?
  77.       @last_index = @index
  78.     end
  79.   end
  80.   # アイコンの更新
  81.   def icon_update
  82.     qx = 25
  83.     qy = 385
  84.     for i in [email protected]
  85.       @sprite[i].active = (@index == i)
  86.       @sprite[0].x = 40 +qx
  87.       @sprite[0].y = -15 +qy
  88.       @sprite[1].x = 0 + qx
  89.       @sprite[1].y = 23 + qy
  90.       @sprite[2].x = 40 + qx
  91.       @sprite[2].y = 59 + qy
  92.       @sprite[3].x = 81 + qx
  93.       @sprite[3].y = 23 + qy
  94.       #@sprite[i].x = self.x + i * 56
  95.       #@sprite[i].y = self.y + 0
  96.       @sprite[i].z = (@index == i) ? self.z + 2 : self.z + 1
  97.       @sprite[i].visible = self.visible
  98.       @sprite[i].update
  99.     end
  100.   end
  101.   # コマンドネームの更新
  102.   def com_name_update
  103.     if move_index?
  104.       @name_sprite.name = get_com_name
  105.     end
  106.     @name_sprite.x = self.x - 12 + Momo_IconCommand::COM_NAME_X_PLUS
  107.     @name_sprite.y = self.y - 40 + Momo_IconCommand::COM_NAME_Y_PLUS
  108.     @name_sprite.z = self.z + 1
  109.     @name_sprite.active = self.active
  110.     @name_sprite.visible = self.visible
  111.     @name_sprite.update
  112.   end
  113.   def get_com_name
  114.     make_name_set if @name_set.nil?
  115.     name = @name_set[self.index]
  116.     name = "" if name.nil?
  117.     return name
  118.   end
  119.   def make_name_set
  120.     @name_set = []
  121.     @name_set[0] = Momo_IconCommand::ATTACK_NAME
  122.     @name_set[1] = Momo_IconCommand::SKILL_NAME
  123.     @name_set[2] = Momo_IconCommand::GUARD_NAME
  124.     @name_set[3] = Momo_IconCommand::ITEM_NAME
  125.   end
  126.   def move_index?
  127.     return @index != @last_index
  128.   end
  129.   def need_reset
  130.     @name_sprite.need_reset = true if Momo_IconCommand::COM_NAME_DROW
  131.   end
  132. end
复制代码
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 13:00

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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