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

Project1

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

[已经过期] 法术栏帧数异常

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3636
在线时间
1893 小时
注册时间
2010-6-19
帖子
1211
跳转到指定楼层
1
发表于 2013-6-25 19:28:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 黑米馒头 于 2013-6-25 21:03 编辑

法术栏一打开,游戏帧数马上从60多变成10几了,关了又恢复正常。。。来个高手帮忙看下怎么回事
  1. #==============================================================================
  2. # ■ Window_Skill
  3. #------------------------------------------------------------------------------
  4. #  特技画面、战斗画面、显示可以使用的特技浏览的窗口。
  5. #==============================================================================

  6. class Window_Skill_1 < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对像
  9.   #     actor : 角色
  10.   #--------------------------------------------------------------------------
  11.   def initialize(actor)
  12.     super(153, 128, 370, 323)
  13.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  14.     @column_max = 6
  15.     self.index = 0
  16.     self.opacity = 0
  17.     self.x = 142
  18.     self.y = 89
  19.     self.z = 112
  20.     # 战斗中的情况下将窗口移至中央并将其半透明化
  21.     if $game_temp.in_battle
  22.       self.x = 176
  23.       self.y = 107
  24.       self.height = 202
  25.       self.z = 112
  26.       self.back_opacity = 0
  27.       self.z = 9999
  28.     end
  29.   #--------------------------------------------------------------------------
  30.   # ● 描绘项目-宠物用
  31.   #     index : 项目编号
  32.   #--------------------------------------------------------------------------
  33.    if $scene.is_a?(Scene_Baby)
  34.        @column_max = 1  
  35.   def draw_item2(index)
  36.     if $stop == 0
  37.       return
  38.     end
  39.     skill = @data[index]
  40.     x = index % 6 * 42
  41.     y = (index / 6) * 42
  42.     rect = Rect.new(x, y, self.width / @column_max - 42, 42)
  43.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  44.     bitmap = RPG::Cache.icon(skill.icon_name)
  45.     self.contents.blt(x, y, bitmap, Rect.new(-2,-2 , 42, 42))
  46.     if skill.element_set.include?(10)
  47.     end
  48.   end
  49. #==============================================================================  
  50.     @jnlan = Sprite.new
  51.     @jnlan.bitmap = Bitmap.new("Graphics/Pictures/图片显示/技能栏(宠物)")  
  52.     @jnlan.y =3
  53.     @jnlan.x =3
  54. # 图片的可视化,这样写可以让图片在原窗口可见和不可见时同步
  55.     def visible=(asd)
  56.     @jnlan.visible = asd if !$game_temp.in_battle # 不是战斗的情况才跟随
  57.     super(asd)
  58.   end
  59. #==============================================================================
  60.     self.y = 85                #显示物品框的竖向移动
  61.     self.x = 329+3               #显示物品框的横向移动
  62.     self.width = 300           #显示物品框的宽
  63.     self.height = 200          #显示物品框的长
  64.     self.opacity = 0
  65.     @column_max = 6
  66.     end
  67.     if [url=home.php?mod=space&uid=95897]@actor[/url] != 0
  68.     refresh
  69.     end
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # ● 获取特技
  73.   #--------------------------------------------------------------------------
  74.   def skill
  75.     return @data[self.index]
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # ● 刷新
  79.   #--------------------------------------------------------------------------
  80.   def refresh
  81.     if $scene.is_a?(Scene_Baby)
  82.       [url=home.php?mod=space&uid=95897]@actor[/url] = $baby_index
  83.     end
  84.     if $stop == 0
  85.      # self.contents.clear   
  86.       return
  87.     end
  88.     if self.contents != nil
  89.       self.contents.dispose
  90.       self.contents = nil
  91.     end
  92.     @data = []
  93.     if $game_temp.in_battle
  94.      for i in [email protected]
  95.        skill = $data_skills[@actor.skills[i]]
  96.        if skill != nil and skill.element_set.include?(10) == false
  97.          @data.push(skill)
  98.        end
  99.      end
  100.     else
  101.      for i in [email protected]
  102.        skill = $data_skills[@actor.skills[i]]
  103.        if skill != nil
  104.          @data.push(skill)
  105.        end
  106.      end
  107.     end
  108.     # 如果项目数不是 0 就生成位图、重新描绘全部项目
  109.     @item_max = @data.size
  110.     if @item_max > 0
  111.       self.contents = Bitmap.new(width - 42, row_max * 42)
  112.       for i in 0...@item_max
  113.         if $scene.is_a?(Scene_Baby) == false
  114.           draw_item(i)
  115.         else
  116.           draw_item2(i)
  117.         end
  118.       end
  119.     end
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● 描绘项目
  123.   #     index : 项目编号
  124.   #--------------------------------------------------------------------------
  125.   def draw_item(index)
  126.     skill = @data[index]
  127.     if @actor.skill_can_use?(skill.id)
  128.       self.contents.font.color = normal_color
  129.     else
  130.       self.contents.font.color = disabled_color
  131.     end
  132.     x = index % 6 * 42
  133.     y = (index / 6) * 42
  134.     rect = Rect.new(x, y, self.width - 42, 42)
  135.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  136.     bitmap = RPG::Cache.icon(skill.icon_name)
  137.     self.contents.blt(x, y, bitmap, Rect.new(-2,-2 , 42, 42))
  138.     self.contents.font.size = 15
  139.     self.contents.font.color.set(255,255,255,255)
  140.   end
  141.   #--------------------------------------------------------------------------
  142.   # ● 刷新帮助文本
  143.   #--------------------------------------------------------------------------
  144.   def update_help
  145.     #@help_window.set_text(self.skill == nil ? "" : self.skill.description)
  146.     #★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★   
  147.     @help_window.set_text(skill)
  148.     #校正帮助窗口位置
  149.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  150.   end
  151. end
复制代码

Lv1.梦旅人

梦石
0
星屑
52
在线时间
586 小时
注册时间
2012-5-31
帖子
768
2
发表于 2013-6-25 20:07:11 | 只看该作者
36前应该少了二个“end”,50---71行表示看不明白,应该是放错位置了,51行生成的图好像也没有释放
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-28 06:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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