Project1

标题: 关于VA半身像的脚本TATTTTTTTT [打印本页]

作者: 阿夏君    时间: 2013-3-29 23:39
标题: 关于VA半身像的脚本TATTTTTTTT
跪地求
找了好久都没找到TAT
不然就是没看懂……
主要是菜单栏的要显示半身像……TAT战斗半身像都是其次
作者: j433463    时间: 2013-3-30 00:22
菜单栏显示半身像,可以试试加上这个:

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



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

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



其实这个也可以用在战斗中的,只不过要懂得怎么改,放在哪个位置而已。
作者: 阿夏君    时间: 2013-3-30 09:17
j433463 发表于 2013-3-30 00:22
菜单栏显示半身像,可以试试加上这个:

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

但是……测试的时候跳出了这个TAT
语法错误是个毛啊TAT

未命名.jpg (15.02 KB, 下载次数: 48)

未命名.jpg

作者: j433463    时间: 2013-3-30 09:22
本帖最后由 j433463 于 2013-3-30 09:24 编辑

您不会把行号也放到脚本去了吧?请擅用代码框右上角的复制,点击它把脚本放入剪贴簿,再贴到您的脚本编辑器,不要直接用滑鼠拖拉。
作者: 阿夏君    时间: 2013-3-30 09:27
j433463 发表于 2013-3-30 09:22
您不会把行号也放到脚本去了吧?请擅用代码框右上角的复制,点击它把脚本放入剪贴簿,再贴到您的脚本编辑器 ...

我点的就是右上角的复制……但是没用TAT只好自己手动复制了
换个浏览器试试
作者: j433463    时间: 2013-3-30 09:38
可能是 javascript 被浏览器禁用,像是我的 firefox 有用到 noscript,必须把 66rpg 的网域设为允许,点复制才有作用。
作者: 阿夏君    时间: 2013-3-30 09:39
j433463 发表于 2013-3-30 09:38
可能是 javascript 被浏览器禁用,像是我的 firefox 有用到 noscript,必须把 66rpg 的网域设为允许,点复 ...

把行号删掉后没出现语法错误了但是……没效果啊TAT
作者: j433463    时间: 2013-3-30 10:08
本帖最后由 j433463 于 2013-3-31 01:02 编辑

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

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



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






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

RUBY 代码复制
  1. draw_player


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

很不好意思道个歉,脚本改久了,一些小细节成了习惯动作,自然而然会去做,就忽略了它的存在...
作者: wshzya    时间: 2013-4-3 22:40
这里有一个,立绘半身像都行。
先是:
RUBY 代码复制
  1. #==============================================================================
  2. # ■ VXAce-RGSS3-14 立ち絵ステータス  [Ver1.0.0]    by Claimh
  3. #------------------------------------------------------------------------------
  4. # ステータス画面に立ち絵を追加します
  5. #------------------------------------------------------------------------------
  6. # 立ち絵は Graphics/Pictures 以下の
  7. # Actor{アクターID} を表示します(アクター1 : Actor1.png)
  8. #------------------------------------------------------------------------------
  9. # ●立ち絵の変更
  10. #   $game_actors[アクターID].picture = "ファイル名"
  11. #==============================================================================
  12.  
  13.  
  14.  
  15. #==============================================================================
  16. # ■ Window_Base
  17. #==============================================================================
  18. class Window_Base < Window
  19.   #--------------------------------------------------------------------------
  20.   # ● アクターの立ち絵描画
  21.   #--------------------------------------------------------------------------
  22.   def draw_actor_picture(actor, x, y, enabled = true)
  23.     bitmap = Cache.picture(actor.picture)
  24.     rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  25.     contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  26.     bitmap.dispose
  27.   end
  28. end
  29.  
  30. #==============================================================================
  31. # ■ Game_Actor
  32. #==============================================================================
  33. class Game_Actor < Game_Battler
  34.   #--------------------------------------------------------------------------
  35.   # ● 公開インスタンス変数
  36.   #--------------------------------------------------------------------------
  37.   attr_accessor :picture             # 立ち絵(277x288)
  38.   #--------------------------------------------------------------------------
  39.   # ● セットアップ
  40.   #--------------------------------------------------------------------------
  41.   alias setup_picture setup
  42.   def setup(actor_id)
  43.     setup_picture(actor_id)
  44.     @picture = "Actor#{actor_id}"
  45.   end
  46. end
  47.  
  48. #==============================================================================
  49. # ■ Window_Status
  50. #==============================================================================
  51. class Window_Status < Window_Selectable
  52.   #--------------------------------------------------------------------------
  53.   # ● ブロック 1 の描画
  54.   #--------------------------------------------------------------------------
  55.   alias draw_block1_picture draw_block1
  56.   def draw_block1(y)
  57.     draw_actor_picture(@actor, 0, contents_height-480, false)
  58.     draw_block1_picture(y)
  59.   end
  60. end




然后再来:
RUBY 代码复制
  1. #==============================================================================
  2. # ■ VXAce-RGSS3-14 立ち絵ステータス(2ページ目)  [Ver1.0.0]    by Claimh
  3. #------------------------------------------------------------------------------
  4. # ステータス画面に2ページ目を追加します。
  5. # 2ページ目にはスキルリストを表示します。
  6. #==============================================================================
  7.  
  8. #==============================================================================
  9. # ■ Window_Status
  10. #==============================================================================
  11. class Window_Status < Window_Selectable
  12.   MAX_PAGE = 2 # 最大ページ数
  13.   #--------------------------------------------------------------------------
  14.   # ● リフレッシュ(1ページ目)
  15.   #--------------------------------------------------------------------------
  16.   alias refresh_picst refresh
  17.   def refresh
  18.     @page = 0
  19.     refresh_picst
  20.   end
  21.   #--------------------------------------------------------------------------
  22.   # ● 次のページへ
  23.   #--------------------------------------------------------------------------
  24.   def next_page
  25.     case ((@page + 1) % MAX_PAGE)
  26.     when 0; refresh
  27.     when 1; refresh2
  28.     end
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● リフレッシュ(2ページ目)
  32.   #--------------------------------------------------------------------------
  33.   def refresh2
  34.     @page = 1
  35.     contents.clear
  36.     draw_actor_picture(@actor, 0, contents_height-350)
  37.     draw_block1_picture(line_height * 0)
  38.     draw_horz_line     (line_height * 1)
  39.     draw_page2_block2  (line_height * 2)
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 2ページ目 block2 (スキルリスト)
  43.   #--------------------------------------------------------------------------
  44.   def draw_page2_block2(y)
  45.     max = (contents_height - y) / line_height
  46.     @actor.skills.each_index do |i|
  47.       yy = y + i * line_height
  48.       return if max >= yy
  49.       draw_item_name(@actor.skills[i], 288, yy)
  50.     end
  51.   end
  52. end
  53.  
  54.  
  55. #==============================================================================
  56. # ■ Scene_Status
  57. #==============================================================================
  58. class Scene_Status < Scene_MenuBase
  59.   #--------------------------------------------------------------------------
  60.   # ● 開始処理
  61.   #--------------------------------------------------------------------------
  62.   alias start_picst start
  63.   def start
  64.     start_picst
  65.     @status_window.set_handler(:ok,   method(:next_page))
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # ● 次のページへ
  69.   #--------------------------------------------------------------------------
  70.   def next_page
  71.     @status_window.next_page
  72.     @status_window.activate
  73.   end
  74. end


试试吧。




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