查看: 3486|回复: 8

[已经过期] 关于VA半身像的脚本TATTTTTTTT

[复制链接]
梦石
0
星屑
439
在线时间
21 小时
注册时间
2012-5-23
回帖
3
发表于 2013-3-29 23:39:46 | 显示全部楼层 |阅读模式

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

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

×
跪地求
找了好久都没找到TAT
不然就是没看懂……
主要是菜单栏的要显示半身像……TAT战斗半身像都是其次
梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2013-3-30 00:22:37 | 显示全部楼层
菜单栏显示半身像,可以试试加上这个:

[pre lang="ruby" line="1"]#--------------------------------------------------------------------------
  # ● 绘制角色立绘
  #--------------------------------------------------------------------------
   def draw_player
    #自动提取角色档名,以 player_ 开头,后面是三位数的角色 id 值,例如 player_005.png 是 id 为 005 的角色
    player_filename =  sprintf("player_%02d.png", @actor.id)
    #检查是否角色档名存在,若不存在则跳出不描绘
    return unless FileTest.exist?("Graphics/Party/" + player_filename)
    #读取角色档内容至位图
    bitmap = Cache.load_bitmap("Graphics/Party/", player_filename)
    #划定位图显示区域矩形范围
    rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    #描绘位图到画面上
    contents.blt(contents_width - bitmap.width, contents_height - bitmap.height, bitmap, rect, 255)
    #完成后将位图清除
    bitmap.dispose
  end   [/pre]


contents_width 是窗口的宽度,contents_height 是窗口的高度,用它们减去 bitmap 位图的宽和高,

是要把图放在窗口的右下角,像这样:

s1.png

其实这个也可以用在战斗中的,只不过要懂得怎么改,放在哪个位置而已。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

梦石
0
星屑
439
在线时间
21 小时
注册时间
2012-5-23
回帖
3
 楼主| 发表于 2013-3-30 09:17:50 | 显示全部楼层
j433463 发表于 2013-3-30 00:22
菜单栏显示半身像,可以试试加上这个:

#------------------------------------------------------------- ...

但是……测试的时候跳出了这个TAT
语法错误是个毛啊TAT
未命名.jpg
回复

使用道具 举报

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2013-3-30 09:22:11 | 显示全部楼层
本帖最后由 j433463 于 2013-3-30 09:24 编辑

您不会把行号也放到脚本去了吧?请擅用代码框右上角的复制,点击它把脚本放入剪贴簿,再贴到您的脚本编辑器,不要直接用滑鼠拖拉。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

梦石
0
星屑
439
在线时间
21 小时
注册时间
2012-5-23
回帖
3
 楼主| 发表于 2013-3-30 09:27:54 | 显示全部楼层
j433463 发表于 2013-3-30 09:22
您不会把行号也放到脚本去了吧?请擅用代码框右上角的复制,点击它把脚本放入剪贴簿,再贴到您的脚本编辑器 ...

我点的就是右上角的复制……但是没用TAT只好自己手动复制了
换个浏览器试试
回复

使用道具 举报

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2013-3-30 09:38:23 | 显示全部楼层
可能是 javascript 被浏览器禁用,像是我的 firefox 有用到 noscript,必须把 66rpg 的网域设为允许,点复制才有作用。
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

梦石
0
星屑
439
在线时间
21 小时
注册时间
2012-5-23
回帖
3
 楼主| 发表于 2013-3-30 09:39:59 | 显示全部楼层
j433463 发表于 2013-3-30 09:38
可能是 javascript 被浏览器禁用,像是我的 firefox 有用到 noscript,必须把 66rpg 的网域设为允许,点复 ...

把行号删掉后没出现语法错误了但是……没效果啊TAT
回复

使用道具 举报

梦石
0
星屑
50
在线时间
687 小时
注册时间
2012-10-29
回帖
1526
发表于 2013-3-30 10:08:38 | 显示全部楼层
本帖最后由 j433463 于 2013-3-31 01:02 编辑

您的图档名是 player_001.png 这样的吗?这代表 1 号角色,player_002.png 代表 2 号角色,类推。

而且我预设的图是放在 Graphics/Party/ 目录内的,如果您的图放在 Graphics/Pictures/ 目录下,要修改正确喔!



修改了一下,上面红色结尾的 / 不能省略。






喔!对了,我忘了一件重要的小细节,您还要在脚本的 def refresh 或 def update 中,加上一行:

[pre lang="ruby" line="1"]draw_player[/pre]

让脚本刷新时执行描画立绘的工作,不然图确实看不到,因为不执行这一步,脚本不会去动手画图,

很不好意思道个歉,脚本改久了,一些小细节成了习惯动作,自然而然会去做,就忽略了它的存在...
修改劇本中,仔細審查原來的劇情大綱,覺得有點不太滿意,嘗試編寫不同主角不同主線的劇情,希望能寫得出來。
回复

使用道具 举报

梦石
0
星屑
48
在线时间
331 小时
注册时间
2012-5-4
回帖
117
发表于 2013-4-3 22:40:07 | 显示全部楼层
这里有一个,立绘半身像都行。
先是:
[pre lang="ruby" line="1"]#==============================================================================
# ■ VXAce-RGSS3-14 立ち絵ステータス  [Ver1.0.0]    by Claimh
#------------------------------------------------------------------------------
# ステータス画面に立ち絵を追加します
#------------------------------------------------------------------------------
# 立ち絵は Graphics/Pictures 以下の
# Actor{アクターID} を表示します(アクター1 : Actor1.png)
#------------------------------------------------------------------------------
# ●立ち絵の変更
#   $game_actors[アクターID].picture = "ファイル名"
#==============================================================================



#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
  #--------------------------------------------------------------------------
  # ● アクターの立ち絵描画
  #--------------------------------------------------------------------------
  def draw_actor_picture(actor, x, y, enabled = true)
    bitmap = Cache.picture(actor.picture)
    rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
    bitmap.dispose
  end
end

#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor :picture             # 立ち絵(277x288)
  #--------------------------------------------------------------------------
  # ● セットアップ
  #--------------------------------------------------------------------------
  alias setup_picture setup
  def setup(actor_id)
    setup_picture(actor_id)
    @picture = "Actor#{actor_id}"
  end
end

#==============================================================================
# ■ Window_Status
#==============================================================================
class Window_Status < Window_Selectable
  #--------------------------------------------------------------------------
  # ● ブロック 1 の描画
  #--------------------------------------------------------------------------
  alias draw_block1_picture draw_block1
  def draw_block1(y)
    draw_actor_picture(@actor, 0, contents_height-480, false)
    draw_block1_picture(y)
  end
end[/pre]



然后再来:
[pre lang="ruby" line="1"]#==============================================================================
# ■ VXAce-RGSS3-14 立ち絵ステータス(2ページ目)  [Ver1.0.0]    by Claimh
#------------------------------------------------------------------------------
# ステータス画面に2ページ目を追加します。
# 2ページ目にはスキルリストを表示します。
#==============================================================================

#==============================================================================
# ■ Window_Status
#==============================================================================
class Window_Status < Window_Selectable
  MAX_PAGE = 2 # 最大ページ数
  #--------------------------------------------------------------------------
  # ● リフレッシュ(1ページ目)
  #--------------------------------------------------------------------------
  alias refresh_picst refresh
  def refresh
    @page = 0
    refresh_picst
  end
  #--------------------------------------------------------------------------
  # ● 次のページへ
  #--------------------------------------------------------------------------
  def next_page
    case ((@page + 1) % MAX_PAGE)
    when 0; refresh
    when 1; refresh2
    end
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ(2ページ目)
  #--------------------------------------------------------------------------
  def refresh2
    @page = 1
    contents.clear
    draw_actor_picture(@actor, 0, contents_height-350)
    draw_block1_picture(line_height * 0)
    draw_horz_line     (line_height * 1)
    draw_page2_block2  (line_height * 2)
  end
  #--------------------------------------------------------------------------
  # ● 2ページ目 block2 (スキルリスト)
  #--------------------------------------------------------------------------
  def draw_page2_block2(y)
    max = (contents_height - y) / line_height
    @actor.skills.each_index do |i|
      yy = y + i * line_height
      return if max >= yy
      draw_item_name(@actor.skills, 288, yy)
    end
  end
end


#==============================================================================
# ■ Scene_Status
#==============================================================================
class Scene_Status < Scene_MenuBase
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias start_picst start
  def start
    start_picst
    @status_window.set_handler(:ok,   method(:next_page))
  end
  #--------------------------------------------------------------------------
  # ● 次のページへ
  #--------------------------------------------------------------------------
  def next_page
    @status_window.next_page
    @status_window.activate
  end
end
[/pre]

试试吧。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部