查看: 1688|回复: 5

[讨论] bug测试帖子

[复制链接]
梦石
0
星屑
1643
在线时间
409 小时
注册时间
2012-8-7
回帖
1499
发表于 2012-8-31 16:05:03 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 harinlen 于 2012-8-31 16:11 编辑

[pre lang="ruby" line="1"]
#==============================================================================
# ★ RGSS3_視界制限 Ver1.11
#==============================================================================
=begin

作者:tomoaky
webサイト:ひきも記 (http://hikimoki.sakura.ne.jp/)

設定した番号のマップだけ視界を制限します。

アクター、職業、武器(防具)のメモ欄に下のようなタグを書き込むことで
視界制限のサイズを補正することができます。
例)<視界補正 32>
視界が 32 ドット広がります。
視界補正値の計算をおこなうのは戦闘メンバーのみとなります。

ゲーム変数(初期設定では9番)を使って視界のサイズを補正できます。

実際の視界制限サイズは上記の設定値をすべて加算したものになります。
ただし、マップに視界制限値が設定されていない場合はすべて無効です。

画面全体を覆うスプライトを毎フレーム再描画しているため
多少重くなります。

動作に必要な画像
  Graphics/System/sight_shadow.png
  
使用するゲーム変数(初期設定)
  0009

2012.03.07  Ver1.11
 ・メニューから復帰したときに視界制限が途切れる不具合を修正
  
2012.02.05  Ver1.1
  ・タイマーが隠れてしまわないようにZ座標を調整
  ・ゲーム変数を使って視界制限サイズを補正する機能を追加
  
2012.01.20  Ver1.0
  公開

=end

#==============================================================================
# □ 設定項目
#==============================================================================
module TMBLSIGHT
  # 何番のマップをどれだけ視界制限するか
  # 例)SIGHT[3] = 128  # 3番のマップの視界を128ドット四方に制限する
  SIGHT = {}
  SIGHT[3] = 256
  
  VN_SIGHT = 10    # 視界のサイズ補正に利用するゲーム変数番号
end

#==============================================================================
# □ RPG::BaseItem
#==============================================================================
class RPG::BaseItem
  #--------------------------------------------------------------------------
  # ○ 視界制限の補正値
  #--------------------------------------------------------------------------
  def sight_power
    unless @sight_power
      @sight_power = /<視界補正\s*(\-*\d+)\s*>/ =~ @note ? $1.to_i : 0
    end
    @sight_power
  end
end

#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor
  #--------------------------------------------------------------------------
  # ○ 視界制限の補正値
  #--------------------------------------------------------------------------
  def sight_power
    result = 0
    feature_objects.each {|object| result += object.sight_power}
    result
  end
end

#==============================================================================
# □ Sprite_SightShadow
#==============================================================================
class Sprite_SightShadow < Sprite
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(viewport = nil)
    super(viewport)
    self.z = 199
    self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
    @bitmap_shadow = Bitmap.new("Graphics/System/sight_shadow")
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  def dispose
    self.bitmap.dispose
    @bitmap_shadow.dispose
    super
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  def update
    super
    if TMBLSIGHT::SIGHT[$game_map.map_id]
      self.visible = true
      self.bitmap.clear
      w = TMBLSIGHT::SIGHT[$game_map.map_id]
      $game_party.battle_members.each{|actor| w = [w + actor.sight_power, 48].max}
      w = [w + $game_variables[TMBLSIGHT::VN_SIGHT], 48].max
      x = $game_player.screen_x - w / 2
      y = $game_player.screen_y - w / 2 - 16
      rect = Rect.new(x, y, w, w)
      self.bitmap.stretch_blt(rect, @bitmap_shadow, @bitmap_shadow.rect)
      color = Color.new(0, 0, 0)
      self.bitmap.fill_rect(0, 0, Graphics.width, y, color)
      self.bitmap.fill_rect(0, y + w, Graphics.width, Graphics.height - y - w,
        color)
      self.bitmap.fill_rect(0, y, x, w, color)
      self.bitmap.fill_rect(x + w, y, Graphics.width - x - w, w, color)
    else
      self.visible = false
    end
  end
end

#==============================================================================
# ■ Spriteset_Map
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias tmblsight_spriteset_map_initialize initialize
  def initialize
    tmblsight_spriteset_map_initialize
    create_sight_shadow
  end
  #--------------------------------------------------------------------------
  # ○ 視界制限スプライトの作成
  #--------------------------------------------------------------------------
  def create_sight_shadow
    @sight_shadow_sprite = Sprite_SightShadow.new(@viewport2)
    update_sight_shadow
  end
  #--------------------------------------------------------------------------
  # ● 解放
  #--------------------------------------------------------------------------
  alias tmblsight_spriteset_map_dispose dispose
  def dispose
    tmblsight_spriteset_map_dispose
    dispose_sight_shadow
  end
  #--------------------------------------------------------------------------
  # ○ 視界制限スプライトの解放
  #--------------------------------------------------------------------------
  def dispose_sight_shadow
    @sight_shadow_sprite.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias tmblsight_spriteset_map_update update
  def update
    update_sight_shadow
    tmblsight_spriteset_map_update
  end
  #--------------------------------------------------------------------------
  # ○ 視界制限スプライトの更新
  #--------------------------------------------------------------------------
  def update_sight_shadow
    @sight_shadow_sprite.update if @sight_shadow_sprite
  end
end[/pre]

点评

这个是代码但是为什么不能复制看起来不像引用  发表于 2012-8-31 16:12
貌似能用  发表于 2012-8-31 16:06


梦石
0
星屑
249
在线时间
85 小时
注册时间
2012-8-5
回帖
712
发表于 2012-8-31 16:06:17 | 显示全部楼层
什么BUG呢?

点评

能看到一楼的内容么- -我浏览器显示的是空白- -  发表于 2012-8-31 16:07
回复

使用道具 举报

梦石
0
星屑
1643
在线时间
409 小时
注册时间
2012-8-7
回帖
1499
 楼主| 发表于 2012-8-31 16:07:27 | 显示全部楼层
还是说我浏览器傲娇了- -我这里是空白的说- -

点评

不只是看不见代码的问题,而且连点评按钮都显示为乱码- -  发表于 2012-8-31 16:11
能看到啊,可能是你的代码显示取消了  发表于 2012-8-31 16:10
怎么能这样……- -||||  发表于 2012-8-31 16:08
我的浏览器有时也会和你这样傲娇..  发表于 2012-8-31 16:08


回复

使用道具 举报

死亡颂唱者

梦石
0
星屑
1159
在线时间
1795 小时
注册时间
2011-10-21
回帖
2205

开拓者

发表于 2012-8-31 16:09:07 | 显示全部楼层
LZ不发内容只贴脚本纯水哦

点评

重启过了- -貌似浏览器Cache出问题了 - -  发表于 2012-8-31 16:13
重启电脑吧  发表于 2012-8-31 16:11
主要是我这里连1L的内容都看不到,然后能单击编辑却又有文字- -  发表于 2012-8-31 16:09
这家伙很懒,什么也没有留下
回复

使用道具 举报

伴侣:北岛谜烟

发表于 2012-8-31 16:11:33 | 显示全部楼层

点评

额……是,我想再测试一下- -  发表于 2012-8-31 16:13
本人收不到提醒(点评|回复|@人),总之有事情到空间留言一起普通普通
回复

使用道具 举报

哆啦菌

梦石
0
星屑
46
在线时间
795 小时
注册时间
2010-7-24
回帖
3507
发表于 2012-8-31 17:31:57 | 显示全部楼层
竟然没被移到开水、、、
随便看看
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部