LV. 1
GP 10

【問題】請問如何更改角色的鏡像/水面倒影的行走圖?

樓主 白忘川 jen6895723
GP0 BP-
嗨大家,對、又是我,那個問題一堆的煩人小菜鳥
這差不多要變成我的開場白了,一直擾民真的很不好意思但我的問題真的好多(掩面)

咳咳、進入正題,就如標題所言,我希望做出人物的鏡像&倒影跟他本來的行走圖不同的效果,於是我找到了RMXP的倒影/鏡像腳本,也看到了RMVA的鏡子腳本,可是前者似乎不能更換行走圖,而後者雖然能換行走圖但只有鏡子,又是VA版本的我不能用,所以想問問有沒有好心人能幫幫忙> <

P.S.雖然不知道有沒有用,不過類似後者提過的多圖層系統,我是用這個,給大家當參考~
0
-
LV. 17
GP 17
2 樓 洛可C cubag448
GP2 BP-
改造腳本要先懂一些術語,可以參考Q—S.T大寫的RGSS改造基礎知識
我先提供一些步驟和想法,之後如果想做其他改造也可以參考。

想要改造生成的鏡像圖,
我們首先要知道生成行走圖的類是Sprite_Character。
而鏡像圖就是產生一個與面向相反的行走圖,
由此推斷達成鏡像效果應該是定義在Sprite_Character這個類。

接著,在鏡像腳本裡找到class Sprite_Character < RPG::Sprite
裡面是作者定義生成鏡像的精靈叫@mirror_sprite,找到後改造就容易了

def mirror_set是定義鏡像的初始狀態的函數
下面發現@mirror_sprite = self.dup
dup是作者自己定義的函數,搜尋下def dup,
內容是獲取原本行走圖的資料來生成鏡像圖,
那麼,只要在這邊改變獲取的資料就好了
在@mirror_sprite = self.dup下面加入以下
if @character.id == 0 && $game_switches[1] == true
    @mirror_sprite.bitmap = RPG::Cache.character("002-Fighter02",
    @character.character_hue)
end

這邊的用意是如果角色是主角(@character.id為0)且1號開關為ON
將鏡像圖轉為"002-Fighter02"這張圖,你可以自己更改
你甚至可以自己定義一個專門用來記錄鏡像圖名稱的變數
但我覺得太麻煩,用到的場合不多的話這樣就好了

再來發現一個問題,假如行走圖是A鏡像圖是B,
A和B大小不一樣的話顯示會出錯,
這是因為生成的鏡像圖B是以A的長寬去做切割(把平常行走圖4X4切一張顯示)
需要更改鏡像圖切割的依據也就是@cw、@ch
這邊要注意前面有@的是實體變量,
在Sprite_Character類裡面顯示行走圖會用到
不能直接更改,於是另外定義一個局部變量

在剛剛加入的程式下面加上
cw = @mirror_sprite.bitmap.width / 4
ch = @mirror_sprite.bitmap.height / 4
@mirror_sprite.ox = cw / 2
@mirror_sprite.oy = ch
這邊的cw、ch是我定義的鏡像切割範圍
接著把下面用到實體變量的@cw、@ch改為剛剛定義的cw、ch,如下
sx = @character.pattern * cw
sy = (direction - 2) / 2 * ch
@mirror_sprite.src_rect.set(sx, sy, cw, ch)

然後在def update_mirror負責處理update的函數做下變更
cw = @mirror_sprite.bitmap.width / 4
ch = @mirror_sprite.bitmap.height / 4
@mirror_sprite.ox = cw / 2
@mirror_sprite.oy = ch
sx = @character.pattern * cw
sy = (direction - 2) / 2 * ch
@mirror_sprite.src_rect.set(sx, sy, cw, ch)
這樣part1就完成了,是的後面還有

我看了VA版的鏡像範例做得非常細緻,
即使角色遠離鏡像2格還是能露出半個頭,
或是小鏡子能露出半個身。
XP的角色離開鏡子左右一格鏡像會突然消失
這是這個腳本本身的問題,要做到VA那樣需要多圖層腳本
哈哈,真的用的到欸XD 有空的話我再整理一下作法
2
-
LV. 1
GP 10
3 樓 白忘川 jen6895723
GP0 BP-
因為間隔時間太短不想洗版所以直接在這篇下面問了……我在測試遊戲時,發現有個神祕的箭頭一直在對話框上,看起來好不雅觀,如果把對話框寬度設成640它會消失,但我想要設480呀(因為要置中)
請問該如何解決呢?
以下是RGSS&處理過的遊戲截圖:

0
-
未登入的勇者,要加入 4 樓的討論嗎?
板務人員:

2685 筆精華,12/08 更新
一個月內新增 4
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】