赞 | 14 |
VIP | 0 |
好人卡 | 3 |
积分 | 73 |
经验 | 8295 |
最后登录 | 2024-8-24 |
在线时间 | 1690 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 7290
- 在线时间
- 1690 小时
- 注册时间
- 2017-4-28
- 帖子
- 85
|
嗯,我确实说过。 然后6L也给了脚本,因为只有一张浏览图,所以我没看出什么效果。
因为那时候没亲自去测试,所以当时判断得很果断。。
然后呢,如果我。某些情况下不想使用这样的功能的话,也不知道该怎么办。
毕竟脚本盲,因为我本来就不擅长写代码。。。 抱歉。
那個腳本大部分都是4樓/11樓為你寫的
基於我的理解,viewport好像一塊畫板,默認地圖跟事件都預設畫在同一塊畫板上面
RM的地圖色調改變其實是畫板的色調改變,所以它們會一起變。
一開始你的要求是 "單純的更改地圖的色調, 主角以及事件均不受影響"。 所以11樓為你增加了一塊畫板,事件都畫在這一塊不會變色的畫板上面。
基本上滿足了你一開始的要求。
後來發現你其實還是想改變事件的色調?
於是我在11樓的腳本上加上一個條件分岐,名字帶<c>的才畫在新畫板上面。
然後你現在想要一個取消腳本效果的開關?
寫一個開關不是問題,感覺要理解你真正想要的效果是什麼才是大問題..沒玩過什麼UT..
- module CANOITE_VIEWPORT
-
- CAONITE_SWITCHES_ID = 1 #系統開關編號
-
- end
- class Game_Event
- attr_reader :name
-
- def name
- return @event.name
- end
- end
- class Spriteset_Map
- def create_viewports
- @viewport1 = Viewport.new
- @viewportX = Viewport.new
- @viewport2 = Viewport.new
- @viewport3 = Viewport.new
- @viewportX.z = 25
- @viewport2.z = 50
- @viewport3.z = 100
- end
- def create_characters
- @viewportX = @viewport1 if $game_switches[CANOITE_VIEWPORT::CAONITE_SWITCHES_ID] != true
- @character_sprites = []
- $game_map.events.values.each do |event|
- if event.name =~ /<c>/i
- @character_sprites.push(Sprite_Character.new(@viewportX, event))
- else
- @character_sprites.push(Sprite_Character.new(@viewport1, event))
- end
- end
- $game_map.vehicles.each do |vehicle|
- @character_sprites.push(Sprite_Character.new(@viewportX, vehicle))
- end
- $game_player.followers.reverse_each do |follower|
- @character_sprites.push(Sprite_Character.new(@viewportX, follower))
- end
- @character_sprites.push(Sprite_Character.new(@viewportX, $game_player))
- @map_id = $game_map.map_id
- end
-
- def update_viewports
- @viewport1.tone.set($game_map.screen.tone)
- @viewport1.ox = $game_map.screen.shake
- @viewportX.ox = $game_map.screen.shake
- @viewport2.color.set($game_map.screen.flash_color)
- @viewport3.color.set(0, 0, 0, 255 - $game_map.screen.brightness)
- @viewport1.update
- @viewportX.update
- @viewport2.update
- @viewport3.update
- end
-
- def dispose_viewports
- @viewport1.dispose
- @viewport2.dispose
- @viewport3.dispose
- @viewportX.dispose
- end
- end
复制代码
預設開關 1 開啟/結束 腳本效果
不過已經畫在畫板上的事件還得重畫一次才行
開啟腳本效果的場合,於事件中陷入腳本
- $game_switches[CANOITE_VIEWPORT::CAONITE_SWITCHES_ID] = true
- SceneManager.call(Scene_Map)
复制代码
結束腳本效果的場合,於事件中陷入腳本
- $game_switches[CANOITE_VIEWPORT::CAONITE_SWITCHES_ID] = false
- SceneManager.call(Scene_Map)
复制代码
開關的時候畫面會頓一下, 這個在下解決不了
如果這個腳本不能滿足你,只能說在下沒本事解決你的問題 |
评分
-
查看全部评分
|