注册会员 登录
Project1 返回首页

j433463的个人空间 https://rpg.blue/?312267 [收藏] [复制] [分享] [RSS]

日志

修改小筆記 part.4

已有 601 次阅读2013-1-13 03:31 |个人分类:腳本修改筆記

這是記錄修改心得的筆記,非本人請勿私自轉載,非商業用途請隨意使用於您的游戲中,真要用在商業游戲上我也拿您沒辦法。

1. LNX11a 戰鬥系統增加角色戰鬥圖的立繪選項。

 LNX11a 戰鬥系統是基礎核心,LNX11b 是介面文字圖形化的擴展,LNX11p 是另一種圖形化擴展,兩個擴展差別只在於畫面佈置不同,但不管怎麼說,這個號稱 RMXP 風格的戰鬥系統中,玩家的角色戰鬥圖顯示方式只有臉圖和行走圖兩種,卻不能用 RMXP 默認的全身直立戰鬥圖,沒辦法,只好自己動手加上去了。

 先是打開 LNX11a 配置腳本,就是一堆設定的那個,在基本設定那一項,0 是臉圖,1 是行走圖,我加上 2 為立繪戰鬥圖,所以

  DEFAULT_BATTLER_GRAPHIC = 2  # 規定値:0

 然後,打開 LNX11a 戰鬥腳本,找到 def default_battler_graphic 定義區塊,加上

  when 2
    self.facebattler = draw_sbattler("battler_", id)

 接下來,找個好位置,加上全身戰鬥圖的描畫方法:

  #--------------------------------------------------------------------------
  # ● [追加]: 全身戰鬥圖繪製返回
  #  額外增加的立繪圖形繪製
  #--------------------------------------------------------------------------
  def draw_sbattler(sbattler_name, sbattler_index)
    return unless sbattler_name
    bitmap = Cache.load_bitmap("Graphics/battlers/", sbattler_name + sbattler_index.to_s)
    bw = bitmap.width
    bh = bitmap.height
    rect =  Rect.new(0, 0, bw, bh)
    sbattler = Bitmap.new(bw, bh)
    color = LNX11::DEFAULT_BG_COLOR
    sbattler.gradient_fill_rect(sbattler.rect, color[0], color[1], true)
    sbattler.blt(0, 0, bitmap, rect)
    bitmap.dispose
    sbattler
  end

  全身戰鬥圖是設置放在 Graphics/battlers/ 下,它的檔名格式是

  battler_1.png
  battler_2.png

 這檔名中的 1 2 數字是數據庫中玩家角色的ID,battle_1.png 對應 1 號角色,battle_2.png 對應 2 號角色,所以只要檔名對應正確,在戰鬥開始時出現的就是正確的玩家角色全身戰鬥圖,如果改變了數據庫中的角色前後順序,角色ID改變,戰鬥圖的檔名數字也要對照著改,免得顯示出錯。

 這樣就更有 RMXP 的戰鬥風味了。

2. 給柳之一的截圖存檔腳本加上背景圖

 我在 66rpg 論壇這兒發帖問過,但沒有人回應,直到帖子被設置為過期帖,只好自己研究,最後還是靠自己解決。

 打開截圖存檔腳本,找到 class Scene_File < Scene_MenuBase 在 def start 的 super 下方加入

  create_background

 並且在 end 下加上

  #--------------------------------------------------------------------------
  # ● 生成背景
  #--------------------------------------------------------------------------
  def create_background
    @background_sprite = Sprite.new
    @background_sprite.bitmap = Cache.load_bitmap("Graphics/Titles1/","BG day 28")
    @background_sprite.color.set(0, 0, 0, 0)
  end
  #--------------------------------------------------------------------------
  # ● 結束背景
  #--------------------------------------------------------------------------
  def dispose_background
    @background_sprite.dispose
  end

 使用 load_bitmap 取圖的方式,要設定圖檔路徑,"Graphics/Titles1/" 是預設位置,可以自己改,BG day 28是圖檔名,請自行改成自己用的圖檔名。

 往下看到 def terminate 了,在它的 super 下方加上

  dispose_background

 完工!


3. 地圖名稱顯示的修改

 Window_MapName 地圖名顯示默認是進入游戲時在地圖上不會顯示的,要場所轉移後才會出現,而且淡入後淡出,只會出現一段很短的時間。

 那如果要在地圖上一進入游戲就有地圖名顯示,就要改初始化 def initialize 的

  self.contents_opacity = 255 #0 <- 預設值

 將不透明度設為 255,進入游戲時就會看到地圖名了,但這樣子地圖名仍然只會出現一段很短的時間就消失,因為淡出改變了不透明度的關係,所以要在更新淡出的地方也修改一下,找到 def update_fadeout 後改

  #self.contents_opacity -= 16

 把它註解掉就行了,可是,奇怪,怎麼每次場所轉移時地圖名都會閃一下?因為開啟地圖名窗口的時候,不透明度是 0,所以也要去改一下。

 找到 def open 改

  self.contents_opacity = 255 #0 <- 預設值 

 這樣不透明度設為 255 了,場所轉移時地圖名顯示自然不會再閃爍,不過,更新淡入的地方最好也把它注釋掉,不然場所轉移更新畫面時,淡入一直加不透明度值,不知道會不會造成溢位問題,為了保險,還是找到 def update_fadein 改

  #self.contents_opacity += 16

 OK!地圖名會一直保持在地圖上,如果地圖設置中顯示名稱是空的,地圖名就不顯示,不是空的就顯示。

 但是,這地圖名位置是在左上角,我要放在右下角,那就改

  super(0, 0, window_width, fitting_height(1))

 0, 0 就是地圖名子窗口的 x, y 座標,都改成

    super(Graphics.width - window_width, Graphics.height - fitting_height(1), window_width, fitting_height(1))

 地圖名稱就顯示在左下角了,如果說,地圖名稱窗口中的字,我不要置中,要靠左或靠右怎麼做?找到重新整理 def refresh 中改

  draw_text(contents.rect, $game_map.display_name, 2)

 數字 2 是靠右,數字 0 是靠左,而數字 1 是置中,下面的例圖是畫面右下角顯示地圖名,文字靠右的結果:


 想要使用自定的背景怎麼做?首先,準備一張地圖名窗口大小的背景圖,預設的地圖名窗口寬度是 240,高度是 24,扣去左右邊距,實際背景圖的寬度應該是 216,所以製作一張 216*24 的背景圖:


 把背景圖放入 Graphics/Pictures 下,取檔名為 mapname_bg.png

 再把 Window_MapName 繪製背景的 def draw_gackground(rect) 整段內容注釋掉,改成:

  def draw_background(rect)
    p rect.width
    bitmap = Cache.load_bitmap("Graphics/Pictures/", "mapname_bg")
    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

 看看執行測試結果:


 要是再配合修改小筆記 part.2 的雙地圖名美化修改方式,其實地圖名顯示能夠改得千變萬化,只有想不到,沒有做不出來的效果。

评论 (0 个评论)

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

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

GMT+8, 2024-4-19 22:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部